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