|
|
@ -13,8 +13,9 @@ class CarState(CarStateBase): |
|
|
|
super().__init__(CP) |
|
|
|
super().__init__(CP) |
|
|
|
can_define = CANDefine(DBC[CP.carFingerprint]["pt"]) |
|
|
|
can_define = CANDefine(DBC[CP.carFingerprint]["pt"]) |
|
|
|
self.shifter_values = can_define.dv["ECMPRDNL"]["PRNDL"] |
|
|
|
self.shifter_values = can_define.dv["ECMPRDNL"]["PRNDL"] |
|
|
|
|
|
|
|
self.lka_steering_cmd_counter = 0 |
|
|
|
|
|
|
|
|
|
|
|
def update(self, pt_cp): |
|
|
|
def update(self, pt_cp, loopback_cp): |
|
|
|
ret = car.CarState.new_message() |
|
|
|
ret = car.CarState.new_message() |
|
|
|
|
|
|
|
|
|
|
|
self.prev_cruise_buttons = self.cruise_buttons |
|
|
|
self.prev_cruise_buttons = self.cruise_buttons |
|
|
@ -42,6 +43,7 @@ class CarState(CarStateBase): |
|
|
|
ret.steeringTorque = pt_cp.vl["PSCMStatus"]["LKADriverAppldTrq"] |
|
|
|
ret.steeringTorque = pt_cp.vl["PSCMStatus"]["LKADriverAppldTrq"] |
|
|
|
ret.steeringTorqueEps = pt_cp.vl["PSCMStatus"]["LKATorqueDelivered"] |
|
|
|
ret.steeringTorqueEps = pt_cp.vl["PSCMStatus"]["LKATorqueDelivered"] |
|
|
|
ret.steeringPressed = abs(ret.steeringTorque) > STEER_THRESHOLD |
|
|
|
ret.steeringPressed = abs(ret.steeringTorque) > STEER_THRESHOLD |
|
|
|
|
|
|
|
self.lka_steering_cmd_counter = loopback_cp.vl["ASCMLKASteeringCmd"]["RollingCounter"] |
|
|
|
|
|
|
|
|
|
|
|
# 0 inactive, 1 active, 2 temporarily limited, 3 failed |
|
|
|
# 0 inactive, 1 active, 2 temporarily limited, 3 failed |
|
|
|
self.lkas_status = pt_cp.vl["PSCMStatus"]["LKATorqueDeliveredStatus"] |
|
|
|
self.lkas_status = pt_cp.vl["PSCMStatus"]["LKATorqueDeliveredStatus"] |
|
|
@ -131,3 +133,15 @@ class CarState(CarStateBase): |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, CanBus.POWERTRAIN) |
|
|
|
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, CanBus.POWERTRAIN) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod |
|
|
|
|
|
|
|
def get_loopback_can_parser(CP): |
|
|
|
|
|
|
|
signals = [ |
|
|
|
|
|
|
|
("RollingCounter", "ASCMLKASteeringCmd", 0), |
|
|
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
checks = [ |
|
|
|
|
|
|
|
("ASCMLKASteeringCmd", 50), |
|
|
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, CanBus.LOOPBACK) |
|
|
|