added in GPIO led functionality
This commit is contained in:
25
scripts/blink
Normal file
25
scripts/blink
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source ./gpio
|
||||||
|
|
||||||
|
function blink()
|
||||||
|
{
|
||||||
|
local pin=$1
|
||||||
|
local speed=$2
|
||||||
|
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
gpio write $pin 1
|
||||||
|
sleep $speed
|
||||||
|
gpio write $pin 0
|
||||||
|
sleep $speed
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Just invoke our function if the script is called directly
|
||||||
|
if [ "$BASH_SOURCE" == "$0" ]; then
|
||||||
|
gpio mode $1 out
|
||||||
|
blink $@
|
||||||
|
fi
|
||||||
@@ -25,6 +25,22 @@ CARD_DEV="sd[ab]1" # Name of the storage card
|
|||||||
CARD_MOUNT_POINT="/media/card" # Mount point of the storage card
|
CARD_MOUNT_POINT="/media/card" # Mount point of the storage card
|
||||||
SHUTD="5" # Minutes to wait before shutdown due to inactivity
|
SHUTD="5" # Minutes to wait before shutdown due to inactivity
|
||||||
|
|
||||||
|
source ./gpio
|
||||||
|
source ./blink
|
||||||
|
|
||||||
|
gpio mode 5 out
|
||||||
|
gpio mode 6 out
|
||||||
|
gpio mode 13 out
|
||||||
|
gpio mode 19 out
|
||||||
|
gpio mode 26 out
|
||||||
|
|
||||||
|
gpio wirte 5 0
|
||||||
|
gpio write 6 0
|
||||||
|
gpio write 13 0
|
||||||
|
gpio write 19 0
|
||||||
|
gpio write 26 0
|
||||||
|
|
||||||
|
|
||||||
# Set the ACT LED to heartbeat
|
# Set the ACT LED to heartbeat
|
||||||
sudo sh -c "echo heartbeat > /sys/class/leds/led0/trigger"
|
sudo sh -c "echo heartbeat > /sys/class/leds/led0/trigger"
|
||||||
|
|
||||||
@@ -90,12 +106,16 @@ if [ ! -z "${CARD_READER[0]}" ]; then
|
|||||||
PERCENT=$(expr 100 \* $STORAGE_COUNT / $CARD_COUNT)
|
PERCENT=$(expr 100 \* $STORAGE_COUNT / $CARD_COUNT)
|
||||||
sudo sh -c "echo $PERCENT"
|
sudo sh -c "echo $PERCENT"
|
||||||
#IF STATEMENTS HERE FOR LEDS
|
#IF STATEMENTS HERE FOR LEDS
|
||||||
if [ $PERCENT -gt 25 ] && [ $PERCENT -lt 49 ]; then
|
if [ $PERCENT -lt 19 ]; then
|
||||||
sudo sh -c "echo 300 > /sys/class/leds/led0/delay_on"
|
gpio write 26 1
|
||||||
elif [ $PERCENT -gt 50 ] && [ $PERCENT -lt 74 ]; then
|
elif [ $PERCENT -gt 20 ] && [ $PERCENT -lt 39 ]; then
|
||||||
sudo sh -c "echo 200 > /sys/class/leds/led0/delay_on"
|
gpio write 19 1
|
||||||
elif [ $PERCENT -gt 75 ] && [ $PERCENT -lt 100 ]; then
|
elif [ $PERCENT -gt 40 ] && [ $PERCENT -lt 59 ]; then
|
||||||
sudo sh -c "echo 100 > /sys/class/leds/led0/delay_on"
|
gpio write 13 1
|
||||||
|
elif [ $PERCENT -gt 60 ] && [ $PERCENT -lt 79 ]; then
|
||||||
|
gpio write 6 1
|
||||||
|
elif [ $PERCENT -gt 80 ] && [ $PERCENT -lt 100 ]; then
|
||||||
|
gpio write 5 1
|
||||||
fi
|
fi
|
||||||
# then
|
# then
|
||||||
#LEDS
|
#LEDS
|
||||||
|
|||||||
55
scripts/gpio
Normal file
55
scripts/gpio
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Utility to control the GPIO pins of the Raspberry Pi
|
||||||
|
# Can be called as a script or sourced so that the gpio
|
||||||
|
# function can be called directly
|
||||||
|
|
||||||
|
function gpio()
|
||||||
|
{
|
||||||
|
local verb=$1
|
||||||
|
local pin=$2
|
||||||
|
local value=$3
|
||||||
|
|
||||||
|
local pins=($GPIO_PINS)
|
||||||
|
if [[ "$pin" -lt ${#pins[@]} ]]; then
|
||||||
|
local pin=${pins[$pin]}
|
||||||
|
fi
|
||||||
|
|
||||||
|
local gpio_path=/sys/class/gpio
|
||||||
|
local pin_path=$gpio_path/gpio$pin
|
||||||
|
|
||||||
|
case $verb in
|
||||||
|
read)
|
||||||
|
cat $pin_path/value
|
||||||
|
;;
|
||||||
|
|
||||||
|
write)
|
||||||
|
sudo sh -c "echo $value > $pin_path/value"
|
||||||
|
;;
|
||||||
|
|
||||||
|
mode)
|
||||||
|
if [ ! -e $pin_path ]; then
|
||||||
|
sudo sh -c "echo $pin > $gpio_path/export"
|
||||||
|
fi
|
||||||
|
sudo sh -c "echo $value > $pin_path/direction"
|
||||||
|
;;
|
||||||
|
|
||||||
|
state)
|
||||||
|
if [ -e $pin_path ]; then
|
||||||
|
local dir=$(cat $pin_path/direction)
|
||||||
|
local val=$(cat $pin_path/value)
|
||||||
|
echo "$dir $val"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
clean)
|
||||||
|
sudo sh -c "echo 0 > $pin_path/value"
|
||||||
|
sudo sh -c "echo $pin > $gpio_path/unexport"
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# Just invoke our function if the script is called directly
|
||||||
|
if [ "$BASH_SOURCE" == "$0" ]; then
|
||||||
|
gpio $@
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user