| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -7,7 +7,7 @@ Ecu = car.CarParams.Ecu | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					# Steer torque limits | 
					 | 
					 | 
					 | 
					# Steer torque limits | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					class CarControllerParams: | 
					 | 
					 | 
					 | 
					class CarControllerParams: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  def __init__(self, CP): | 
					 | 
					 | 
					 | 
					  def __init__(self, CP): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if CP.carFingerprint in [CAR.SONATA, CAR.PALISADE, CAR.SANTA_FE, CAR.VELOSTER, CAR.GENESIS_G70, CAR.IONIQ_EV_2020, CAR.KIA_CEED, CAR.KIA_SELTOS, CAR.ELANTRA_2021, CAR.ELANTRA_HEV_2021]: | 
					 | 
					 | 
					 | 
					    if CP.carFingerprint in [CAR.SONATA, CAR.PALISADE, CAR.SANTA_FE, CAR.VELOSTER, CAR.GENESIS_G70, CAR.IONIQ_EV_2020, CAR.KIA_CEED, CAR.KIA_SELTOS, CAR.ELANTRA_2021, CAR.ELANTRA_HEV_2021, CAR.SONATA_HYBRID]: | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      self.STEER_MAX = 384 | 
					 | 
					 | 
					 | 
					      self.STEER_MAX = 384 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    else: | 
					 | 
					 | 
					 | 
					    else: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      self.STEER_MAX = 255 | 
					 | 
					 | 
					 | 
					      self.STEER_MAX = 255 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -36,6 +36,7 @@ class CAR: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  SONATA_LF = "HYUNDAI SONATA 2019" | 
					 | 
					 | 
					 | 
					  SONATA_LF = "HYUNDAI SONATA 2019" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  PALISADE = "HYUNDAI PALISADE 2020" | 
					 | 
					 | 
					 | 
					  PALISADE = "HYUNDAI PALISADE 2020" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  VELOSTER = "HYUNDAI VELOSTER 2019" | 
					 | 
					 | 
					 | 
					  VELOSTER = "HYUNDAI VELOSTER 2019" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  SONATA_HYBRID = "HYUNDAI SONATA HYBRID 2021" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # Kia | 
					 | 
					 | 
					 | 
					  # Kia | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  KIA_FORTE = "KIA FORTE E 2018 & GT 2021" | 
					 | 
					 | 
					 | 
					  KIA_FORTE = "KIA FORTE E 2018 & GT 2021" | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -653,11 +654,18 @@ FW_VERSIONS = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    (Ecu.engine, 0x7e0, None) : [ | 
					 | 
					 | 
					 | 
					    (Ecu.engine, 0x7e0, None) : [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      b'\xf1\x816H6G5051\000\000\000\000\000\000\000\000' | 
					 | 
					 | 
					 | 
					      b'\xf1\x816H6G5051\000\000\000\000\000\000\000\000' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ] | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  CAR.SONATA_HYBRID: { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.fwdRadar, 0x7d0, None): [b'\xf1\000DNhe SCC FHCUP      1.00 1.02 99110-L5000         ',], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.eps, 0x7d4, None): [b'\xf1\x8756310-L5500\xf1\000DN8 MDPS C 1.00 1.02 56310-L5500 4DNHC102\xf1\xa01.02',], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.fwdCamera, 0x7c4, None): [b'\xf1\000DN8HMFC  AT USA LHD 1.00 1.04 99211-L1000 191016',], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.transmission, 0x7e1, None): [b'\xf1\000PSBG2323  E09\000\000\000\000\000\000\000TDN2H20SA5\x97R\x88\x9e',], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.engine, 0x7e0, None): [b'\xf1\x87391162J012\xf1\xa0000R',], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					CHECKSUM = { | 
					 | 
					 | 
					 | 
					CHECKSUM = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  "crc8": [CAR.SANTA_FE, CAR.SONATA, CAR.PALISADE, CAR.KIA_SELTOS, CAR.ELANTRA_2021, CAR.ELANTRA_HEV_2021], | 
					 | 
					 | 
					 | 
					  "crc8": [CAR.SANTA_FE, CAR.SONATA, CAR.PALISADE, CAR.KIA_SELTOS, CAR.ELANTRA_2021, CAR.ELANTRA_HEV_2021, CAR.SONATA_HYBRID], | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  "6B": [CAR.KIA_SORENTO, CAR.HYUNDAI_GENESIS], | 
					 | 
					 | 
					 | 
					  "6B": [CAR.KIA_SORENTO, CAR.HYUNDAI_GENESIS], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -665,13 +673,13 @@ FEATURES = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # which message has the gear | 
					 | 
					 | 
					 | 
					  # which message has the gear | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  "use_cluster_gears": set([CAR.ELANTRA, CAR.ELANTRA_GT_I30, CAR.KONA]), | 
					 | 
					 | 
					 | 
					  "use_cluster_gears": set([CAR.ELANTRA, CAR.ELANTRA_GT_I30, CAR.KONA]), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  "use_tcu_gears": set([CAR.KIA_OPTIMA, CAR.SONATA_LF, CAR.VELOSTER]), | 
					 | 
					 | 
					 | 
					  "use_tcu_gears": set([CAR.KIA_OPTIMA, CAR.SONATA_LF, CAR.VELOSTER]), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  "use_elect_gears": set([CAR.KIA_NIRO_EV, CAR.KIA_NIRO_HEV, CAR.KIA_OPTIMA_H, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.IONIQ, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021]), | 
					 | 
					 | 
					 | 
					  "use_elect_gears": set([CAR.KIA_NIRO_EV, CAR.KIA_NIRO_HEV, CAR.KIA_OPTIMA_H, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.IONIQ, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021,CAR.SONATA_HYBRID]), | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12 | 
					 | 
					 | 
					 | 
					  # these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  "use_fca": set([CAR.SONATA, CAR.ELANTRA, CAR.ELANTRA_2021, CAR.ELANTRA_HEV_2021, CAR.ELANTRA_GT_I30, CAR.KIA_STINGER, CAR.IONIQ, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV, CAR.KONA_EV, CAR.KIA_FORTE, CAR.KIA_NIRO_EV, CAR.PALISADE, CAR.GENESIS_G70, CAR.KONA, CAR.SANTA_FE, CAR.KIA_SELTOS]), | 
					 | 
					 | 
					 | 
					  "use_fca": set([CAR.SONATA, CAR.SONATA_HYBRID, CAR.ELANTRA, CAR.ELANTRA_2021, CAR.ELANTRA_HEV_2021, CAR.ELANTRA_GT_I30, CAR.KIA_STINGER, CAR.IONIQ, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV, CAR.KONA_EV, CAR.KIA_FORTE, CAR.KIA_NIRO_EV, CAR.PALISADE, CAR.GENESIS_G70, CAR.KONA, CAR.SANTA_FE, CAR.KIA_SELTOS]), | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					HYBRID_CAR = set([CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021, CAR.KIA_NIRO_HEV])  # these cars use a different gas signal | 
					 | 
					 | 
					 | 
					HYBRID_CAR = set([CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021, CAR.KIA_NIRO_HEV, CAR.SONATA_HYBRID])  # these cars use a different gas signal | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					EV_CAR = set([CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.IONIQ, CAR.KONA_EV, CAR.KIA_NIRO_EV]) | 
					 | 
					 | 
					 | 
					EV_CAR = set([CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.IONIQ, CAR.KONA_EV, CAR.KIA_NIRO_EV]) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					DBC = { | 
					 | 
					 | 
					 | 
					DBC = { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -703,6 +711,7 @@ DBC = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CAR.PALISADE: dbc_dict('hyundai_kia_generic', None), | 
					 | 
					 | 
					 | 
					  CAR.PALISADE: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CAR.VELOSTER: dbc_dict('hyundai_kia_generic', None), | 
					 | 
					 | 
					 | 
					  CAR.VELOSTER: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CAR.KIA_CEED: dbc_dict('hyundai_kia_generic', None), | 
					 | 
					 | 
					 | 
					  CAR.KIA_CEED: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  CAR.SONATA_HYBRID: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					STEER_THRESHOLD = 150 | 
					 | 
					 | 
					 | 
					STEER_THRESHOLD = 150 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |