move current_battery_percentage file to /tmp

Signed-off-by: Michel-FK <michel.stempin@funkey-project.com>
This commit is contained in:
Michel-FK 2020-11-03 10:30:38 +01:00
parent fd6ab2ce4c
commit 7c8da14252
2 changed files with 52 additions and 48 deletions

View File

@ -50,7 +50,7 @@ videoLoop = 0
####################################### #######################################
fileUsbConnected = /sys/class/power_supply/axp20x-usb/present fileUsbConnected = /sys/class/power_supply/axp20x-usb/present
#fileBatCapacity = /sys/class/power_supply/axp20x-battery/capacity #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 fileBatConnected = /sys/class/power_supply/axp20x-battery/present
####################################### #######################################

View File

@ -14,10 +14,12 @@ LOW_BAT_SECS_NOT_DISPLAYED=5
# Files and commands declaration # Files and commands declaration
USB_PRESENT_FILE=/sys/class/power_supply/axp20x-usb/present 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_PRESENT_FILE=/sys/class/power_supply/axp20x-battery/present
BAT_PERCENT_FILE=/sys/class/power_supply/axp20x-battery/capacity 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 LOW_BAT_ICON=/sys/class/graphics/fb0/low_battery
SCHEDULE_SHUTDOWN_CMD=sched_shutdown SCHEDULE_SHUTDOWN_CMD=sched_shutdown
SIGNAL_URS1_TO_EMULATORS_CMD=signal_usr1_to_emulators 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}" #echo "bat_percent_rescaled_maxed = ${bat_percent_rescaled_maxed}"
# Save in file # Save in file
rw
echo ${bat_percent_rescaled_maxed} > ${BAT_PERCENT_RESCALED_FILE} echo ${bat_percent_rescaled_maxed} > ${BAT_PERCENT_RESCALED_FILE}
ro
# Low bat status detection # Low bat status detection
if [ "$(cat ${USB_PRESENT_FILE})" -eq "0" ]; then if [ "$(cat ${USB_PRESENT_FILE})" -eq "0" ]; then
# Value of 0 means wrong i2c reading # Value of 0 means wrong i2c reading
if [ "${cur_bat_percent}" -ne "0" ]; then if [ "${cur_bat_percent}" -ne "0" ]; then
# Check if we must change state # Check if we must change state
if [ ${cur_bat_percent} -le ${THRESHOLD_PERCENT_LOW_BAT} -a ${low_bat_status} -eq 0 ]; then if [ ${cur_bat_percent} -le ${THRESHOLD_PERCENT_LOW_BAT} -a ${low_bat_status} -eq 0 ]; then
# Set Low Bat status # Set Low Bat status
low_bat_status=1 low_bat_status=1
low_bat_displayed=1 low_bat_displayed=1
cur_secs_disp=0 cur_secs_disp=0
echo 1 > ${LOW_BAT_ICON} 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 # Reset status
low_bat_status=0 low_bat_status=0
cur_nb_extremely_low_bat_before_shutdown=0 cur_nb_extremely_low_bat_before_shutdown=0
echo 0 > ${LOW_BAT_ICON} echo 0 > ${LOW_BAT_ICON}
fi fi
fi fi
else else
if [ ${low_bat_status} -eq 1 ]; then if [ ${low_bat_status} -eq 1 ]; then
# Reset status # Reset status
low_bat_status=0 low_bat_status=0
cur_nb_extremely_low_bat_before_shutdown=0 cur_nb_extremely_low_bat_before_shutdown=0
echo 0 > ${LOW_BAT_ICON} echo 0 > ${LOW_BAT_ICON}
fi fi
fi fi
# Low bat processing # Low bat processing
if [ ${low_bat_status} -eq 1 ]; then if [ ${low_bat_status} -eq 1 ]; then
# Check extremely low bat for clean shutdown # Check extremely low bat for clean shutdown
if [ ${cur_bat_percent} -le ${THRESHOLD_PERCENT_EXTREMELY_LOW_BAT} ]; then if [ ${cur_bat_percent} -le ${THRESHOLD_PERCENT_EXTREMELY_LOW_BAT} ]; then
let cur_nb_extremely_low_bat_before_shutdown++ let cur_nb_extremely_low_bat_before_shutdown++
echo "cur_nb_extremely_low_bat_before_shutdown = ${cur_nb_extremely_low_bat_before_shutdown}" echo "cur_nb_extremely_low_bat_before_shutdown = ${cur_nb_extremely_low_bat_before_shutdown}"
# Clean shutdown # Clean shutdown
if [ ${cur_nb_extremely_low_bat_before_shutdown} -ge ${MAX_EXTREMELY_LOW_BAT_BEFORE_SHUTDOWN} ]; then if [ ${cur_nb_extremely_low_bat_before_shutdown} -ge ${MAX_EXTREMELY_LOW_BAT_BEFORE_SHUTDOWN} ]; then
echo "Battery extremely low, shutting down now..." echo "Battery extremely low, shutting down now..."
sched_shutdown 1 & signal_usr1_to_emulators sched_shutdown 1 & signal_usr1_to_emulators
exit 0 exit 0
fi fi
fi fi
# Blinking process # Blinking process
if [ ${BLINK_ICON} -eq 1 ]; then if [ ${BLINK_ICON} -eq 1 ]; then
if [ ${low_bat_displayed} -eq 1 -a ${cur_secs_disp} -ge ${LOW_BAT_SECS_DISPLAYED} ]; then if [ ${low_bat_displayed} -eq 1 -a ${cur_secs_disp} -ge ${LOW_BAT_SECS_DISPLAYED} ]; then
low_bat_displayed=0 low_bat_displayed=0
cur_secs_disp=0 cur_secs_disp=0
echo 0 > ${LOW_BAT_ICON} echo 0 > ${LOW_BAT_ICON}
elif [ ${low_bat_displayed} -eq 0 -a ${cur_secs_disp} -ge ${LOW_BAT_SECS_NOT_DISPLAYED} ]; then elif [ ${low_bat_displayed} -eq 0 -a ${cur_secs_disp} -ge ${LOW_BAT_SECS_NOT_DISPLAYED} ]; then
low_bat_displayed=1 low_bat_displayed=1
cur_secs_disp=0 cur_secs_disp=0
echo 1 > ${LOW_BAT_ICON} echo 1 > ${LOW_BAT_ICON}
fi fi
fi fi
fi fi
# Sleep before next check # Sleep before next check