From 714348e17e145c1dc97cc08a11280f63cbe376f2 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Fri, 14 Mar 2025 20:40:28 -0700 Subject: [PATCH] liveTracks: bool error fields (#34869) * bool fields * liveTracks.valid is already set using errors * fix * clean up * same but diff * fix * fix * fix test * clean up * rm radarErrors * whoops * no struct * Revert "no struct" This reverts commit ed8ec02493673f850800344c73c969508fc38991. * bump * update --- cereal/log.capnp | 2 +- opendbc_repo | 2 +- selfdrive/car/card.py | 2 +- selfdrive/car/tests/test_models.py | 2 +- selfdrive/controls/radard.py | 1 - selfdrive/controls/tests/test_leads.py | 2 +- selfdrive/test/process_replay/ref_commit | 2 +- 7 files changed, 6 insertions(+), 7 deletions(-) diff --git a/cereal/log.capnp b/cereal/log.capnp index 78b511ca64..1cc37cf642 100644 --- a/cereal/log.capnp +++ b/cereal/log.capnp @@ -728,7 +728,6 @@ struct PeripheralState { struct RadarState @0x9a185389d6fdd05f { mdMonoTime @6 :UInt64; carStateMonoTime @11 :UInt64; - radarErrors @12 :List(Car.RadarData.Error); leadOne @3 :LeadData; leadTwo @4 :LeadData; @@ -762,6 +761,7 @@ struct RadarState @0x9a185389d6fdd05f { calPercDEPRECATED @9 :Int8; canMonoTimesDEPRECATED @10 :List(UInt64); cumLagMsDEPRECATED @5 :Float32; + radarErrorsDEPRECATED @12 :List(Car.RadarData.ErrorDEPRECATED); } struct LiveCalibrationData { diff --git a/opendbc_repo b/opendbc_repo index de96aaf51b..5d74dd6e73 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit de96aaf51b60be02b4978b15fbf3b6dd0d829cfd +Subproject commit 5d74dd6e7344900805c58eb2fb2b5a8d52e83050 diff --git a/selfdrive/car/card.py b/selfdrive/car/card.py index f00cbe55e1..8a21df3340 100755 --- a/selfdrive/car/card.py +++ b/selfdrive/car/card.py @@ -227,7 +227,7 @@ class Car: if RD is not None: tracks_msg = messaging.new_message('liveTracks') - tracks_msg.valid = len(RD.errors) == 0 + tracks_msg.valid = not any(RD.errors.to_dict().values()) tracks_msg.liveTracks = RD self.pm.send('liveTracks', tracks_msg) diff --git a/selfdrive/car/tests/test_models.py b/selfdrive/car/tests/test_models.py index 9a042ed372..9885358e71 100644 --- a/selfdrive/car/tests/test_models.py +++ b/selfdrive/car/tests/test_models.py @@ -219,7 +219,7 @@ class TestCarModelBase(unittest.TestCase): for i, msg in enumerate(self.can_msgs[self.elm_frame:]): rr: structs.RadarData | None = RI.update(msg) if rr is not None and i > 50: - error_cnt += structs.RadarData.Error.canError in rr.errors + error_cnt += rr.errors.canError self.assertEqual(error_cnt, 0) def test_panda_safety_rx_checks(self): diff --git a/selfdrive/controls/radard.py b/selfdrive/controls/radard.py index 9f5bea53ff..f91c53431d 100755 --- a/selfdrive/controls/radard.py +++ b/selfdrive/controls/radard.py @@ -234,7 +234,6 @@ class RadarD: self.radar_state_valid = sm.all_checks() self.radar_state = log.RadarState.new_message() self.radar_state.mdMonoTime = sm.logMonoTime['modelV2'] - self.radar_state.radarErrors = list(rr.errors) self.radar_state.carStateMonoTime = sm.logMonoTime['carState'] if len(sm['modelV2'].velocity.x): diff --git a/selfdrive/controls/tests/test_leads.py b/selfdrive/controls/tests/test_leads.py index 89582d1e64..77384fea20 100644 --- a/selfdrive/controls/tests/test_leads.py +++ b/selfdrive/controls/tests/test_leads.py @@ -26,6 +26,6 @@ class TestLeads: msgs = [m for _ in range(3) for m in single_iter_pkg()] out = replay_process_with_name("card", msgs, fingerprint=TOYOTA.TOYOTA_COROLLA_TSS2) states = [m for m in out if m.which() == "liveTracks"] - failures = [not state.valid and len(state.liveTracks.errors) for state in states] + failures = [not state.valid for state in states] assert len(states) == 0 or all(failures) diff --git a/selfdrive/test/process_replay/ref_commit b/selfdrive/test/process_replay/ref_commit index 86bdc46fea..353b8fa7ce 100644 --- a/selfdrive/test/process_replay/ref_commit +++ b/selfdrive/test/process_replay/ref_commit @@ -1 +1 @@ -98672ccf23dc08fcd08b53cae3ec305c04219fe8 \ No newline at end of file +e9d57157494480637a8ffb52257d2b660a48be67 \ No newline at end of file