|
|
@ -12,7 +12,7 @@ class CarState(CarStateBase): |
|
|
|
def __init__(self, CP): |
|
|
|
def __init__(self, CP): |
|
|
|
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["ECMPRDNL2"]["PRNDL2"] |
|
|
|
self.lka_steering_cmd_counter = 0 |
|
|
|
self.lka_steering_cmd_counter = 0 |
|
|
|
|
|
|
|
|
|
|
|
def update(self, pt_cp, loopback_cp): |
|
|
|
def update(self, pt_cp, loopback_cp): |
|
|
@ -30,7 +30,11 @@ class CarState(CarStateBase): |
|
|
|
ret.vEgoRaw = mean([ret.wheelSpeeds.fl, ret.wheelSpeeds.fr, ret.wheelSpeeds.rl, ret.wheelSpeeds.rr]) |
|
|
|
ret.vEgoRaw = mean([ret.wheelSpeeds.fl, ret.wheelSpeeds.fr, ret.wheelSpeeds.rl, ret.wheelSpeeds.rr]) |
|
|
|
ret.vEgo, ret.aEgo = self.update_speed_kf(ret.vEgoRaw) |
|
|
|
ret.vEgo, ret.aEgo = self.update_speed_kf(ret.vEgoRaw) |
|
|
|
ret.standstill = ret.vEgoRaw < 0.01 |
|
|
|
ret.standstill = ret.vEgoRaw < 0.01 |
|
|
|
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(pt_cp.vl["ECMPRDNL"]["PRNDL"], None)) |
|
|
|
|
|
|
|
|
|
|
|
if pt_cp.vl["ECMPRDNL2"]["ManualMode"] == 1: |
|
|
|
|
|
|
|
ret.gearShifter = self.parse_gear_shifter("T") |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(pt_cp.vl["ECMPRDNL2"]["PRNDL2"], None)) |
|
|
|
|
|
|
|
|
|
|
|
# Brake pedal's potentiometer returns near-zero reading even when pedal is not pressed. |
|
|
|
# Brake pedal's potentiometer returns near-zero reading even when pedal is not pressed. |
|
|
|
ret.brake = pt_cp.vl["EBCMBrakePedalPosition"]["BrakePedalPosition"] / 0xd0 |
|
|
|
ret.brake = pt_cp.vl["EBCMBrakePedalPosition"]["BrakePedalPosition"] / 0xd0 |
|
|
@ -97,7 +101,8 @@ class CarState(CarStateBase): |
|
|
|
("FRWheelSpd", "EBCMWheelSpdFront"), |
|
|
|
("FRWheelSpd", "EBCMWheelSpdFront"), |
|
|
|
("RLWheelSpd", "EBCMWheelSpdRear"), |
|
|
|
("RLWheelSpd", "EBCMWheelSpdRear"), |
|
|
|
("RRWheelSpd", "EBCMWheelSpdRear"), |
|
|
|
("RRWheelSpd", "EBCMWheelSpdRear"), |
|
|
|
("PRNDL", "ECMPRDNL"), |
|
|
|
("PRNDL2", "ECMPRDNL2"), |
|
|
|
|
|
|
|
("ManualMode", "ECMPRDNL2"), |
|
|
|
("LKADriverAppldTrq", "PSCMStatus"), |
|
|
|
("LKADriverAppldTrq", "PSCMStatus"), |
|
|
|
("LKATorqueDelivered", "PSCMStatus"), |
|
|
|
("LKATorqueDelivered", "PSCMStatus"), |
|
|
|
("LKATorqueDeliveredStatus", "PSCMStatus"), |
|
|
|
("LKATorqueDeliveredStatus", "PSCMStatus"), |
|
|
@ -108,7 +113,7 @@ class CarState(CarStateBase): |
|
|
|
|
|
|
|
|
|
|
|
checks = [ |
|
|
|
checks = [ |
|
|
|
("BCMTurnSignals", 1), |
|
|
|
("BCMTurnSignals", 1), |
|
|
|
("ECMPRDNL", 10), |
|
|
|
("ECMPRDNL2", 10), |
|
|
|
("PSCMStatus", 10), |
|
|
|
("PSCMStatus", 10), |
|
|
|
("ESPStatus", 10), |
|
|
|
("ESPStatus", 10), |
|
|
|
("BCMDoorBeltStatus", 10), |
|
|
|
("BCMDoorBeltStatus", 10), |
|
|
|