Files
sunnypilot/tools/zookeeper/check_consumption.py

28 lines
658 B
Python
Raw Normal View History

2021-10-26 14:37:12 +02:00
#!/usr/bin/env python3
import sys
import time
from tools.zookeeper import Zookeeper
# Usage: check_consumption.py <averaging_time_sec> <max_average_power_W>
# Exit code: 0 -> passed
# 1 -> failed
2021-10-26 14:37:12 +02:00
if __name__ == "__main__":
z = Zookeeper()
2021-10-26 14:37:12 +02:00
averaging_time_s = int(sys.argv[1])
max_average_power = float(sys.argv[2])
2021-10-26 14:37:12 +02:00
start_time = time.time()
measurements = []
while time.time() - start_time < averaging_time_s:
measurements.append(z.read_power())
time.sleep(0.1)
2021-10-26 14:37:12 +02:00
average_power = sum(measurements)/len(measurements)
print(f"Average power: {round(average_power, 4)}W")
2021-10-26 14:37:12 +02:00
if average_power > max_average_power:
exit(1)