From 5593ae8a7dd4bbd5b60bb3762d96f47e9e3c1539 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 9 May 2024 16:15:15 -0700 Subject: [PATCH] check all checks for carControl in case controlsd dies --- selfdrive/car/card.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/selfdrive/car/card.py b/selfdrive/car/card.py index 147ab7a513..f0e42616f0 100755 --- a/selfdrive/car/card.py +++ b/selfdrive/car/card.py @@ -130,13 +130,14 @@ class Car: def controls_update(self, CS: car.CarState, CC: car.CarControl): """control update loop, driven by carControl""" - # send car controls over can - now_nanos = self.can_log_mono_time if REPLAY else int(time.monotonic() * 1e9) - # TODO: CC shouldn't be builder - self.last_actuators_output, can_sends = self.CI.apply(CC.as_builder(), now_nanos) - self.pm.send('sendcan', can_list_to_can_capnp(can_sends, msgtype='sendcan', valid=CS.canValid)) - - self.CC_prev = CC + if self.sm.all_checks(['carControl']): + # send car controls over can + now_nanos = self.can_log_mono_time if REPLAY else int(time.monotonic() * 1e9) + # TODO: CC shouldn't be builder + self.last_actuators_output, can_sends = self.CI.apply(CC.as_builder(), now_nanos) + self.pm.send('sendcan', can_list_to_can_capnp(can_sends, msgtype='sendcan', valid=CS.canValid)) + + self.CC_prev = CC def step(self): controlsState = self.sm['controlsState']