script para manejar los GPIOs desconocidos

18 views
Skip to first unread message

dgcbueu

unread,
May 7, 2013, 8:16:30 AM5/7/13
to segurida...@googlegroups.com
No sé que usais cuando por ejemplo quereis manejar un gpio de forma cómoda. Desde la desaparición de gpioctl resulta engorroso, hay que hacer exports etc en sysfs.
Normalmente solo necesitamos manipularlos cuando añadimos soporte a placas nuevas para averiguar que gpio corresponde a cada led, etc.

De todas formas creo que a más de uno le interesará este script que encontré por ahí con alguna modificación mía menor.

#!bin/sh

show_usage()
{
printf "\ngpio.sh <gpio pin number> [in|out [<value>]]\n"
}

if [ \( $# -eq 0 \) -o \( $# -gt 3 \) ] ; then
show_usage
printf "\n\nERROR: incorrect number of parameters\n"
exit 255
fi

#doesn't hurt to export a gpio more than once
(echo $1 > /sys/class/gpio/export) >& /dev/null

if [ $# -eq 1 ] ; then
cat /sys/class/gpio/gpio$1/value
exit 0
fi

if [ \( "$2" != "in" \) -a \( "$2" != "out" \) ] ; then
show_usage
printf "\n\nERROR: second parameter must be 'in' or 'out'\n"
exit 255
fi

echo $2 > /sys/class/gpio/gpio$1/direction

if [ $# -eq 2 ] ; then
cat /sys/class/gpio/gpio$1/value
exit 0
fi


VAL=$3

if [ $VAL -ne 0 ] ; then
VAL=1
fi

echo $VAL > /sys/class/gpio/gpio$1/value



El funcionamiento es algo tal que así

gpio.sh 31 out 1

activa el gpio31

gpio.sh 31 in

configura como entrada el gpio31

gpio.sh 31

devuelve el valor

gpio.sh
Reply all
Reply to author
Forward
0 new messages