fix battery health and charging display in system info

calc was not found, but awk can do the job just fine and was anyway already used

Signed-off-by: gaspar-ilom <gasparilom@riseup.net>
This commit is contained in:
gaspar-ilom 2025-02-21 22:55:14 +01:00
parent 1e0258b7f1
commit cb8d23c45a
No known key found for this signature in database

View File

@ -1221,36 +1221,16 @@ fromhex_plain() {
}
print_battery_health() {
TRACE_FUNC
if ls /sys/class/power_supply/BAT* 1>/dev/null 2>&1; then
for battery in /sys/class/power_supply/BAT*; do
if [ -d "$battery" ]; then
charge_full=$(cat "$battery/charge_full")
charge_full_design=$(cat "$battery/charge_full_design")
battery_health=$(calc "$charge_full / $charge_full_design * 100" | awk -F "." '{print $1}')
DEBUG "Battery $battery health: $battery_health%"
echo "$battery_health"
fi
done
else
DEBUG "No battery found in /sys/class/power_supply/"
if [ -d /sys/class/power_supply/BAT* ]; then
battery_health=$(awk "BEGIN {printf \"%d\", ($(cat /sys/class/power_supply/BAT*/charge_full)/$(cat /sys/class/power_supply/BAT*/charge_full_design)*100)}")
echo "$battery_health"
fi
}
print_battery_charge() {
TRACE_FUNC
if ls /sys/class/power_supply/BAT* 1>/dev/null 2>&1; then
for battery in /sys/class/power_supply/BAT*; do
if [ -d "$battery" ]; then
charge_now=$(cat "$battery/charge_now")
charge_full=$(cat "$battery/charge_full")
battery_charge=$(calc "$charge_now / $charge_full * 100" | awk -F "." '{print $1}')
DEBUG "Battery $battery charge: $battery_charge%"
echo "$battery_charge"
fi
done
else
DEBUG "No battery found in /sys/class/power_supply/"
if [ -d /sys/class/power_supply/BAT* ]; then
battery_charge=$(awk "BEGIN {printf \"%d\", ($(cat /sys/class/power_supply/BAT*/charge_now)/$(cat /sys/class/power_supply/BAT*/charge_full)*100)}")
echo "$battery_charge"
fi
}