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
albatross
Adeeb Shihadeh 2020-08-02 18:11:42 -07:00 committed by GitHub
parent c8bc172316
commit 1e44b99478
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 4 deletions

View File

@ -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)

View File

@ -1 +1 @@
d8944d6eb13c30c2fd5bcc1af5dbad07472c42c0
3e8932a5dc0281b00463d40a5435f659259591c4

View File

@ -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)