zookeeper: add avg power to power_monitor.py

old-commit-hash: a27d242e3d
taco
Adeeb Shihadeh 3 years ago
parent 248dd28c7d
commit 2ca457fcab
  1. 10
      tools/zookeeper/power_monitor.py

@ -1,6 +1,7 @@
#!/usr/bin/env python3
import sys
import time
import datetime
from common.realtime import Ratekeeper
from common.filter_simple import FirstOrderFilter
@ -19,12 +20,19 @@ if __name__ == "__main__":
rk = Ratekeeper(rate, print_delay_threshold=None)
fltr = FirstOrderFilter(0, 5, 1. / rate, initialized=False)
try:
measurements = []
start_time = time.monotonic()
try:
while duration is None or time.monotonic() - start_time < duration:
fltr.update(z.read_power())
if rk.frame % rate == 0:
print(f"{fltr.x:.2f} W")
measurements.append(fltr.x)
rk.keep_time()
except KeyboardInterrupt:
pass
t = datetime.timedelta(seconds=time.monotonic() - start_time)
avg = sum(measurements) / len(measurements)
print(f"\nAverage power: {avg:.2f}W over {t}")

Loading…
Cancel
Save