|  |  |  | @ -7,7 +7,7 @@ from common.conversions import Conversions as CV | 
			
		
	
		
			
				
					|  |  |  |  | from opendbc.can.parser import CANParser | 
			
		
	
		
			
				
					|  |  |  |  | from opendbc.can.can_define import CANDefine | 
			
		
	
		
			
				
					|  |  |  |  | from selfdrive.car.hyundai.hyundaicanfd import get_e_can_bus | 
			
		
	
		
			
				
					|  |  |  |  | from selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, FEATURES, CAMERA_SCC_CAR, CANFD_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams | 
			
		
	
		
			
				
					|  |  |  |  | from selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CAN_GEARS, CAMERA_SCC_CAR, CANFD_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams | 
			
		
	
		
			
				
					|  |  |  |  | from selfdrive.car.interfaces import CarStateBase | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | PREV_BUTTON_SAMPLES = 8 | 
			
		
	
	
		
			
				
					|  |  |  | @ -27,9 +27,9 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  |                           "GEAR_SHIFTER" | 
			
		
	
		
			
				
					|  |  |  |  |     if CP.carFingerprint in CANFD_CAR: | 
			
		
	
		
			
				
					|  |  |  |  |       self.shifter_values = can_define.dv[self.gear_msg_canfd]["GEAR"] | 
			
		
	
		
			
				
					|  |  |  |  |     elif self.CP.carFingerprint in FEATURES["use_cluster_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |     elif self.CP.carFingerprint in CAN_GEARS["use_cluster_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |       self.shifter_values = can_define.dv["CLU15"]["CF_Clu_Gear"] | 
			
		
	
		
			
				
					|  |  |  |  |     elif self.CP.carFingerprint in FEATURES["use_tcu_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |     elif self.CP.carFingerprint in CAN_GEARS["use_tcu_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |       self.shifter_values = can_define.dv["TCU12"]["CUR_GR"] | 
			
		
	
		
			
				
					|  |  |  |  |     else:  # preferred and elect gear methods use same definition | 
			
		
	
		
			
				
					|  |  |  |  |       self.shifter_values = can_define.dv["LVR12"]["CF_Lvr_Gear"] | 
			
		
	
	
		
			
				
					|  |  |  | @ -123,11 +123,11 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     # Gear Selection via Cluster - For those Kia/Hyundai which are not fully discovered, we can use the Cluster Indicator for Gear Selection, | 
			
		
	
		
			
				
					|  |  |  |  |     # as this seems to be standard over all cars, but is not the preferred method. | 
			
		
	
		
			
				
					|  |  |  |  |     if self.CP.carFingerprint in FEATURES["use_cluster_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |     if self.CP.carFingerprint in CAN_GEARS["use_cluster_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |       gear = cp.vl["CLU15"]["CF_Clu_Gear"] | 
			
		
	
		
			
				
					|  |  |  |  |     elif self.CP.carFingerprint in FEATURES["use_tcu_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |     elif self.CP.carFingerprint in CAN_GEARS["use_tcu_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |       gear = cp.vl["TCU12"]["CUR_GR"] | 
			
		
	
		
			
				
					|  |  |  |  |     elif self.CP.carFingerprint in FEATURES["use_elect_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |     elif self.CP.carFingerprint in CAN_GEARS["use_elect_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |       gear = cp.vl["ELECT_GEAR"]["Elect_Gear_Shifter"] | 
			
		
	
		
			
				
					|  |  |  |  |     else: | 
			
		
	
		
			
				
					|  |  |  |  |       gear = cp.vl["LVR12"]["CF_Lvr_Gear"] | 
			
		
	
	
		
			
				
					|  |  |  | @ -354,12 +354,12 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  |         ("EMS16", 100), | 
			
		
	
		
			
				
					|  |  |  |  |       ] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     if CP.carFingerprint in FEATURES["use_cluster_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |     if CP.carFingerprint in CAN_GEARS["use_cluster_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |       signals.append(("CF_Clu_Gear", "CLU15")) | 
			
		
	
		
			
				
					|  |  |  |  |     elif CP.carFingerprint in FEATURES["use_tcu_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |     elif CP.carFingerprint in CAN_GEARS["use_tcu_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |       signals.append(("CUR_GR", "TCU12")) | 
			
		
	
		
			
				
					|  |  |  |  |       checks.append(("TCU12", 100)) | 
			
		
	
		
			
				
					|  |  |  |  |     elif CP.carFingerprint in FEATURES["use_elect_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |     elif CP.carFingerprint in CAN_GEARS["use_elect_gears"]: | 
			
		
	
		
			
				
					|  |  |  |  |       signals.append(("Elect_Gear_Shifter", "ELECT_GEAR")) | 
			
		
	
		
			
				
					|  |  |  |  |       checks.append(("ELECT_GEAR", 20)) | 
			
		
	
		
			
				
					|  |  |  |  |     else: | 
			
		
	
	
		
			
				
					|  |  |  | 
 |