mirror of
https://github.com/brain-hackers/buildbrain
synced 2024-12-22 04:00:11 +09:00
Enhance blink.sh
This commit is contained in:
parent
b561fdaec9
commit
ce8d780b33
@ -1,10 +1,51 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -u
|
set -u
|
||||||
|
|
||||||
if [ $# -ne 3 ]; then
|
VERBOSE=0
|
||||||
echo "Usage: blink.sh RANGE_FROM RANGE_TO SLEEP"
|
PIN=""
|
||||||
exit 1
|
SLEEP=1
|
||||||
|
GPIOS=""
|
||||||
|
|
||||||
|
while getopts "hvr:p:s:" OPT; do
|
||||||
|
case "$OPT" in
|
||||||
|
h)
|
||||||
|
echo "Usage: blink.sh [-hv] [-r PIN_RANGE_FROM-PIN_RANGE_TO] [-p PIN] [-s SLEEP_SEC]"
|
||||||
|
echo "Example: blink.sh -r 0-10 -p 12"
|
||||||
|
echo " (blink from GPIO 0 to 10 and 12)"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
v)
|
||||||
|
VERBOSE=1
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
RE='^([0-9]+)-([0-9]+)$'
|
||||||
|
if echo $OPTARG | grep -qvE $RE; then
|
||||||
|
echo "Error: invalid range: $OPTARG"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
FROM=$(echo $OPTARG | sed -E "s/$RE/\\1/")
|
||||||
|
TO=$(echo $OPTARG | sed -E "s/$RE/\\2/")
|
||||||
|
GPIOS="$GPIOS$(seq -s " " $FROM $TO) "
|
||||||
|
;;
|
||||||
|
p)
|
||||||
|
if echo $OPTARG | grep -qvE "^[0-9]+$"; then
|
||||||
|
echo "Error: invalid pin number: $OPTARG"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
GPIOS="$GPIOS$OPTARG "
|
||||||
|
;;
|
||||||
|
s)
|
||||||
|
if echo $OPTARG | grep -qvE "^[0-9]+$"; then
|
||||||
|
echo "Error: invalid sleep duration: $OPTARG"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SLEEP=$OPTARG
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $VERBOSE -eq 1 ]; then
|
||||||
|
echo "Pins to iterate over: $GPIOS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$(id -u)" -ne "0" ]; then
|
if [ "$(id -u)" -ne "0" ]; then
|
||||||
@ -12,10 +53,6 @@ if [ "$(id -u)" -ne "0" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FROM=$1
|
|
||||||
TO=$2
|
|
||||||
SLEEP=$3
|
|
||||||
GPIOS=$(seq $FROM $TO)
|
|
||||||
AVAILABLE_GPIOS=""
|
AVAILABLE_GPIOS=""
|
||||||
|
|
||||||
export_gpio() {
|
export_gpio() {
|
||||||
@ -72,3 +109,4 @@ while [ 1 ]; do
|
|||||||
|
|
||||||
sleep $SLEEP
|
sleep $SLEEP
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user