|  |  |  | @ -12,7 +12,7 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  |   def __init__(self, CP): | 
			
		
	
		
			
				
					|  |  |  |  |     super().__init__(CP) | 
			
		
	
		
			
				
					|  |  |  |  |     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 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def update(self, pt_cp, loopback_cp): | 
			
		
	
	
		
			
				
					|  |  |  | @ -30,7 +30,10 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  |     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.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. | 
			
		
	
		
			
				
					|  |  |  |  |     ret.brake = pt_cp.vl["EBCMBrakePedalPosition"]["BrakePedalPosition"] / 0xd0 | 
			
		
	
	
		
			
				
					|  |  |  | @ -97,7 +100,8 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  |       ("FRWheelSpd", "EBCMWheelSpdFront"), | 
			
		
	
		
			
				
					|  |  |  |  |       ("RLWheelSpd", "EBCMWheelSpdRear"), | 
			
		
	
		
			
				
					|  |  |  |  |       ("RRWheelSpd", "EBCMWheelSpdRear"), | 
			
		
	
		
			
				
					|  |  |  |  |       ("PRNDL", "ECMPRDNL"), | 
			
		
	
		
			
				
					|  |  |  |  |       ("PRNDL2", "ECMPRDNL2"), | 
			
		
	
		
			
				
					|  |  |  |  |       ("ManualMode", "ECMPRDNL2"), | 
			
		
	
		
			
				
					|  |  |  |  |       ("LKADriverAppldTrq", "PSCMStatus"), | 
			
		
	
		
			
				
					|  |  |  |  |       ("LKATorqueDelivered", "PSCMStatus"), | 
			
		
	
		
			
				
					|  |  |  |  |       ("LKATorqueDeliveredStatus", "PSCMStatus"), | 
			
		
	
	
		
			
				
					|  |  |  | @ -108,7 +112,7 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     checks = [ | 
			
		
	
		
			
				
					|  |  |  |  |       ("BCMTurnSignals", 1), | 
			
		
	
		
			
				
					|  |  |  |  |       ("ECMPRDNL", 10), | 
			
		
	
		
			
				
					|  |  |  |  |       ("ECMPRDNL2", 10), | 
			
		
	
		
			
				
					|  |  |  |  |       ("PSCMStatus", 10), | 
			
		
	
		
			
				
					|  |  |  |  |       ("ESPStatus", 10), | 
			
		
	
		
			
				
					|  |  |  |  |       ("BCMDoorBeltStatus", 10), | 
			
		
	
	
		
			
				
					|  |  |  | 
 |