| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -11,34 +11,33 @@ TransmissionType = car.CarParams.TransmissionType | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					def get_can_signals(CP, gearbox_msg, main_on_sig_msg): | 
					 | 
					 | 
					 | 
					def get_can_signals(CP, gearbox_msg, main_on_sig_msg): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # this function generates lists for signal, messages and initial values | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  signals = [ | 
					 | 
					 | 
					 | 
					  signals = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("XMISSION_SPEED", "ENGINE_DATA", 0), | 
					 | 
					 | 
					 | 
					    ("XMISSION_SPEED", "ENGINE_DATA"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("WHEEL_SPEED_FL", "WHEEL_SPEEDS", 0), | 
					 | 
					 | 
					 | 
					    ("WHEEL_SPEED_FL", "WHEEL_SPEEDS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("WHEEL_SPEED_FR", "WHEEL_SPEEDS", 0), | 
					 | 
					 | 
					 | 
					    ("WHEEL_SPEED_FR", "WHEEL_SPEEDS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("WHEEL_SPEED_RL", "WHEEL_SPEEDS", 0), | 
					 | 
					 | 
					 | 
					    ("WHEEL_SPEED_RL", "WHEEL_SPEEDS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("WHEEL_SPEED_RR", "WHEEL_SPEEDS", 0), | 
					 | 
					 | 
					 | 
					    ("WHEEL_SPEED_RR", "WHEEL_SPEEDS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("STEER_ANGLE", "STEERING_SENSORS", 0), | 
					 | 
					 | 
					 | 
					    ("STEER_ANGLE", "STEERING_SENSORS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("STEER_ANGLE_RATE", "STEERING_SENSORS", 0), | 
					 | 
					 | 
					 | 
					    ("STEER_ANGLE_RATE", "STEERING_SENSORS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("MOTOR_TORQUE", "STEER_MOTOR_TORQUE", 0), | 
					 | 
					 | 
					 | 
					    ("MOTOR_TORQUE", "STEER_MOTOR_TORQUE"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("STEER_TORQUE_SENSOR", "STEER_STATUS", 0), | 
					 | 
					 | 
					 | 
					    ("STEER_TORQUE_SENSOR", "STEER_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("LEFT_BLINKER", "SCM_FEEDBACK", 0), | 
					 | 
					 | 
					 | 
					    ("LEFT_BLINKER", "SCM_FEEDBACK"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("RIGHT_BLINKER", "SCM_FEEDBACK", 0), | 
					 | 
					 | 
					 | 
					    ("RIGHT_BLINKER", "SCM_FEEDBACK"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("GEAR", gearbox_msg, 0), | 
					 | 
					 | 
					 | 
					    ("GEAR", gearbox_msg), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("SEATBELT_DRIVER_LAMP", "SEATBELT_STATUS", 1), | 
					 | 
					 | 
					 | 
					    ("SEATBELT_DRIVER_LAMP", "SEATBELT_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("SEATBELT_DRIVER_LATCHED", "SEATBELT_STATUS", 0), | 
					 | 
					 | 
					 | 
					    ("SEATBELT_DRIVER_LATCHED", "SEATBELT_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("BRAKE_PRESSED", "POWERTRAIN_DATA", 0), | 
					 | 
					 | 
					 | 
					    ("BRAKE_PRESSED", "POWERTRAIN_DATA"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("BRAKE_SWITCH", "POWERTRAIN_DATA", 0), | 
					 | 
					 | 
					 | 
					    ("BRAKE_SWITCH", "POWERTRAIN_DATA"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("CRUISE_BUTTONS", "SCM_BUTTONS", 0), | 
					 | 
					 | 
					 | 
					    ("CRUISE_BUTTONS", "SCM_BUTTONS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("ESP_DISABLED", "VSA_STATUS", 1), | 
					 | 
					 | 
					 | 
					    ("ESP_DISABLED", "VSA_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("USER_BRAKE", "VSA_STATUS", 0), | 
					 | 
					 | 
					 | 
					    ("USER_BRAKE", "VSA_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("BRAKE_HOLD_ACTIVE", "VSA_STATUS", 0), | 
					 | 
					 | 
					 | 
					    ("BRAKE_HOLD_ACTIVE", "VSA_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("STEER_STATUS", "STEER_STATUS", 5), | 
					 | 
					 | 
					 | 
					    ("STEER_STATUS", "STEER_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("GEAR_SHIFTER", gearbox_msg, 0), | 
					 | 
					 | 
					 | 
					    ("GEAR_SHIFTER", gearbox_msg), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("PEDAL_GAS", "POWERTRAIN_DATA", 0), | 
					 | 
					 | 
					 | 
					    ("PEDAL_GAS", "POWERTRAIN_DATA"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("CRUISE_SETTING", "SCM_BUTTONS", 0), | 
					 | 
					 | 
					 | 
					    ("CRUISE_SETTING", "SCM_BUTTONS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("ACC_STATUS", "POWERTRAIN_DATA", 0), | 
					 | 
					 | 
					 | 
					    ("ACC_STATUS", "POWERTRAIN_DATA"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ("MAIN_ON", main_on_sig_msg, 0), | 
					 | 
					 | 
					 | 
					    ("MAIN_ON", main_on_sig_msg), | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  ] | 
					 | 
					 | 
					 | 
					  ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  checks = [ | 
					 | 
					 | 
					 | 
					  checks = [ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -70,13 +69,13 @@ def get_can_signals(CP, gearbox_msg, main_on_sig_msg): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks.append((gearbox_msg, 100)) | 
					 | 
					 | 
					 | 
					    checks.append((gearbox_msg, 100)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if CP.carFingerprint in HONDA_BOSCH_ALT_BRAKE_SIGNAL: | 
					 | 
					 | 
					 | 
					  if CP.carFingerprint in HONDA_BOSCH_ALT_BRAKE_SIGNAL: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals.append(("BRAKE_PRESSED", "BRAKE_MODULE", 0)) | 
					 | 
					 | 
					 | 
					    signals.append(("BRAKE_PRESSED", "BRAKE_MODULE")) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks.append(("BRAKE_MODULE", 50)) | 
					 | 
					 | 
					 | 
					    checks.append(("BRAKE_MODULE", 50)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if CP.carFingerprint in HONDA_BOSCH: | 
					 | 
					 | 
					 | 
					  if CP.carFingerprint in HONDA_BOSCH: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [ | 
					 | 
					 | 
					 | 
					    signals += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("EPB_STATE", "EPB_STATUS", 0), | 
					 | 
					 | 
					 | 
					      ("EPB_STATE", "EPB_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("IMPERIAL_UNIT", "CAR_SPEED", 1), | 
					 | 
					 | 
					 | 
					      ("IMPERIAL_UNIT", "CAR_SPEED"), | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [ | 
					 | 
					 | 
					 | 
					    checks += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("EPB_STATUS", 50), | 
					 | 
					 | 
					 | 
					      ("EPB_STATUS", 50), | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -85,18 +84,18 @@ def get_can_signals(CP, gearbox_msg, main_on_sig_msg): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if not CP.openpilotLongitudinalControl: | 
					 | 
					 | 
					 | 
					    if not CP.openpilotLongitudinalControl: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      signals += [ | 
					 | 
					 | 
					 | 
					      signals += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("CRUISE_CONTROL_LABEL", "ACC_HUD", 0), | 
					 | 
					 | 
					 | 
					        ("CRUISE_CONTROL_LABEL", "ACC_HUD"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("CRUISE_SPEED", "ACC_HUD", 0), | 
					 | 
					 | 
					 | 
					        ("CRUISE_SPEED", "ACC_HUD"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("ACCEL_COMMAND", "ACC_CONTROL", 0), | 
					 | 
					 | 
					 | 
					        ("ACCEL_COMMAND", "ACC_CONTROL"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("AEB_STATUS", "ACC_CONTROL", 0), | 
					 | 
					 | 
					 | 
					        ("AEB_STATUS", "ACC_CONTROL"), | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ] | 
					 | 
					 | 
					 | 
					      ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      checks += [ | 
					 | 
					 | 
					 | 
					      checks += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("ACC_HUD", 10), | 
					 | 
					 | 
					 | 
					        ("ACC_HUD", 10), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("ACC_CONTROL", 50), | 
					 | 
					 | 
					 | 
					        ("ACC_CONTROL", 50), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ] | 
					 | 
					 | 
					 | 
					      ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  else:  # Nidec signals | 
					 | 
					 | 
					 | 
					  else:  # Nidec signals | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("CRUISE_SPEED_PCM", "CRUISE", 0), | 
					 | 
					 | 
					 | 
					    signals += [("CRUISE_SPEED_PCM", "CRUISE"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("CRUISE_SPEED_OFFSET", "CRUISE_PARAMS", 0)] | 
					 | 
					 | 
					 | 
					                ("CRUISE_SPEED_OFFSET", "CRUISE_PARAMS")] | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if CP.carFingerprint == CAR.ODYSSEY_CHN: | 
					 | 
					 | 
					 | 
					    if CP.carFingerprint == CAR.ODYSSEY_CHN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      checks.append(("CRUISE_PARAMS", 10)) | 
					 | 
					 | 
					 | 
					      checks.append(("CRUISE_PARAMS", 10)) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -104,44 +103,44 @@ def get_can_signals(CP, gearbox_msg, main_on_sig_msg): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      checks.append(("CRUISE_PARAMS", 50)) | 
					 | 
					 | 
					 | 
					      checks.append(("CRUISE_PARAMS", 50)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if CP.carFingerprint in (CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G, CAR.HONDA_E): | 
					 | 
					 | 
					 | 
					  if CP.carFingerprint in (CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G, CAR.HONDA_E): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals.append(("DRIVERS_DOOR_OPEN", "SCM_FEEDBACK", 1)) | 
					 | 
					 | 
					 | 
					    signals.append(("DRIVERS_DOOR_OPEN", "SCM_FEEDBACK")) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.ODYSSEY_CHN: | 
					 | 
					 | 
					 | 
					  elif CP.carFingerprint == CAR.ODYSSEY_CHN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals.append(("DRIVERS_DOOR_OPEN", "SCM_BUTTONS", 1)) | 
					 | 
					 | 
					 | 
					    signals.append(("DRIVERS_DOOR_OPEN", "SCM_BUTTONS")) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint in (CAR.FREED, CAR.HRV): | 
					 | 
					 | 
					 | 
					  elif CP.carFingerprint in (CAR.FREED, CAR.HRV): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("DRIVERS_DOOR_OPEN", "SCM_BUTTONS", 1), | 
					 | 
					 | 
					 | 
					    signals += [("DRIVERS_DOOR_OPEN", "SCM_BUTTONS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("WHEELS_MOVING", "STANDSTILL", 1)] | 
					 | 
					 | 
					 | 
					                ("WHEELS_MOVING", "STANDSTILL")] | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  else: | 
					 | 
					 | 
					 | 
					  else: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("DOOR_OPEN_FL", "DOORS_STATUS", 1), | 
					 | 
					 | 
					 | 
					    signals += [("DOOR_OPEN_FL", "DOORS_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("DOOR_OPEN_FR", "DOORS_STATUS", 1), | 
					 | 
					 | 
					 | 
					                ("DOOR_OPEN_FR", "DOORS_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("DOOR_OPEN_RL", "DOORS_STATUS", 1), | 
					 | 
					 | 
					 | 
					                ("DOOR_OPEN_RL", "DOORS_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("DOOR_OPEN_RR", "DOORS_STATUS", 1), | 
					 | 
					 | 
					 | 
					                ("DOOR_OPEN_RR", "DOORS_STATUS"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("WHEELS_MOVING", "STANDSTILL", 1)] | 
					 | 
					 | 
					 | 
					                ("WHEELS_MOVING", "STANDSTILL")] | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [ | 
					 | 
					 | 
					 | 
					    checks += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("DOORS_STATUS", 3), | 
					 | 
					 | 
					 | 
					      ("DOORS_STATUS", 3), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("STANDSTILL", 50), | 
					 | 
					 | 
					 | 
					      ("STANDSTILL", 50), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if CP.carFingerprint == CAR.CIVIC: | 
					 | 
					 | 
					 | 
					  if CP.carFingerprint == CAR.CIVIC: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [("IMPERIAL_UNIT", "HUD_SETTING", 0), | 
					 | 
					 | 
					 | 
					    signals += [("IMPERIAL_UNIT", "HUD_SETTING"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ("EPB_STATE", "EPB_STATUS", 0)] | 
					 | 
					 | 
					 | 
					                ("EPB_STATE", "EPB_STATUS")] | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks += [ | 
					 | 
					 | 
					 | 
					    checks += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("HUD_SETTING", 50), | 
					 | 
					 | 
					 | 
					      ("HUD_SETTING", 50), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("EPB_STATUS", 50), | 
					 | 
					 | 
					 | 
					      ("EPB_STATUS", 50), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  elif CP.carFingerprint in (CAR.ODYSSEY, CAR.ODYSSEY_CHN): | 
					 | 
					 | 
					 | 
					  elif CP.carFingerprint in (CAR.ODYSSEY, CAR.ODYSSEY_CHN): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals.append(("EPB_STATE", "EPB_STATUS", 0)) | 
					 | 
					 | 
					 | 
					    signals.append(("EPB_STATE", "EPB_STATUS")) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks.append(("EPB_STATUS", 50)) | 
					 | 
					 | 
					 | 
					    checks.append(("EPB_STATUS", 50)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # add gas interceptor reading if we are using it | 
					 | 
					 | 
					 | 
					  # add gas interceptor reading if we are using it | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if CP.enableGasInterceptor: | 
					 | 
					 | 
					 | 
					  if CP.enableGasInterceptor: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals.append(("INTERCEPTOR_GAS", "GAS_SENSOR", 0)) | 
					 | 
					 | 
					 | 
					    signals.append(("INTERCEPTOR_GAS", "GAS_SENSOR")) | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals.append(("INTERCEPTOR_GAS2", "GAS_SENSOR", 0)) | 
					 | 
					 | 
					 | 
					    signals.append(("INTERCEPTOR_GAS2", "GAS_SENSOR")) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks.append(("GAS_SENSOR", 50)) | 
					 | 
					 | 
					 | 
					    checks.append(("GAS_SENSOR", 50)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if CP.openpilotLongitudinalControl: | 
					 | 
					 | 
					 | 
					  if CP.openpilotLongitudinalControl: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    signals += [ | 
					 | 
					 | 
					 | 
					    signals += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("BRAKE_ERROR_1", "STANDSTILL", 1), | 
					 | 
					 | 
					 | 
					      ("BRAKE_ERROR_1", "STANDSTILL"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ("BRAKE_ERROR_2", "STANDSTILL", 1) | 
					 | 
					 | 
					 | 
					      ("BRAKE_ERROR_2", "STANDSTILL") | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    checks.append(("STANDSTILL", 50)) | 
					 | 
					 | 
					 | 
					    checks.append(("STANDSTILL", 50)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -325,14 +324,14 @@ class CarState(CarStateBase): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if CP.carFingerprint not in HONDA_BOSCH: | 
					 | 
					 | 
					 | 
					    if CP.carFingerprint not in HONDA_BOSCH: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      signals += [("COMPUTER_BRAKE", "BRAKE_COMMAND", 0), | 
					 | 
					 | 
					 | 
					      signals += [("COMPUTER_BRAKE", "BRAKE_COMMAND"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  ("AEB_REQ_1", "BRAKE_COMMAND", 0), | 
					 | 
					 | 
					 | 
					                  ("AEB_REQ_1", "BRAKE_COMMAND"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  ("FCW", "BRAKE_COMMAND", 0), | 
					 | 
					 | 
					 | 
					                  ("FCW", "BRAKE_COMMAND"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  ("CHIME", "BRAKE_COMMAND", 0), | 
					 | 
					 | 
					 | 
					                  ("CHIME", "BRAKE_COMMAND"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  ("FCM_OFF", "ACC_HUD", 0), | 
					 | 
					 | 
					 | 
					                  ("FCM_OFF", "ACC_HUD"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  ("FCM_OFF_2", "ACC_HUD", 0), | 
					 | 
					 | 
					 | 
					                  ("FCM_OFF_2", "ACC_HUD"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  ("FCM_PROBLEM", "ACC_HUD", 0), | 
					 | 
					 | 
					 | 
					                  ("FCM_PROBLEM", "ACC_HUD"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  ("ICONS", "ACC_HUD", 0)] | 
					 | 
					 | 
					 | 
					                  ("ICONS", "ACC_HUD")] | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      checks += [ | 
					 | 
					 | 
					 | 
					      checks += [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("ACC_HUD", 10), | 
					 | 
					 | 
					 | 
					        ("ACC_HUD", 10), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("BRAKE_COMMAND", 50), | 
					 | 
					 | 
					 | 
					        ("BRAKE_COMMAND", 50), | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -343,8 +342,8 @@ class CarState(CarStateBase): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  @staticmethod | 
					 | 
					 | 
					 | 
					  @staticmethod | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  def get_body_can_parser(CP): | 
					 | 
					 | 
					 | 
					  def get_body_can_parser(CP): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if CP.enableBsm and CP.carFingerprint == CAR.CRV_5G: | 
					 | 
					 | 
					 | 
					    if CP.enableBsm and CP.carFingerprint == CAR.CRV_5G: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      signals = [("BSM_ALERT", "BSM_STATUS_RIGHT", 0), | 
					 | 
					 | 
					 | 
					      signals = [("BSM_ALERT", "BSM_STATUS_RIGHT"), | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                 ("BSM_ALERT", "BSM_STATUS_LEFT", 0)] | 
					 | 
					 | 
					 | 
					                 ("BSM_ALERT", "BSM_STATUS_LEFT")] | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      checks = [ | 
					 | 
					 | 
					 | 
					      checks = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ("BSM_STATUS_LEFT", 3), | 
					 | 
					 | 
					 | 
					        ("BSM_STATUS_LEFT", 3), | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |