This repository has been archived on 2025-07-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
kindle-dashboard/on-device/start.sh
AKP 322b5d5d55
Alter 4 files
Update `drawing.go`
Add `install.sh`
Add `life-dashboard-init`
Add `start.sh`
2023-11-19 23:43:59 +00:00

67 lines
No EOL
2 KiB
Bash

#!/bin/sh
# Run via /etc/init.d/life-dashboard-init start
enable_wifi() {
lipc-set-prop com.lab126.cmd wirelessEnable 1
while ! lipc-get-prop com.lab126.wifid cmState | grep -q CONNECTED; do sleep 1; done
}
disable_wifi() { lipc-set-prop com.lab126.cmd wirelessEnable 0; }
cd /
/usr/sbin/mntroot rw
echo "Setting up low power usage"
/etc/init.d/framework stop
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
lipc-set-prop com.lab126.powerd preventScreenSaver 1
eips -c 12 19 "Starting polling / sleep" && eips 15 20 "Beginning in 30 seconds."
sleep 30
FILE="/kindle-dashboard.png"
echo -n "" > /last-etag
while true; do
echo "enabling wifi"
enable_wifi
echo "requesting image"
/usr/sbin/eips 0 39 "refreshing... "
RESP=$(/neocurl -s -H "If-None-Match: $(cat /last-etag)" -o $FILE -w '%{http_code} %header{etag}' 'http://kindle.platform.tdpain.net/image')
STATUS=$(echo $RESP | awk '{print $1}')
echo "Status is $STATUS"
ETAG=$(echo $RESP | awk '{print $2}')
echo "ETag header is $ETAG"
if [ "$STATUS" = "200" ] ; then
echo "image downloaded"
/usr/sbin/eips -c
/bin/fbink -g file=$FILE
echo -n "$ETAG" > /last-etag
elif [ "$STATUS" = "304" ] ; then
echo "no change"
else
/bin/fbink -pmM -y -8 "Endpoint request failed, exiting"
exit
fi
echo "disabling wifi"
disable_wifi
echo "writing stats"
let MAX_SLEEP=10*60
BATTERY_LEVEL=$(lipc-get-prop com.lab126.powerd battLevel)
let NEXT_REFRESH=$(($(date -d 23:59:59 +%s) - $(date +%s))) # seconds till midnight
if [ $NEXT_REFRESH -le 0 ] || [ $NEXT_REFRESH -ge $MAX_SLEEP ] ; then NEXT_REFRESH=$MAX_SLEEP; fi
let NEXT_REFRESH_minutes=$NEXT_REFRESH/60
/usr/sbin/eips 0 39 "r.$(date '+%F %H:%M') n.$NEXT_REFRESH_minutes b.$BATTERY_LEVEL"
echo "entering rtc sleep"
sleep 5
echo $NEXT_REFRESH > /sys/devices/platform/mxc_rtc.0/wakeup_enable
echo "mem" > /sys/power/state
done