From 7f7e251f96735ce0c9f377a2b2f2c71b0bcd55e7 Mon Sep 17 00:00:00 2001 From: jayfan0 <> Date: Sat, 1 Apr 2023 21:27:54 +0100 Subject: [PATCH] add gpio package --- general/overlay/usr/sbin/gpio | 68 +++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 general/overlay/usr/sbin/gpio diff --git a/general/overlay/usr/sbin/gpio b/general/overlay/usr/sbin/gpio new file mode 100644 index 00000000..567c6293 --- /dev/null +++ b/general/overlay/usr/sbin/gpio @@ -0,0 +1,68 @@ +#!/bin/sh + +help() { + echo "gpio " + echo "gpio " + echo "gpio read " +} + +exp() { + if [ ! -d /sys/class/gpio/gpio$1 ]; then + echo $1 > /sys/class/gpio/export + echo out > /sys/class/gpio/gpio$1/direction + elif [ $(cat /sys/class/gpio/gpio$1/direction) = "in" ]; then + echo Pin $1 is currently configured as input. Be careful! + exit 0 + fi +} + +write(){ + echo $1 > /sys/class/gpio/gpio$2/value +} + +read() { + echo $(cat /sys/class/gpio/gpio$1/value) +} + +unexport() { + if [ -d /sys/class/gpio/gpio$1 ]; then + echo $1 > /sys/class/gpio/unexport + fi +} + +if [ -n $1 ] && [ -n $2 ] && [ $2 -eq $2 ]; then + case $1 in + set) + exp $2 + write 1 $2 + ;; + + clear) + exp $2 + write 0 $2 + ;; + + toggle) + exp $2 + if [ read -eq 0 ]; then + write 1 $2 + else + write 0 $2 + fi + ;; + + unexport|release) + unexport $2 + ;; + + read) + echo $(read $2) + ;; + + *) + help + ;; + esac +else + help +fi \ No newline at end of file