51
V1/led.sh
Executable file
51
V1/led.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
# usage: led.sh <port>
|
||||
set -o xtrace
|
||||
|
||||
# config default
|
||||
GPIO_PORT="${1:-18}"
|
||||
|
||||
function export_port() {
|
||||
port="${1}"
|
||||
echo "${port}" > /sys/class/gpio/export
|
||||
}
|
||||
function unexport_port() {
|
||||
port="${1}"
|
||||
echo "${port}" > /sys/class/gpio/unexport
|
||||
}
|
||||
|
||||
function set_direction() {
|
||||
port="${1}"
|
||||
value="${2}"
|
||||
echo "${value}" > "/sys/class/gpio/gpio${port}/direction"
|
||||
}
|
||||
|
||||
function set_value() {
|
||||
port="${1}"
|
||||
value="${2}"
|
||||
echo "${value}" > "/sys/class/gpio/gpio${port}/value"
|
||||
}
|
||||
|
||||
function on() {
|
||||
port="${1}"
|
||||
set_value "${port}" "0"
|
||||
}
|
||||
function off() {
|
||||
port="${1}"
|
||||
set_value "${port}" "1"
|
||||
}
|
||||
|
||||
# set exit trap
|
||||
trap 'unexport_port "${GPIO_PORT}"' EXIT
|
||||
|
||||
# init GPIO port
|
||||
export_port "${GPIO_PORT}"
|
||||
set_direction "${GPIO_PORT}" "out"
|
||||
|
||||
# loop led on/off
|
||||
while true; do
|
||||
on "${GPIO_PORT}"
|
||||
sleep 1
|
||||
off "${GPIO_PORT}"
|
||||
sleep 1
|
||||
done
|
||||
Reference in New Issue
Block a user