tici: add wait_for_power helper (#29507)

* tici: add wait_for_power helper

* deque

* cleanup

---------

Co-authored-by: Bruce Wayne <batman@z840-provisioning2.internal>
pull/29509/head
Adeeb Shihadeh 2 years ago committed by GitHub
parent fc9a623d69
commit 985af1ce3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      system/hardware/tici/power_monitor.py

@ -4,6 +4,7 @@ import time
import datetime
import numpy as np
from typing import List
from collections import deque
from openpilot.common.realtime import Ratekeeper
from openpilot.common.filter_simple import FirstOrderFilter
@ -27,6 +28,15 @@ def get_power(seconds=5):
pwrs = sample_power(seconds)
return np.mean(pwrs)
def wait_for_power(min_pwr, max_pwr, min_secs_in_range, timeout):
start_time = time.monotonic()
pwrs = deque([min_pwr - 1.]*min_secs_in_range, maxlen=min_secs_in_range)
while (time.monotonic() - start_time < timeout):
pwrs.append(get_power(1))
if all(min_pwr <= p <= max_pwr for p in pwrs):
break
return np.mean(pwrs)
if __name__ == "__main__":
duration = None

Loading…
Cancel
Save