diff options
Diffstat (limited to 'magickindle/bin/start.sh')
| -rw-r--r-- | magickindle/bin/start.sh | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/magickindle/bin/start.sh b/magickindle/bin/start.sh new file mode 100644 index 0000000..4b260ad --- /dev/null +++ b/magickindle/bin/start.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# redirect stderr and stdout to file +exec >> /mnt/us/log 2>&1 + +# kill other instances of this script +me=$$ +ps -ef | grep 'start.sh' | awk -v me=$me '$2 != me {print $2}' | xargs kill + +echo "$(date) starting" + +update_screensaver() { + echo "$(date) downloading screensaver" + + #echo "$(date) enabling wifi" + #lipc-set-prop com.lab126.cmd wirelessEnable 1 + for i in 1 2 3 4 5 + do + curl "CHANGETHIS.png" --output /mnt/us/screensaver.png --fail --silent --show-error && break + sleep 10 + done + # turning off wireless during ready to suspend causes issues with Kindle Wifi + # - the Kindle forgets the gateway, the configuration gets desynced, + # leading to the Kindle being connected but having no network + #echo "$(date) disabling wifi" + #lipc-set-prop com.lab126.cmd wirelessEnable 0 + + echo "$(date) updating screen" + eips -f -g /mnt/us/screensaver.png +} + +LAST_UPDATE=0 +lipc-wait-event -m com.lab126.powerd goingToScreenSaver,readyToSuspend | while read event +do + echo "$(date) event $event" + + # throttle to 1/minute + NOW=$(date +%s) + if [ "$(($NOW - $LAST_UPDATE))" -ge 60 ] + then + # run in background so loop is not blocked + update_screensaver & + fi + LAST_UPDATE=$NOW + + case "$event" in + # event looks like "goingToScreenSaver 7" so use a regex + readyToSuspend*) + echo "$(date) scheduling wakeup" + # must be called within 5s after readyToSuspend + # 60s until screensaver + 29min sleep + lipc-set-prop -i com.lab126.powerd rtcWakeup 1740 + ;; + goingToScreenSaver*) + ;; + esac + echo "$(date) waiting for next event" +done; + |
