From 1e44b99478e22d89e9b5077aa9e9d6b2aeee37dd Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sun, 2 Aug 2020 18:11:42 -0700 Subject: [PATCH] Add missing chrysler can parser checks (#1967) * add missing chrysler can parser checks * toyota * toyota cam * toyota freqs * chrysler freqs * doors * just chrysler for now * update refs * update again --- selfdrive/car/chrysler/carstate.py | 13 ++++++++++++- selfdrive/test/process_replay/ref_commit | 2 +- selfdrive/test/test_models.py | 7 +++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/selfdrive/car/chrysler/carstate.py b/selfdrive/car/chrysler/carstate.py index d935e8eaa0..b6fdb11314 100644 --- a/selfdrive/car/chrysler/carstate.py +++ b/selfdrive/car/chrysler/carstate.py @@ -103,6 +103,13 @@ class CarState(CarStateBase): ("WHEEL_SPEEDS", 50), ("STEERING", 100), ("ACC_2", 50), + ("GEAR", 50), + ("ACCEL_GAS_134", 50), + ("DASHBOARD", 15), + ("STEERING_LEVERS", 10), + ("SEATBELT_STATUS", 2), + ("DOORS", 1), + ("TRACTION_BUTTON", 1), ] return CANParser(DBC[CP.carFingerprint]['pt'], signals, checks, 0) @@ -115,6 +122,10 @@ class CarState(CarStateBase): ("CAR_MODEL", "LKAS_HUD", -1), ("LKAS_STATUS_OK", "LKAS_HEARTBIT", -1) ] - checks = [] + checks = [ + ("LKAS_COMMAND", 100), + ("LKAS_HEARTBIT", 10), + ("LKAS_HUD", 4), + ] return CANParser(DBC[CP.carFingerprint]['pt'], signals, checks, 2) diff --git a/selfdrive/test/process_replay/ref_commit b/selfdrive/test/process_replay/ref_commit index 479987e9fa..8b8abe7eca 100644 --- a/selfdrive/test/process_replay/ref_commit +++ b/selfdrive/test/process_replay/ref_commit @@ -1 +1 @@ -d8944d6eb13c30c2fd5bcc1af5dbad07472c42c0 \ No newline at end of file +3e8932a5dc0281b00463d40a5435f659259591c4 \ No newline at end of file diff --git a/selfdrive/test/test_models.py b/selfdrive/test/test_models.py index 2fa1dc3167..c06bdf6e04 100755 --- a/selfdrive/test/test_models.py +++ b/selfdrive/test/test_models.py @@ -99,10 +99,13 @@ class TestCarModel(unittest.TestCase): # TODO: also check for checkusm and counter violations from can parser can_invalid_cnt = 0 CC = car.CarControl.new_message() - for msg in self.can_msgs: + for i, msg in enumerate(self.can_msgs): CS = self.CI.update(CC, (msg.as_builder().to_bytes(),)) self.CI.apply(CC) - can_invalid_cnt += not CS.canValid + + # wait 2s for low frequency msgs to be seen + if i > 200: + can_invalid_cnt += not CS.canValid if self.car_model not in ignore_can_valid: self.assertLess(can_invalid_cnt, 50)