#!/bin/bash # TACT SW 1 sudo config-pin P8_45 gpio >/dev/null # LED 1 sudo config-pin P8_46 gpio >/dev/null # init sudo gpioset gpiochip2 7=0 GPIOSET_PID="" SW=1 # input loop while read line do event=`echo ${line} | sed -n 's/.*\(RISING\|FALLING\) EDGE.*/\1/p'` echo "*** ${event} ***" if [ "${event}" = "RISING" ]; then if [ -n "${GPIOSET_PID}" ]; then sudo kill "${GPIOSET_PID}" 2>/dev/null fi sudo gpioset --mode=signal gpiochip2 7=${SW} & GPIOSET_PID=$! if [ "${SW}" -eq 1 ]; then SW=0 else SW=1 fi fi done < <(sudo stdbuf -oL gpiomon gpiochip2 6)