mirror of https://github.com/OpenIPC/firmware.git
parent
1200a1bef0
commit
56b39ddb45
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo -e '\nLoading resetd...'
|
||||||
|
/usr/sbin/resetd &
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Set Reset switch GPIO
|
||||||
|
GPIO=
|
||||||
|
|
||||||
|
[ -z $GPIO ] && echo "GPIO not set. Exiting" && echo "[resetd] GPIO undefined in /usr/sbin/resetd" > /dev/kmsg && exit
|
||||||
|
|
||||||
|
# Counter for button press until reset
|
||||||
|
count=0
|
||||||
|
|
||||||
|
# prepare the pin
|
||||||
|
if [ ! -d /sys/class/gpio/gpio${GPIO} ]; then
|
||||||
|
echo "${GPIO}" > /sys/class/gpio/export
|
||||||
|
echo "in" > /sys/class/gpio/gpio"${GPIO}"/direction
|
||||||
|
fi
|
||||||
|
|
||||||
|
# continuously monitor current value of reset switch
|
||||||
|
while [ true ]
|
||||||
|
do
|
||||||
|
if [ "$(cat /sys/class/gpio/gpio"${GPIO}"/value)" -eq 1 ]; then
|
||||||
|
count=0
|
||||||
|
else
|
||||||
|
count=$((count+1))
|
||||||
|
|
||||||
|
# 20 counts =~ 5 seconds @ 0.25 sleep intervals
|
||||||
|
if [ $count -eq 20 ]; then
|
||||||
|
echo 'RESETTING FIRMWARE'
|
||||||
|
firstboot
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# This interval uses 1% CPU. Less sleep = more CPU
|
||||||
|
sleep 0.25
|
||||||
|
done
|
Loading…
Reference in New Issue