slitaz-arm annotate rpi/pibrella @ rev 211
piboot: load clean initramfs
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Mar 27 19:04:14 2016 +0200 (2016-03-27) |
parents | |
children |
rev | line source |
---|---|
pankso@189 | 1 #!/bin/sh |
pankso@189 | 2 # |
pankso@189 | 3 # Pibrella - SliTaz Raspberry Pibrella SHell utility |
pankso@189 | 4 # |
pankso@189 | 5 # (C) 2014 SliTaz GNU/Linux - BSD License |
pankso@189 | 6 # |
pankso@189 | 7 . /lib/libtaz.sh |
pankso@189 | 8 check_root |
pankso@189 | 9 |
pankso@189 | 10 sysfs="/sys/class/gpio" |
pankso@189 | 11 |
pankso@189 | 12 # Pibrella Pins |
pankso@189 | 13 led_red=27 |
pankso@189 | 14 led_yellow=17 |
pankso@189 | 15 led_green=4 |
pankso@189 | 16 |
pankso@189 | 17 buzzer=18 |
pankso@189 | 18 |
pankso@189 | 19 usage() { |
pankso@189 | 20 cat << EOT |
pankso@189 | 21 |
pankso@189 | 22 $(boldify 'Usage:') $(basename $0) [command] [color] [seconds|on|off] |
pankso@189 | 23 |
pankso@189 | 24 $(boldify 'Commands:') |
pankso@189 | 25 testsuite $(gettext 'Run a small testsuite on Pibrella') |
pankso@189 | 26 led $(gettext 'Turn on/off LEDs or on for N seconds') |
pankso@189 | 27 |
pankso@189 | 28 EOT |
pankso@189 | 29 } |
pankso@189 | 30 |
pankso@189 | 31 # Usage: export_pin NB --> librpigpio.sh |
pankso@189 | 32 export_pin() { |
pankso@189 | 33 if [ ! -d "${sysfs}/gpio${1}" ]; then |
pankso@189 | 34 echo ${1} > ${sysfs}/export |
pankso@189 | 35 fi |
pankso@189 | 36 } |
pankso@189 | 37 |
pankso@189 | 38 case "$1" in |
pankso@189 | 39 |
pankso@189 | 40 testsuite) |
pankso@189 | 41 # LEDs |
pankso@189 | 42 for pin in ${led_red} ${led_yellow} ${led_green} |
pankso@189 | 43 do |
pankso@189 | 44 export_pin ${pin} |
pankso@189 | 45 echo "out" > ${sysfs}/gpio${pin}/direction |
pankso@189 | 46 echo "1" > ${sysfs}/gpio${pin}/value |
pankso@189 | 47 sleep 2 |
pankso@189 | 48 echo "0" > ${sysfs}/gpio${pin}/value |
pankso@189 | 49 done ;; |
pankso@189 | 50 |
pankso@189 | 51 led) |
pankso@189 | 52 case "$2" in |
pankso@189 | 53 r|red) pin=${led_red} ;; |
pankso@189 | 54 y|yellow) pin=${led_yellow} ;; |
pankso@189 | 55 g|green) pin= ${led_green} ;; |
pankso@189 | 56 esac |
pankso@189 | 57 case "$3" in |
pankso@189 | 58 on) echo "1" > ${sysfs}/gpio${pin}/value ;; |
pankso@189 | 59 off) echo "0" > ${sysfs}/gpio${pin}/value ;; |
pankso@189 | 60 *) |
pankso@189 | 61 sec="$3" |
pankso@189 | 62 [ "$sec" ] || sec=1 |
pankso@189 | 63 echo "1" > ${sysfs}/gpio${pin}/value |
pankso@189 | 64 sleep ${sec} |
pankso@189 | 65 echo "0" > ${sysfs}/gpio${pin}/value ;; |
pankso@189 | 66 esac ;; |
pankso@189 | 67 |
pankso@189 | 68 *) |
pankso@189 | 69 usage ;; |
pankso@189 | 70 |
pankso@189 | 71 esac |
pankso@189 | 72 exit 0 |