|
|
|
@ -446,15 +446,16 @@ class Controls: |
|
|
|
|
self.set_initial_state() |
|
|
|
|
self.params.put_bool_nonblocking("ControlsReady", True) |
|
|
|
|
|
|
|
|
|
if not all_valid and timed_out: |
|
|
|
|
cloudlog.event( |
|
|
|
|
"controlsd.init_timeout", |
|
|
|
|
canValid=CS.canValid, |
|
|
|
|
invalid=[s for s, valid in self.sm.valid.items() if not valid], |
|
|
|
|
not_alive=[s for s, alive in self.sm.alive.items() if not alive], |
|
|
|
|
not_freq_ok=[s for s, freq_ok in self.sm.freq_ok.items() if not freq_ok], |
|
|
|
|
error=True, |
|
|
|
|
) |
|
|
|
|
cloudlog.event( |
|
|
|
|
"controlsd.initialized", |
|
|
|
|
dt=self.sm.frame*DT_CTRL, |
|
|
|
|
timeout=timed_out, |
|
|
|
|
canValid=CS.canValid, |
|
|
|
|
invalid=[s for s, valid in self.sm.valid.items() if not valid], |
|
|
|
|
not_alive=[s for s, alive in self.sm.alive.items() if not alive], |
|
|
|
|
not_freq_ok=[s for s, freq_ok in self.sm.freq_ok.items() if not freq_ok], |
|
|
|
|
error=True, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
# Check for CAN timeout |
|
|
|
|
if not can_strs: |
|
|
|
|