CI: camera box update (#26414)

* check if all frames are laggy

* apply tolerance

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
pull/26885/head
Kurt Nistelberger 2 years ago committed by GitHub
parent 8ba9a5107b
commit 4ec1c7e614
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      system/camerad/test/test_camerad.py

@ -68,11 +68,16 @@ class TestCamerad(unittest.TestCase):
frame_times = {frame_id: [getattr(m, m.which()).timestampSof for m in msgs] for frame_id, msgs in self.log_by_frame_id.items()}
diffs = {frame_id: (max(ts) - min(ts))/1e6 for frame_id, ts in frame_times.items()}
def get_desc(fid, diff):
cam_times = [(m.which(), getattr(m, m.which()).timestampSof/1e6) for m in self.log_by_frame_id[fid]]
return f"{diff=} {cam_times=}"
return (diff, cam_times)
laggy_frames = {k: get_desc(k, v) for k, v in diffs.items() if v > LAG_FRAME_TOLERANCE[sensor_type]}
def in_tol(diff):
return 50 - LAG_FRAME_TOLERANCE[sensor_type] < diff and diff < 50 + LAG_FRAME_TOLERANCE[sensor_type]
if len(laggy_frames) != 0 and all( in_tol(laggy_frames[lf][0]) for lf in laggy_frames):
print("TODO: handle camera out of sync")
else:
assert len(laggy_frames) == 0, f"Frames not synced properly: {laggy_frames=}"
if __name__ == "__main__":

Loading…
Cancel
Save