Refactoring

master
denes 7 years ago
parent ee2c29cfc9
commit acb56d8909

@ -21,49 +21,48 @@
LOW=10 # flip LED every 2s
CRIT=5 # flip led every 0.5s
BAT_FULL=`cat /sys/class/power_supply/BAT0/energy_full_design`
CAPSLOCK_LED=`cat /sys/class/leds/input4\:\:capslock/brightness`
BAT_FULL_DEV=/sys/class/power_supply/BAT0/energy_full_design
BAT_STATUS_DEV=/sys/class/power_supply/BAT0/status
BAT_NOW_DEV=/sys/class/power_supply/BAT0/energy_now
CAPSLOCK_LED_DEV=/sys/class/leds/input4\:\:capslock/brightness
# If not set by the systemd service file
LED_DEV=${BATTERY_STATUS_LED_DEV:-/sys/class/leds/input4\:\:capslock/brightness}
LED_DEV=${BATTERY_STATUS_LED_DEV:-$CAPSLOCK_LED_DEV}
CNT=0
LED=0
while :
do
# If charging, sleep 1m, then restart the cycle
STATUS=`cat /sys/class/power_supply/BAT0/status`
STATUS=cat $BAT_STATUS_DEV
if [ $STATUS == "Charging" ] ; then
echo 0 > $LED_DEV
sleep 1m
continue
fi
BAT_NOW=`cat /sys/class/power_supply/BAT0/energy_now`
BAT_NOW=cat $BAT_NOW_DEV
BAT_PCT=$(($BAT_NOW * 100 / $BAT_FULL))
# If battery has more than >10% left, sleep 1m then restart the cycle
if (($BAT_PCT > $LOW )) ; then
if (($BAT_PCT >= $LOW )) ; then
sleep 1m
continue
fi
sleep 0.5s
CNT=$((CNT+1))
# If battery <5% (crytical) flip capslock LED every 0.5s
if (( $BAT_PCT <= $CRIT )) ; then
CAPSLOCK_LED=$((1 ^ $CAPSLOCK_LED))
echo $CAPSLOCK_LED > $LED_DEV
# If battery is on low, but not crytical, flip LED every 4th 0.5s (2s)
elif (( $BAT_PCT <= $LOW )) && (( $CNT % 4 == 1 )) ; then
CAPSLOCK_LED=$((1 ^ $CAPSLOCK_LED))
echo $CAPSLOCK_LED > $LED_DEV
# If battery is on low, but not crytical, flip LED every 2s
if (( $BAT_PCT < $LOW )) && (( $BAT_PCT >= $CRIT)) ; then
LED=$((1 ^ $LED))
echo $LED > $LED_DEV
sleep 2s
continue
fi
# not sure if i need this:
if (( $CNT > 100000 )) ; then
CNT=1
# If battery is on crytical flip capslock LED every 0.5s
if (( $BAT_PCT < $CRIT )) ; then
LED=$((1 ^ $LED))
echo $LED > $LED_DEV
sleep 0.5s
continue
fi
done

Loading…
Cancel
Save