From 7c8da14252b8a6598b3844cc9097b595a267c68a Mon Sep 17 00:00:00 2001 From: Michel-FK Date: Tue, 3 Nov 2020 10:30:38 +0100 Subject: [PATCH] move current_battery_percentage file to /tmp Signed-off-by: Michel-FK --- .../rootfs-overlay/usr/games/settings.conf | 2 +- .../usr/local/sbin/low_bat_check | 98 ++++++++++--------- 2 files changed, 52 insertions(+), 48 deletions(-) diff --git a/FunKey/board/funkey/rootfs-overlay/usr/games/settings.conf b/FunKey/board/funkey/rootfs-overlay/usr/games/settings.conf index 4092384..2ee9e53 100644 --- a/FunKey/board/funkey/rootfs-overlay/usr/games/settings.conf +++ b/FunKey/board/funkey/rootfs-overlay/usr/games/settings.conf @@ -50,7 +50,7 @@ videoLoop = 0 ####################################### fileUsbConnected = /sys/class/power_supply/axp20x-usb/present #fileBatCapacity = /sys/class/power_supply/axp20x-battery/capacity -fileBatCapacity = /etc/current_battery_percentage +fileBatCapacity = /tmp/current_battery_percentage fileBatConnected = /sys/class/power_supply/axp20x-battery/present ####################################### diff --git a/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/low_bat_check b/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/low_bat_check index 142646c..37605e7 100755 --- a/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/low_bat_check +++ b/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/low_bat_check @@ -14,10 +14,12 @@ LOW_BAT_SECS_NOT_DISPLAYED=5 # Files and commands declaration USB_PRESENT_FILE=/sys/class/power_supply/axp20x-usb/present -#USB_PRESENT_FILE=/sys/class/power_supply/axp20x-ac/present # Cheat for no USB present simulation when debugging + +# Cheat for no USB present simulation when debugging +#USB_PRESENT_FILE=/sys/class/power_supply/axp20x-ac/present BAT_PRESENT_FILE=/sys/class/power_supply/axp20x-battery/present BAT_PERCENT_FILE=/sys/class/power_supply/axp20x-battery/capacity -BAT_PERCENT_RESCALED_FILE=/etc/current_battery_percentage +BAT_PERCENT_RESCALED_FILE=/tmp/current_battery_percentage LOW_BAT_ICON=/sys/class/graphics/fb0/low_battery SCHEDULE_SHUTDOWN_CMD=sched_shutdown SIGNAL_URS1_TO_EMULATORS_CMD=signal_usr1_to_emulators @@ -50,69 +52,71 @@ while true; do #echo "bat_percent_rescaled_maxed = ${bat_percent_rescaled_maxed}" # Save in file + rw echo ${bat_percent_rescaled_maxed} > ${BAT_PERCENT_RESCALED_FILE} + ro # Low bat status detection if [ "$(cat ${USB_PRESENT_FILE})" -eq "0" ]; then - # Value of 0 means wrong i2c reading - if [ "${cur_bat_percent}" -ne "0" ]; then + # Value of 0 means wrong i2c reading + if [ "${cur_bat_percent}" -ne "0" ]; then - # Check if we must change state - if [ ${cur_bat_percent} -le ${THRESHOLD_PERCENT_LOW_BAT} -a ${low_bat_status} -eq 0 ]; then + # Check if we must change state + if [ ${cur_bat_percent} -le ${THRESHOLD_PERCENT_LOW_BAT} -a ${low_bat_status} -eq 0 ]; then - # Set Low Bat status - low_bat_status=1 - low_bat_displayed=1 - cur_secs_disp=0 - echo 1 > ${LOW_BAT_ICON} + # Set Low Bat status + low_bat_status=1 + low_bat_displayed=1 + cur_secs_disp=0 + echo 1 > ${LOW_BAT_ICON} - elif [ ${cur_bat_percent} -gt ${THRESHOLD_PERCENT_LOW_BAT} -a ${low_bat_status} -eq 1 ]; then + elif [ ${cur_bat_percent} -gt ${THRESHOLD_PERCENT_LOW_BAT} -a ${low_bat_status} -eq 1 ]; then - # Reset status - low_bat_status=0 - cur_nb_extremely_low_bat_before_shutdown=0 - echo 0 > ${LOW_BAT_ICON} - fi - fi + # Reset status + low_bat_status=0 + cur_nb_extremely_low_bat_before_shutdown=0 + echo 0 > ${LOW_BAT_ICON} + fi + fi else - if [ ${low_bat_status} -eq 1 ]; then + if [ ${low_bat_status} -eq 1 ]; then - # Reset status - low_bat_status=0 - cur_nb_extremely_low_bat_before_shutdown=0 - echo 0 > ${LOW_BAT_ICON} - fi + # Reset status + low_bat_status=0 + cur_nb_extremely_low_bat_before_shutdown=0 + echo 0 > ${LOW_BAT_ICON} + fi fi # Low bat processing if [ ${low_bat_status} -eq 1 ]; then - # Check extremely low bat for clean shutdown - if [ ${cur_bat_percent} -le ${THRESHOLD_PERCENT_EXTREMELY_LOW_BAT} ]; then - let cur_nb_extremely_low_bat_before_shutdown++ - echo "cur_nb_extremely_low_bat_before_shutdown = ${cur_nb_extremely_low_bat_before_shutdown}" + # Check extremely low bat for clean shutdown + if [ ${cur_bat_percent} -le ${THRESHOLD_PERCENT_EXTREMELY_LOW_BAT} ]; then + let cur_nb_extremely_low_bat_before_shutdown++ + echo "cur_nb_extremely_low_bat_before_shutdown = ${cur_nb_extremely_low_bat_before_shutdown}" - # Clean shutdown - if [ ${cur_nb_extremely_low_bat_before_shutdown} -ge ${MAX_EXTREMELY_LOW_BAT_BEFORE_SHUTDOWN} ]; then - echo "Battery extremely low, shutting down now..." - sched_shutdown 1 & signal_usr1_to_emulators - exit 0 - fi - fi + # Clean shutdown + if [ ${cur_nb_extremely_low_bat_before_shutdown} -ge ${MAX_EXTREMELY_LOW_BAT_BEFORE_SHUTDOWN} ]; then + echo "Battery extremely low, shutting down now..." + sched_shutdown 1 & signal_usr1_to_emulators + exit 0 + fi + fi - # Blinking process - if [ ${BLINK_ICON} -eq 1 ]; then - if [ ${low_bat_displayed} -eq 1 -a ${cur_secs_disp} -ge ${LOW_BAT_SECS_DISPLAYED} ]; then - low_bat_displayed=0 - cur_secs_disp=0 - echo 0 > ${LOW_BAT_ICON} - elif [ ${low_bat_displayed} -eq 0 -a ${cur_secs_disp} -ge ${LOW_BAT_SECS_NOT_DISPLAYED} ]; then - low_bat_displayed=1 - cur_secs_disp=0 - echo 1 > ${LOW_BAT_ICON} - fi - fi + # Blinking process + if [ ${BLINK_ICON} -eq 1 ]; then + if [ ${low_bat_displayed} -eq 1 -a ${cur_secs_disp} -ge ${LOW_BAT_SECS_DISPLAYED} ]; then + low_bat_displayed=0 + cur_secs_disp=0 + echo 0 > ${LOW_BAT_ICON} + elif [ ${low_bat_displayed} -eq 0 -a ${cur_secs_disp} -ge ${LOW_BAT_SECS_NOT_DISPLAYED} ]; then + low_bat_displayed=1 + cur_secs_disp=0 + echo 1 > ${LOW_BAT_ICON} + fi + fi fi # Sleep before next check