| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -10,7 +10,7 @@ from selfdrive.car.honda.values import CAR, DBC, STEER_THRESHOLD, SPEED_FACTOR, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					TransmissionType = car.CarParams.TransmissionType | 
					 | 
					 | 
					 | 
					TransmissionType = car.CarParams.TransmissionType | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					def get_can_signals(CP, gearbox_msg="GEARBOX"): | 
					 | 
					 | 
					 | 
					def get_can_signals(CP, gearbox_msg): | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # this function generates lists for signal, messages and initial values | 
					 | 
					 | 
					 | 
					  # this function generates lists for signal, messages and initial values | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  signals = [ | 
					 | 
					 | 
					 | 
					  signals = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("XMISSION_SPEED", "ENGINE_DATA", 0), | 
					 | 
					 | 
					 | 
					    ("XMISSION_SPEED", "ENGINE_DATA", 0), | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -78,13 +78,11 @@ def get_can_signals(CP, gearbox_msg="GEARBOX"): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if CP.carFingerprint in HONDA_BOSCH: | 
					 | 
					 | 
					 | 
					  if CP.carFingerprint in HONDA_BOSCH: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [ | 
					 | 
					 | 
					 | 
					    signals += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("CAR_GAS", "GAS_PEDAL_2", 0), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("MAIN_ON", "SCM_FEEDBACK", 0), | 
					 | 
					 | 
					 | 
					      ("MAIN_ON", "SCM_FEEDBACK", 0), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("EPB_STATE", "EPB_STATUS", 0), | 
					 | 
					 | 
					 | 
					      ("EPB_STATE", "EPB_STATUS", 0), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [ | 
					 | 
					 | 
					 | 
					    checks += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("EPB_STATUS", 50), | 
					 | 
					 | 
					 | 
					      ("EPB_STATUS", 50), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("GAS_PEDAL_2", 100), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if not CP.openpilotLongitudinalControl: | 
					 | 
					 | 
					 | 
					    if not CP.openpilotLongitudinalControl: | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -126,43 +124,22 @@ def get_can_signals(CP, gearbox_msg="GEARBOX"): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if CP.carFingerprint == CAR.CIVIC: | 
					 | 
					 | 
					 | 
					  if CP.carFingerprint == CAR.CIVIC: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("CAR_GAS", "GAS_PEDAL_2", 0), | 
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_FEEDBACK", 0), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("MAIN_ON", "SCM_FEEDBACK", 0), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("IMPERIAL_UNIT", "HUD_SETTING", 0), | 
					 | 
					 | 
					 | 
					                ("IMPERIAL_UNIT", "HUD_SETTING", 0), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("EPB_STATE", "EPB_STATUS", 0)] | 
					 | 
					 | 
					 | 
					                ("EPB_STATE", "EPB_STATUS", 0)] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [ | 
					 | 
					 | 
					 | 
					    checks += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("HUD_SETTING", 50), | 
					 | 
					 | 
					 | 
					      ("HUD_SETTING", 50), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("EPB_STATUS", 50), | 
					 | 
					 | 
					 | 
					      ("EPB_STATUS", 50), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("GAS_PEDAL_2", 100), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.ACURA_ILX: | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("CAR_GAS", "GAS_PEDAL_2", 0), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("MAIN_ON", "SCM_BUTTONS", 0)] | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("GAS_PEDAL_2", 100), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint in (CAR.CRV, CAR.CRV_EU, CAR.ACURA_RDX, CAR.PILOT_2019, CAR.RIDGELINE): | 
					 | 
					 | 
					 | 
					  elif CP.carFingerprint in (CAR.ACURA_ILX, CAR.CRV, CAR.CRV_EU, CAR.ACURA_RDX, CAR.PILOT, CAR.PILOT_2019, CAR.RIDGELINE): | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_BUTTONS", 0)] | 
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_BUTTONS", 0)] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.FIT: | 
					 | 
					 | 
					 | 
					  elif CP.carFingerprint in (CAR.FIT, CAR.HRV): | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("CAR_GAS", "GAS_PEDAL_2", 0), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("MAIN_ON", "SCM_BUTTONS", 0), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("BRAKE_HOLD_ACTIVE", "VSA_STATUS", 0)] | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("GAS_PEDAL_2", 100), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.HRV: | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_BUTTONS", 0), | 
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_BUTTONS", 0), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("BRAKE_HOLD_ACTIVE", "VSA_STATUS", 0)] | 
					 | 
					 | 
					 | 
					                ("BRAKE_HOLD_ACTIVE", "VSA_STATUS", 0)] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.ODYSSEY: | 
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.ODYSSEY: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_FEEDBACK", 0), | 
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_FEEDBACK", 0), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("EPB_STATE", "EPB_STATUS", 0)] | 
					 | 
					 | 
					 | 
					                ("EPB_STATE", "EPB_STATUS", 0)] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [("EPB_STATUS", 50)] | 
					 | 
					 | 
					 | 
					    checks += [("EPB_STATUS", 50)] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.PILOT: | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_BUTTONS", 0), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("CAR_GAS", "GAS_PEDAL_2", 0)] | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("GAS_PEDAL_2", 0),  # TODO: fix this freq, seems this signal isn't present at all on some models | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.ODYSSEY_CHN: | 
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.ODYSSEY_CHN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_BUTTONS", 0), | 
					 | 
					 | 
					 | 
					    signals += [("MAIN_ON", "SCM_BUTTONS", 0), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("EPB_STATE", "EPB_STATUS", 0)] | 
					 | 
					 | 
					 | 
					                ("EPB_STATE", "EPB_STATUS", 0)] | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -277,20 +254,15 @@ class CarState(CarStateBase): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    gear = int(cp.vl[self.gearbox_msg]["GEAR_SHIFTER"]) | 
					 | 
					 | 
					 | 
					    gear = int(cp.vl[self.gearbox_msg]["GEAR_SHIFTER"]) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(gear, None)) | 
					 | 
					 | 
					 | 
					    ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(gear, None)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    pedal_gas = cp.vl["POWERTRAIN_DATA"]["PEDAL_GAS"] | 
					 | 
					 | 
					 | 
					    ret.gas = cp.vl["POWERTRAIN_DATA"]["PEDAL_GAS"] | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # crv doesn't include cruise control | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if self.CP.carFingerprint in (CAR.CRV, CAR.CRV_EU, CAR.HRV, CAR.ODYSSEY, CAR.ACURA_RDX, CAR.RIDGELINE, CAR.PILOT_2019, CAR.ODYSSEY_CHN): | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.gas = pedal_gas / 256. | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    else: | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.gas = cp.vl["GAS_PEDAL_2"]["CAR_GAS"] / 256. | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # this is a hack for the interceptor. This is now only used in the simulation | 
					 | 
					 | 
					 | 
					    # this is a hack for the interceptor. This is now only used in the simulation | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # TODO: Replace tests by toyota so this can go away | 
					 | 
					 | 
					 | 
					    # TODO: Replace tests by toyota so this can go away | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if self.CP.enableGasInterceptor: | 
					 | 
					 | 
					 | 
					    if self.CP.enableGasInterceptor: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      user_gas = (cp.vl["GAS_SENSOR"]["INTERCEPTOR_GAS"] + cp.vl["GAS_SENSOR"]["INTERCEPTOR_GAS2"]) / 2. | 
					 | 
					 | 
					 | 
					      user_gas = (cp.vl["GAS_SENSOR"]["INTERCEPTOR_GAS"] + cp.vl["GAS_SENSOR"]["INTERCEPTOR_GAS2"]) / 2. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.gasPressed = user_gas > 1e-5  # this works because interceptor read < 0 when pedal position is 0. Once calibrated, this will change | 
					 | 
					 | 
					 | 
					      ret.gasPressed = user_gas > 1e-5  # this works because interceptor reads < 0 when pedal position is 0. Once calibrated, this will change | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    else: | 
					 | 
					 | 
					 | 
					    else: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.gasPressed = pedal_gas > 1e-5 | 
					 | 
					 | 
					 | 
					      ret.gasPressed = ret.gas > 1e-5 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ret.steeringTorque = cp.vl["STEER_STATUS"]["STEER_TORQUE_SENSOR"] | 
					 | 
					 | 
					 | 
					    ret.steeringTorque = cp.vl["STEER_STATUS"]["STEER_TORQUE_SENSOR"] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ret.steeringTorqueEps = cp.vl["STEER_MOTOR_TORQUE"]["MOTOR_TORQUE"] | 
					 | 
					 | 
					 | 
					    ret.steeringTorqueEps = cp.vl["STEER_MOTOR_TORQUE"]["MOTOR_TORQUE"] | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |