| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -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]: | 
					 | 
					 | 
					 | 
					    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]: | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      self.STEER_MAX = 384 | 
					 | 
					 | 
					 | 
					      self.STEER_MAX = 384 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    else: | 
					 | 
					 | 
					 | 
					    else: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      self.STEER_MAX = 255 | 
					 | 
					 | 
					 | 
					      self.STEER_MAX = 255 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -22,6 +22,7 @@ class CAR: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # Hyundai | 
					 | 
					 | 
					 | 
					  # Hyundai | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  ELANTRA = "HYUNDAI ELANTRA 2017" | 
					 | 
					 | 
					 | 
					  ELANTRA = "HYUNDAI ELANTRA 2017" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  ELANTRA_2021 = "HYUNDAI ELANTRA 2021" | 
					 | 
					 | 
					 | 
					  ELANTRA_2021 = "HYUNDAI ELANTRA 2021" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  ELANTRA_HEV_2021 = "HYUNDAI ELANTRA HYBRID 2021" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  ELANTRA_GT_I30 = "HYUNDAI I30 N LINE 2019 & GT 2018 DCT" | 
					 | 
					 | 
					 | 
					  ELANTRA_GT_I30 = "HYUNDAI I30 N LINE 2019 & GT 2018 DCT" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  HYUNDAI_GENESIS = "HYUNDAI GENESIS 2015-2016" | 
					 | 
					 | 
					 | 
					  HYUNDAI_GENESIS = "HYUNDAI GENESIS 2015-2016" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  IONIQ = "HYUNDAI IONIQ HYBRID 2017-2019" | 
					 | 
					 | 
					 | 
					  IONIQ = "HYUNDAI IONIQ HYBRID 2017-2019" | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -622,11 +623,28 @@ FW_VERSIONS = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      b'\xf1\x87CXMQFM2135005JB2E\xb9\x89\x98W\xa9y\x97h\xa9\x98\x99wxvwh\x87\177\xffx\xff\xff\xff,,\xf1\x89HT6VA640A1\xf1\x82CCN0N20NS5\x00\x00\x00\x00\x00\x00', | 
					 | 
					 | 
					 | 
					      b'\xf1\x87CXMQFM2135005JB2E\xb9\x89\x98W\xa9y\x97h\xa9\x98\x99wxvwh\x87\177\xffx\xff\xff\xff,,\xf1\x89HT6VA640A1\xf1\x82CCN0N20NS5\x00\x00\x00\x00\x00\x00', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ], | 
					 | 
					 | 
					 | 
					    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    (Ecu.engine, 0x7e0, None): [b'\xf1\x82CNCWD0AMFCXCSFFA'], | 
					 | 
					 | 
					 | 
					    (Ecu.engine, 0x7e0, None): [b'\xf1\x82CNCWD0AMFCXCSFFA'], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  CAR.ELANTRA_HEV_2021: { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.fwdCamera, 0x7c4, None) : [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      b'\xf1\000CN7HMFC  AT USA LHD 1.00 1.03 99210-AA000 200819' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.fwdRadar, 0x7d0, None) : [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      b'\xf1\000CNhe SCC FHCUP      1.00 1.01 99110-BY000         ' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.eps, 0x7d4, None) :[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      b'\xf1\x8756310/BY050\xf1\000CN7 MDPS C 1.00 1.02 56310/BY050 4CNHC102\xf1\xa01.02' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.transmission, 0x7e1, None) :[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      b'\xf1\x816U3K3051\000\000\xf1\0006U3L0_C2\000\0006U3K3051\000\000HCN0G16NS0\xb9?A\xaa' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    (Ecu.engine, 0x7e0, None) : [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      b'\xf1\x816H6G5051\000\000\000\000\000\000\000\000' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					CHECKSUM = { | 
					 | 
					 | 
					 | 
					CHECKSUM = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  "crc8": [CAR.SANTA_FE, CAR.SONATA, CAR.PALISADE, CAR.KIA_SELTOS, CAR.ELANTRA_2021], | 
					 | 
					 | 
					 | 
					  "crc8": [CAR.SANTA_FE, CAR.SONATA, CAR.PALISADE, CAR.KIA_SELTOS, CAR.ELANTRA_2021, CAR.ELANTRA_HEV_2021], | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  "6B": [CAR.KIA_SORENTO, CAR.HYUNDAI_GENESIS], | 
					 | 
					 | 
					 | 
					  "6B": [CAR.KIA_SORENTO, CAR.HYUNDAI_GENESIS], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -634,18 +652,19 @@ 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_OPTIMA_H, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.IONIQ, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV]), | 
					 | 
					 | 
					 | 
					  "use_elect_gears": set([CAR.KIA_NIRO_EV, CAR.KIA_OPTIMA_H, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.IONIQ, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021]), | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # 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_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.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])  # these cars use a different gas signal | 
					 | 
					 | 
					 | 
					HYBRID_CAR = set([CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021])  # 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 = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CAR.ELANTRA: dbc_dict('hyundai_kia_generic', None), | 
					 | 
					 | 
					 | 
					  CAR.ELANTRA: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CAR.ELANTRA_2021: dbc_dict('hyundai_kia_generic', None), | 
					 | 
					 | 
					 | 
					  CAR.ELANTRA_2021: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  CAR.ELANTRA_HEV_2021: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CAR.ELANTRA_GT_I30: dbc_dict('hyundai_kia_generic', None), | 
					 | 
					 | 
					 | 
					  CAR.ELANTRA_GT_I30: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CAR.GENESIS_G70: dbc_dict('hyundai_kia_generic', None), | 
					 | 
					 | 
					 | 
					  CAR.GENESIS_G70: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CAR.GENESIS_G80: dbc_dict('hyundai_kia_generic', None), | 
					 | 
					 | 
					 | 
					  CAR.GENESIS_G80: dbc_dict('hyundai_kia_generic', None), | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |