|
|
@ -115,6 +115,9 @@ class CarState(CarStateBase): |
|
|
|
ret.genericToggle = bool(cp.vl["LIGHT_STALK"]["AUTO_HIGH_BEAM"]) |
|
|
|
ret.genericToggle = bool(cp.vl["LIGHT_STALK"]["AUTO_HIGH_BEAM"]) |
|
|
|
ret.stockAeb = bool(cp_cam.vl["PRE_COLLISION"]["PRECOLLISION_ACTIVE"] and cp_cam.vl["PRE_COLLISION"]["FORCE"] < -1e-5) |
|
|
|
ret.stockAeb = bool(cp_cam.vl["PRE_COLLISION"]["PRECOLLISION_ACTIVE"] and cp_cam.vl["PRE_COLLISION"]["FORCE"] < -1e-5) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if self.CP.carFingerprint in TSS2_CAR: |
|
|
|
|
|
|
|
ret.stockFcw = bool(cp_cam.vl["ACC_HUD"]["FCW"]) |
|
|
|
|
|
|
|
|
|
|
|
ret.espDisabled = cp.vl["ESP_CONTROL"]["TC_DISABLED"] != 0 |
|
|
|
ret.espDisabled = cp.vl["ESP_CONTROL"]["TC_DISABLED"] != 0 |
|
|
|
# 2 is standby, 10 is active. TODO: check that everything else is really a faulty state |
|
|
|
# 2 is standby, 10 is active. TODO: check that everything else is really a faulty state |
|
|
|
self.steer_state = cp.vl["EPS_STATUS"]["LKA_STATE"] |
|
|
|
self.steer_state = cp.vl["EPS_STATUS"]["LKA_STATE"] |
|
|
@ -220,7 +223,13 @@ class CarState(CarStateBase): |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
if CP.carFingerprint in TSS2_CAR: |
|
|
|
if CP.carFingerprint in TSS2_CAR: |
|
|
|
signals.append(("ACC_TYPE", "ACC_CONTROL")) |
|
|
|
signals += [ |
|
|
|
checks.append(("ACC_CONTROL", 33)) |
|
|
|
("ACC_TYPE", "ACC_CONTROL"), |
|
|
|
|
|
|
|
("FCW", "ACC_HUD"), |
|
|
|
|
|
|
|
] |
|
|
|
|
|
|
|
checks += [ |
|
|
|
|
|
|
|
("ACC_CONTROL", 33), |
|
|
|
|
|
|
|
("ACC_HUD", 1), |
|
|
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 2) |
|
|
|
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 2) |
|
|
|