Skip to content

Instantly share code, notes, and snippets.

@cwygoda
Created March 12, 2019 20:14
Show Gist options
  • Select an option

  • Save cwygoda/999187cbaddb3e9cfd61b82f0586f5cf to your computer and use it in GitHub Desktop.

Select an option

Save cwygoda/999187cbaddb3e9cfd61b82f0586f5cf to your computer and use it in GitHub Desktop.
Log battery charge (check how fast battery discharges during sleep for example)
#!/bin/sh
_now="date +%s"
_power="cat /sys/class/power_supply/BAT0/charge_now"
full_power=$(cat /sys/class/power_supply/BAT0/charge_full)
last=$($_now)
last_power=$($_power)
while true
do
sleep 0.1
now=$($_now)
power=$($_power)
delta_time=$(($now - $last))
delta_power=$(($power - $last_power))
if (( $delta_power != 0 ))
then
charged=$(echo "$power / $full_power * 100" | bc -l)
per_second=$(echo "$delta_power / $delta_time" | bc -l)
per_hour_percent=$(echo "$delta_power / $full_power / $delta_time * 3600 * 100" | bc -l)
echo $now \(${delta_time}s\) $power \($(printf %.1f $charged)%\) $delta_power $(printf %.0f $per_second) $(printf %.2f $per_hour_percent)
last=$now
last_power=$power
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment