@ -1,11 +1,11 @@ 
			
		
	
		
			
				
					import  re  
			
		
	
		
			
				
					from  dataclasses  import  dataclass  
			
		
	
		
			
				
					from  enum  import  Enum ,  IntFlag ,  StrEnum  
			
		
	
		
			
				
					from  dataclasses  import  dataclass ,  field  
			
		
	
		
			
				
					from  enum  import  Enum ,  IntFlag  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					from  cereal  import  car  
			
		
	
		
			
				
					from  panda . python  import  uds  
			
		
	
		
			
				
					from  openpilot . common . conversions  import  Conversions  as  CV  
			
		
	
		
			
				
					from  openpilot . selfdrive . car  import  dbc_dict  
			
		
	
		
			
				
					from  openpilot . selfdrive . car  import  DbcDict ,  PlatformConfig ,  Platforms ,  dbc_dict  
			
		
	
		
			
				
					from  openpilot . selfdrive . car . docs_definitions  import  CarFootnote ,  CarHarness ,  CarInfo ,  CarParts ,  Column  
			
		
	
		
			
				
					from  openpilot . selfdrive . car . fw_query_definitions  import  FwQueryConfig ,  Request ,  p16  
			
		
	
		
			
				
					
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -52,92 +52,46 @@ class CarControllerParams: 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					class  HyundaiFlags ( IntFlag ) :  
			
		
	
		
			
				
					  # Dynamic Flags   
			
		
	
		
			
				
					  CANFD_HDA2  =  1   
			
		
	
		
			
				
					  CANFD_ALT_BUTTONS  =  2   
			
		
	
		
			
				
					  CANFD_ALT_GEARS  =  4   
			
		
	
		
			
				
					  CANFD_CAMERA_SCC  =  8   
			
		
	
		
			
				
					  CANFD_ALT_GEARS  =  2  * *  2   
			
		
	
		
			
				
					  CANFD_CAMERA_SCC  =  2  * *  3   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  ALT_LIMITS  =  16   
			
		
	
		
			
				
					  ENABLE_BLINKERS  =  32   
			
		
	
		
			
				
					  CANFD_ALT_GEARS_2  =  64   
			
		
	
		
			
				
					  SEND_LFA  =  128   
			
		
	
		
			
				
					  USE_FCA  =  256   
			
		
	
		
			
				
					  CANFD_HDA2_ALT_STEERING  =  512   
			
		
	
		
			
				
					  HYBRID  =  1024   
			
		
	
		
			
				
					  EV  =  2048   
			
		
	
		
			
				
					  ALT_LIMITS  =  2  * *  4   
			
		
	
		
			
				
					  ENABLE_BLINKERS  =  2  * *  5   
			
		
	
		
			
				
					  CANFD_ALT_GEARS_2  =  2  * *  6   
			
		
	
		
			
				
					  SEND_LFA  =  2  * *  7   
			
		
	
		
			
				
					  USE_FCA  =  2  * *  8   
			
		
	
		
			
				
					  CANFD_HDA2_ALT_STEERING  =  2  * *  9   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  # these cars use a different gas signal   
			
		
	
		
			
				
					  HYBRID  =  2  * *  10   
			
		
	
		
			
				
					  EV  =  2  * *  11   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					class  CAR ( StrEnum ) :  
			
		
	
		
			
				
					  # Hyundai   
			
		
	
		
			
				
					  AZERA_6TH_GEN  =  " HYUNDAI AZERA 6TH GEN "   
			
		
	
		
			
				
					  AZERA_HEV_6TH_GEN  =  " HYUNDAI AZERA HYBRID 6TH GEN "   
			
		
	
		
			
				
					  ELANTRA  =  " HYUNDAI ELANTRA 2017 "   
			
		
	
		
			
				
					  ELANTRA_GT_I30  =  " HYUNDAI I30 N LINE 2019 & GT 2018 DCT "   
			
		
	
		
			
				
					  ELANTRA_2021  =  " HYUNDAI ELANTRA 2021 "   
			
		
	
		
			
				
					  ELANTRA_HEV_2021  =  " HYUNDAI ELANTRA HYBRID 2021 "   
			
		
	
		
			
				
					  HYUNDAI_GENESIS  =  " HYUNDAI GENESIS 2015-2016 "   
			
		
	
		
			
				
					  IONIQ  =  " HYUNDAI IONIQ HYBRID 2017-2019 "   
			
		
	
		
			
				
					  IONIQ_HEV_2022  =  " HYUNDAI IONIQ HYBRID 2020-2022 "   
			
		
	
		
			
				
					  IONIQ_EV_LTD  =  " HYUNDAI IONIQ ELECTRIC LIMITED 2019 "   
			
		
	
		
			
				
					  IONIQ_EV_2020  =  " HYUNDAI IONIQ ELECTRIC 2020 "   
			
		
	
		
			
				
					  IONIQ_PHEV_2019  =  " HYUNDAI IONIQ PLUG-IN HYBRID 2019 "   
			
		
	
		
			
				
					  IONIQ_PHEV  =  " HYUNDAI IONIQ PHEV 2020 "   
			
		
	
		
			
				
					  KONA  =  " HYUNDAI KONA 2020 "   
			
		
	
		
			
				
					  KONA_EV  =  " HYUNDAI KONA ELECTRIC 2019 "   
			
		
	
		
			
				
					  KONA_EV_2022  =  " HYUNDAI KONA ELECTRIC 2022 "   
			
		
	
		
			
				
					  KONA_EV_2ND_GEN  =  " HYUNDAI KONA ELECTRIC 2ND GEN "   
			
		
	
		
			
				
					  KONA_HEV  =  " HYUNDAI KONA HYBRID 2020 "   
			
		
	
		
			
				
					  SANTA_FE  =  " HYUNDAI SANTA FE 2019 "   
			
		
	
		
			
				
					  SANTA_FE_2022  =  " HYUNDAI SANTA FE 2022 "   
			
		
	
		
			
				
					  SANTA_FE_HEV_2022  =  " HYUNDAI SANTA FE HYBRID 2022 "   
			
		
	
		
			
				
					  SANTA_FE_PHEV_2022  =  " HYUNDAI SANTA FE PlUG-IN HYBRID 2022 "   
			
		
	
		
			
				
					  SONATA  =  " HYUNDAI SONATA 2020 "   
			
		
	
		
			
				
					  SONATA_LF  =  " HYUNDAI SONATA 2019 "   
			
		
	
		
			
				
					  STARIA_4TH_GEN  =  " HYUNDAI STARIA 4TH GEN "   
			
		
	
		
			
				
					  TUCSON  =  " HYUNDAI TUCSON 2019 "   
			
		
	
		
			
				
					  PALISADE  =  " HYUNDAI PALISADE 2020 "   
			
		
	
		
			
				
					  VELOSTER  =  " HYUNDAI VELOSTER 2019 "   
			
		
	
		
			
				
					  SONATA_HYBRID  =  " HYUNDAI SONATA HYBRID 2021 "   
			
		
	
		
			
				
					  IONIQ_5  =  " HYUNDAI IONIQ 5 2022 "   
			
		
	
		
			
				
					  IONIQ_6  =  " HYUNDAI IONIQ 6 2023 "   
			
		
	
		
			
				
					  TUCSON_4TH_GEN  =  " HYUNDAI TUCSON 4TH GEN "   
			
		
	
		
			
				
					  SANTA_CRUZ_1ST_GEN  =  " HYUNDAI SANTA CRUZ 1ST GEN "   
			
		
	
		
			
				
					  CUSTIN_1ST_GEN  =  " HYUNDAI CUSTIN 1ST GEN "   
			
		
	
		
			
				
					  # Static Flags   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  # Kia   
			
		
	
		
			
				
					  KIA_FORTE  =  " KIA FORTE E 2018 & GT 2021 "   
			
		
	
		
			
				
					  KIA_K5_2021  =  " KIA K5 2021 "   
			
		
	
		
			
				
					  KIA_K5_HEV_2020  =  " KIA K5 HYBRID 2020 "   
			
		
	
		
			
				
					  KIA_K8_HEV_1ST_GEN  =  " KIA K8 HYBRID 1ST GEN "   
			
		
	
		
			
				
					  KIA_NIRO_EV  =  " KIA NIRO EV 2020 "   
			
		
	
		
			
				
					  KIA_NIRO_EV_2ND_GEN  =  " KIA NIRO EV 2ND GEN "   
			
		
	
		
			
				
					  KIA_NIRO_PHEV  =  " KIA NIRO HYBRID 2019 "   
			
		
	
		
			
				
					  KIA_NIRO_PHEV_2022  =  " KIA NIRO PLUG-IN HYBRID 2022 "   
			
		
	
		
			
				
					  KIA_NIRO_HEV_2021  =  " KIA NIRO HYBRID 2021 "   
			
		
	
		
			
				
					  KIA_NIRO_HEV_2ND_GEN  =  " KIA NIRO HYBRID 2ND GEN "   
			
		
	
		
			
				
					  KIA_OPTIMA_G4  =  " KIA OPTIMA 4TH GEN "   
			
		
	
		
			
				
					  KIA_OPTIMA_G4_FL  =  " KIA OPTIMA 4TH GEN FACELIFT "   
			
		
	
		
			
				
					  KIA_OPTIMA_H  =  " KIA OPTIMA HYBRID 2017 & SPORTS 2019 "   
			
		
	
		
			
				
					  KIA_OPTIMA_H_G4_FL  =  " KIA OPTIMA HYBRID 4TH GEN FACELIFT "   
			
		
	
		
			
				
					  KIA_SELTOS  =  " KIA SELTOS 2021 "   
			
		
	
		
			
				
					  KIA_SPORTAGE_5TH_GEN  =  " KIA SPORTAGE 5TH GEN "   
			
		
	
		
			
				
					  KIA_SORENTO  =  " KIA SORENTO GT LINE 2018 "   
			
		
	
		
			
				
					  KIA_SORENTO_4TH_GEN  =  " KIA SORENTO 4TH GEN "   
			
		
	
		
			
				
					  KIA_SORENTO_HEV_4TH_GEN  =  " KIA SORENTO HYBRID 4TH GEN "   
			
		
	
		
			
				
					  KIA_STINGER  =  " KIA STINGER GT2 2018 "   
			
		
	
		
			
				
					  KIA_STINGER_2022  =  " KIA STINGER 2022 "   
			
		
	
		
			
				
					  KIA_CEED  =  " KIA CEED INTRO ED 2019 "   
			
		
	
		
			
				
					  KIA_EV6  =  " KIA EV6 2022 "   
			
		
	
		
			
				
					  KIA_CARNIVAL_4TH_GEN  =  " KIA CARNIVAL 4TH GEN "   
			
		
	
		
			
				
					  # If 0x500 is present on bus 1 it probably has a Mando radar outputting radar points.   
			
		
	
		
			
				
					  # If no points are outputted by default it might be possible to turn it on using  selfdrive/debug/hyundai_enable_radar_points.py   
			
		
	
		
			
				
					  MANDO_RADAR  =  2  * *  12   
			
		
	
		
			
				
					  CANFD  =  2  * *  13   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  # Genesis   
			
		
	
		
			
				
					  GENESIS_GV60_EV_1ST_GEN  =  " GENESIS GV60 ELECTRIC 1ST GEN "   
			
		
	
		
			
				
					  GENESIS_G70  =  " GENESIS G70 2018 "   
			
		
	
		
			
				
					  GENESIS_G70_2020  =  " GENESIS G70 2020 "   
			
		
	
		
			
				
					  GENESIS_GV70_1ST_GEN  =  " GENESIS GV70 1ST GEN "   
			
		
	
		
			
				
					  GENESIS_G80  =  " GENESIS G80 2017 "   
			
		
	
		
			
				
					  GENESIS_G90  =  " GENESIS G90 2017 "   
			
		
	
		
			
				
					  GENESIS_GV80  =  " GENESIS GV80 2023 "   
			
		
	
		
			
				
					  # The radar does SCC on these cars when HDA I, rather than the camera   
			
		
	
		
			
				
					  RADAR_SCC  =  2  * *  14   
			
		
	
		
			
				
					  CAMERA_SCC  =  2  * *  15   
			
		
	
		
			
				
					  CHECKSUM_CRC8  =  2  * *  16   
			
		
	
		
			
				
					  CHECKSUM_6B  =  2  * *  17   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  # these cars require a special panda safety mode due to missing counters and checksums in the messages   
			
		
	
		
			
				
					  LEGACY  =  2  * *  18   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  # these cars have not been verified to work with longitudinal yet - radar disable, sending correct messages, etc.   
			
		
	
		
			
				
					  UNSUPPORTED_LONGITUDINAL  =  2  * *  19   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  CANFD_NO_RADAR_DISABLE  =  2  * *  20   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  CLUSTER_GEARS  =  2  * *  21   
			
		
	
		
			
				
					  TCU_GEARS  =  2  * *  22   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					class  Footnote ( Enum ) :  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -152,160 +106,425 @@ class HyundaiCarInfo(CarInfo): 
			
		
	
		
			
				
					  package :  str  =  " Smart Cruise Control (SCC) "   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  def  init_make ( self ,  CP :  car . CarParams ) :   
			
		
	
		
			
				
					    if  CP . carFingerprint  in  CANFD_CAR :   
			
		
	
		
			
				
					    if  CP . flags  &  HyundaiFlags . CANFD :   
			
		
	
		
			
				
					      self . footnotes . insert ( 0 ,  Footnote . CANFD )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					CAR_INFO :  dict [ str ,  HyundaiCarInfo  |  list [ HyundaiCarInfo ]  |  None ]  =  {  
			
		
	
		
			
				
					  CAR . AZERA_6TH_GEN :  HyundaiCarInfo ( " Hyundai Azera 2022 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  CAR . AZERA_HEV_6TH_GEN :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Azera Hybrid 2019 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Azera Hybrid 2020 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . ELANTRA :  [   
			
		
	
		
			
				
					    # TODO: 2017-18 could be Hyundai G   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Elantra 2017-18 " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_b ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Elantra 2019 " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_g ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . ELANTRA_GT_I30 :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Elantra GT 2017-19 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai i30 2017-19 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . ELANTRA_2021 :  HyundaiCarInfo ( " Hyundai Elantra 2021-23 " ,  video_link = " https://youtu.be/_EdYQtV52-c " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  CAR . ELANTRA_HEV_2021 :  HyundaiCarInfo ( " Hyundai Elantra Hybrid 2021-23 " ,  video_link = " https://youtu.be/_EdYQtV52-c " ,   
			
		
	
		
			
				
					@dataclass  
			
		
	
		
			
				
					class  HyundaiPlatformConfig ( PlatformConfig ) :  
			
		
	
		
			
				
					  dbc_dict :  DbcDict  =  field ( default_factory = lambda :  dbc_dict ( " hyundai_kia_generic " ,  None ) )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  def  init ( self ) :   
			
		
	
		
			
				
					    if  self . flags  &  HyundaiFlags . MANDO_RADAR :   
			
		
	
		
			
				
					      self . dbc_dict  =  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					@dataclass  
			
		
	
		
			
				
					class  HyundaiCanFDPlatformConfig ( HyundaiPlatformConfig ) :  
			
		
	
		
			
				
					  dbc_dict :  DbcDict  =  field ( default_factory = lambda :  dbc_dict ( " hyundai_canfd " ,  None ) )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  def  init ( self ) :   
			
		
	
		
			
				
					    super ( ) . init ( )   
			
		
	
		
			
				
					    self . flags  | =  HyundaiFlags . CANFD   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					class  CAR ( Platforms ) :  
			
		
	
		
			
				
					  # Hyundai   
			
		
	
		
			
				
					  AZERA_6TH_GEN  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI AZERA 6TH GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Azera 2022 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  AZERA_HEV_6TH_GEN  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI AZERA HYBRID 6TH GEN " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Azera Hybrid 2019 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Azera Hybrid 2020 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  ELANTRA  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI ELANTRA 2017 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      # TODO: 2017-18 could be Hyundai G   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Elantra 2017-18 " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_b ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Elantra 2019 " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_g ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . LEGACY  |  HyundaiFlags . CLUSTER_GEARS   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  ELANTRA_GT_I30  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI I30 N LINE 2019 & GT 2018 DCT " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Elantra GT 2017-19 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai i30 2017-19 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . LEGACY  |  HyundaiFlags . CLUSTER_GEARS   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  ELANTRA_2021  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI ELANTRA 2021 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Elantra 2021-23 " ,  video_link = " https://youtu.be/_EdYQtV52-c " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_CRC8   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  ELANTRA_HEV_2021  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI ELANTRA HYBRID 2021 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Elantra Hybrid 2021-23 " ,  video_link = " https://youtu.be/_EdYQtV52-c " ,   
			
		
	
		
			
				
					                                       car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  CAR . HYUNDAI_GENESIS :  [   
			
		
	
		
			
				
					    # TODO: check 2015 packages   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Genesis 2015-16 " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_j ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis G80 2017 " ,  " All " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_j ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . IONIQ :  HyundaiCarInfo ( " Hyundai Ioniq Hybrid 2017-19 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_HEV_2022 :  HyundaiCarInfo ( " Hyundai Ioniq Hybrid 2020-22 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   # TODO: confirm 2020-21 harness   
			
		
	
		
			
				
					  CAR . IONIQ_EV_LTD :  HyundaiCarInfo ( " Hyundai Ioniq Electric 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_EV_2020 :  HyundaiCarInfo ( " Hyundai Ioniq Electric 2020 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_PHEV_2019 :  HyundaiCarInfo ( " Hyundai Ioniq Plug-in Hybrid 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_PHEV :  HyundaiCarInfo ( " Hyundai Ioniq Plug-in Hybrid 2020-22 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					  CAR . KONA :  HyundaiCarInfo ( " Hyundai Kona 2020 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_b ] ) ) ,   
			
		
	
		
			
				
					  CAR . KONA_EV :  HyundaiCarInfo ( " Hyundai Kona Electric 2018-21 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_g ] ) ) ,   
			
		
	
		
			
				
					  CAR . KONA_EV_2022 :  HyundaiCarInfo ( " Hyundai Kona Electric 2022-23 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_o ] ) ) ,   
			
		
	
		
			
				
					  CAR . KONA_HEV :  HyundaiCarInfo ( " Hyundai Kona Hybrid 2020 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_i ] ) ) ,   # TODO: check packages   
			
		
	
		
			
				
					  # TODO: this is the 2024 US MY, not yet released   
			
		
	
		
			
				
					  CAR . KONA_EV_2ND_GEN :  HyundaiCarInfo ( " Hyundai Kona Electric (with HDA II, Korea only) 2023 " ,  video_link = " https://www.youtube.com/watch?v=U2fOCmcQ8hw " ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_CRC8  |  HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  HYUNDAI_GENESIS  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI GENESIS 2015-2016 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      # TODO: check 2015 packages   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Genesis 2015-16 " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_j ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Genesis G80 2017 " ,  " All " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_j ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_6B  |  HyundaiFlags . LEGACY   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  IONIQ  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI IONIQ HYBRID 2017-2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq Hybrid 2017-19 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  IONIQ_HEV_2022  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI IONIQ HYBRID 2020-2022 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq Hybrid 2020-22 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   # TODO: confirm 2020-21 harness,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID  |  HyundaiFlags . LEGACY   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  IONIQ_EV_LTD  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI IONIQ ELECTRIC LIMITED 2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq Electric 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR  |  HyundaiFlags . EV  |  HyundaiFlags . LEGACY   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  IONIQ_EV_2020  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI IONIQ ELECTRIC 2020 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq Electric 2020 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . EV   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  IONIQ_PHEV_2019  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI IONIQ PLUG-IN HYBRID 2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq Plug-in Hybrid 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  IONIQ_PHEV  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI IONIQ PHEV 2020 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq Plug-in Hybrid 2020-22 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KONA  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI KONA 2020 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Kona 2020 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_b ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CLUSTER_GEARS   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KONA_EV  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI KONA ELECTRIC 2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Kona Electric 2018-21 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_g ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . EV   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KONA_EV_2022  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI KONA ELECTRIC 2022 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Kona Electric 2022-23 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_o ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CAMERA_SCC  |  HyundaiFlags . EV   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KONA_EV_2ND_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI KONA ELECTRIC 2ND GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Kona Electric (with HDA II, Korea only) 2023 " ,  video_link = " https://www.youtube.com/watch?v=U2fOCmcQ8hw " ,   
			
		
	
		
			
				
					                                      car_parts = CarParts . common ( [ CarHarness . hyundai_r ] ) ) ,   
			
		
	
		
			
				
					  CAR . SANTA_FE :  HyundaiCarInfo ( " Hyundai Santa Fe 2019-20 " ,  " All " ,  video_link = " https://youtu.be/bjDR0YjM__s " ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . EV  |  HyundaiFlags . CANFD_NO_RADAR_DISABLE   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KONA_HEV  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI KONA HYBRID 2020 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Kona Hybrid 2020 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_i ] ) ) ,   # TODO: check packages,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  SANTA_FE  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI SANTA FE 2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Santa Fe 2019-20 " ,  " All " ,  video_link = " https://youtu.be/bjDR0YjM__s " ,   
			
		
	
		
			
				
					                               car_parts = CarParts . common ( [ CarHarness . hyundai_d ] ) ) ,   
			
		
	
		
			
				
					  CAR . SANTA_FE_2022 :  HyundaiCarInfo ( " Hyundai Santa Fe 2021-23 " ,  " All " ,  video_link = " https://youtu.be/VnHzSTygTS4 " ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR  |  HyundaiFlags . CHECKSUM_CRC8   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  SANTA_FE_2022  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI SANTA FE 2022 " ,   
			
		
	
		
			
				
					     HyundaiCarInfo ( " Hyundai Santa Fe 2021-23 " ,  " All " ,  video_link = " https://youtu.be/VnHzSTygTS4 " ,   
			
		
	
		
			
				
					                                    car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					  CAR . SANTA_FE_HEV_2022 :  HyundaiCarInfo ( " Hyundai Santa Fe Hybrid 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					  CAR . SANTA_FE_PHEV_2022 :  HyundaiCarInfo ( " Hyundai Santa Fe Plug-in Hybrid 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					  CAR . SONATA :  HyundaiCarInfo ( " Hyundai Sonata 2020-23 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=ix63r9kE3Fw " ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_CRC8   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  SANTA_FE_HEV_2022  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI SANTA FE HYBRID 2022 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Santa Fe Hybrid 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_CRC8  |  HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  SANTA_FE_PHEV_2022  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI SANTA FE PlUG-IN HYBRID 2022 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Santa Fe Plug-in Hybrid 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_CRC8  |  HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  SONATA  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI SONATA 2020 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Sonata 2020-23 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=ix63r9kE3Fw " ,   
			
		
	
		
			
				
					                             car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  CAR . STARIA_4TH_GEN :  HyundaiCarInfo ( " Hyundai Staria 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  CAR . SONATA_LF :  HyundaiCarInfo ( " Hyundai Sonata 2018-19 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					  CAR . TUCSON :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Tucson 2021 " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Tucson Diesel 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . PALISADE :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Palisade 2020-22 " ,  " All " ,  video_link = " https://youtu.be/TAnDqjF4fDY?t=456 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Telluride 2020-22 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . VELOSTER :  HyundaiCarInfo ( " Hyundai Veloster 2019-20 " ,  min_enable_speed = 5.  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					  CAR . SONATA_HYBRID :  HyundaiCarInfo ( " Hyundai Sonata Hybrid 2020-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_5 :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq 5 (Southeast Asia only) 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_q ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq 5 (without HDA II) 2022-23 " ,  " Highway Driving Assist " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq 5 (with HDA II) 2022-23 " ,  " Highway Driving Assist II " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_q ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . IONIQ_6 :  [   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR  |  HyundaiFlags . CHECKSUM_CRC8   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  SONATA_LF  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI SONATA 2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Sonata 2018-19 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . UNSUPPORTED_LONGITUDINAL  |  HyundaiFlags . TCU_GEARS   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  STARIA_4TH_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI STARIA 4TH GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Staria 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  TUCSON  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI TUCSON 2019 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Tucson 2021 " ,  min_enable_speed = 19  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Tucson Diesel 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . TCU_GEARS   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  PALISADE  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI PALISADE 2020 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Palisade 2020-22 " ,  " All " ,  video_link = " https://youtu.be/TAnDqjF4fDY?t=456 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Telluride 2020-22 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR  |  HyundaiFlags . CHECKSUM_CRC8   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  VELOSTER  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI VELOSTER 2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Veloster 2019-20 " ,  min_enable_speed = 5.  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . LEGACY  |  HyundaiFlags . TCU_GEARS   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  SONATA_HYBRID  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI SONATA HYBRID 2021 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Sonata Hybrid 2020-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR  |  HyundaiFlags . CHECKSUM_CRC8  |  HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  IONIQ_5  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI IONIQ 5 2022 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Ioniq 5 (Southeast Asia only) 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_q ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Ioniq 5 (without HDA II) 2022-23 " ,  " Highway Driving Assist " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Ioniq 5 (with HDA II) 2022-23 " ,  " Highway Driving Assist II " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_q ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . EV   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  IONIQ_6  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI IONIQ 6 2023 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Ioniq 6 (with HDA II) 2023 " ,  " Highway Driving Assist II " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_p ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . TUCSON_4TH_GEN :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Tucson 2022 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Tucson 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Tucson Hybrid 2022-24 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . SANTA_CRUZ_1ST_GEN :  HyundaiCarInfo ( " Hyundai Santa Cruz 2022-23 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					  CAR . CUSTIN_1ST_GEN :  HyundaiCarInfo ( " Hyundai Custin 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . EV  |  HyundaiFlags . CANFD_NO_RADAR_DISABLE   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  TUCSON_4TH_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI TUCSON 4TH GEN " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Tucson 2022 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Tucson 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Hyundai Tucson Hybrid 2022-24 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  SANTA_CRUZ_1ST_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI SANTA CRUZ 1ST GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Santa Cruz 2022-23 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  CUSTIN_1ST_GEN  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " HYUNDAI CUSTIN 1ST GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Hyundai Custin 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_CRC8   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  # Kia   
			
		
	
		
			
				
					  CAR . KIA_FORTE :  [   
			
		
	
		
			
				
					  KIA_FORTE  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA FORTE E 2018 & GT 2021 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Forte 2019-21 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_g ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Forte 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_K5_2021 :  HyundaiCarInfo ( " Kia K5 2021-24 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_K5_HEV_2020 :  HyundaiCarInfo ( " Kia K5 Hybrid 2020-22 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_K8_HEV_1ST_GEN :  HyundaiCarInfo ( " Kia K8 Hybrid (with HDA II) 2023 " ,  " Highway Driving Assist II " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_q ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_EV :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro EV 2019 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro EV 2020 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro EV 2021 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro EV 2022 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_EV_2ND_GEN :  HyundaiCarInfo ( " Kia Niro EV 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_PHEV :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2018-19 " ,  " All " ,  min_enable_speed = 10.  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2020 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_d ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_PHEV_2022 :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2021 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_d ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2022 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_HEV_2021 :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro Hybrid 2021 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_d ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro Hybrid 2022 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_HEV_2ND_GEN :  HyundaiCarInfo ( " Kia Niro Hybrid 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_OPTIMA_G4 :  HyundaiCarInfo ( " Kia Optima 2017 " ,  " Advanced Smart Cruise Control " ,   
			
		
	
		
			
				
					  ]   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_K5_2021  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA K5 2021 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia K5 2021-24 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_CRC8   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_K5_HEV_2020  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA K5 HYBRID 2020 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia K5 Hybrid 2020-22 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR  |  HyundaiFlags . CHECKSUM_CRC8  |  HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_K8_HEV_1ST_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " KIA K8 HYBRID 1ST GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia K8 Hybrid (with HDA II) 2023 " ,  " Highway Driving Assist II " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_q ] ) ) ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_NIRO_EV  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA NIRO EV 2020 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro EV 2019 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro EV 2020 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro EV 2021 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro EV 2022 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR  |  HyundaiFlags . EV   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_NIRO_EV_2ND_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " KIA NIRO EV 2ND GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro EV 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . EV   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_NIRO_PHEV  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA NIRO HYBRID 2019 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2018-19 " ,  " All " ,  min_enable_speed = 10.  *  CV . MPH_TO_MS ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2020 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_d ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR  |  HyundaiFlags . HYBRID  |  HyundaiFlags . UNSUPPORTED_LONGITUDINAL   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_NIRO_PHEV_2022  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA NIRO PLUG-IN HYBRID 2022 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2021 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_d ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2022 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID  |  HyundaiFlags . MANDO_RADAR   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_NIRO_HEV_2021  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA NIRO HYBRID 2021 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro Hybrid 2021 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_d ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Niro Hybrid 2022 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_NIRO_HEV_2ND_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " KIA NIRO HYBRID 2ND GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Niro Hybrid 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_OPTIMA_G4  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA OPTIMA 4TH GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Optima 2017 " ,  " Advanced Smart Cruise Control " ,   
			
		
	
		
			
				
					                                    car_parts = CarParts . common ( [ CarHarness . hyundai_b ] ) ) ,   # TODO: may support 2016, 2018   
			
		
	
		
			
				
					  CAR . KIA_OPTIMA_G4_FL :  HyundaiCarInfo ( " Kia Optima 2019-20 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_g ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . LEGACY  |  HyundaiFlags . TCU_GEARS   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_OPTIMA_G4_FL  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA OPTIMA 4TH GEN FACELIFT " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Optima 2019-20 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_g ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . UNSUPPORTED_LONGITUDINAL  |  HyundaiFlags . TCU_GEARS   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  # TODO: may support adjacent years. may have a non-zero minimum steering speed   
			
		
	
		
			
				
					  CAR . KIA_OPTIMA_H :  HyundaiCarInfo ( " Kia Optima Hybrid 2017 " ,  " Advanced Smart Cruise Control " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_OPTIMA_H_G4_FL :  HyundaiCarInfo ( " Kia Optima Hybrid 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_SELTOS :  HyundaiCarInfo ( " Kia Seltos 2021 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_SPORTAGE_5TH_GEN :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Sportage 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Sportage Hybrid 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_SORENTO :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Sorento 2018 " ,  " Advanced Smart Cruise Control & LKAS " ,  video_link = " https://www.youtube.com/watch?v=Fkh3s6WHJz8 " ,   
			
		
	
		
			
				
					  KIA_OPTIMA_H  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA OPTIMA HYBRID 2017 & SPORTS 2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Optima Hybrid 2017 " ,  " Advanced Smart Cruise Control " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID  |  HyundaiFlags . LEGACY   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_OPTIMA_H_G4_FL  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA OPTIMA HYBRID 4TH GEN FACELIFT " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Optima Hybrid 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . HYBRID  |  HyundaiFlags . UNSUPPORTED_LONGITUDINAL   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_SELTOS  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA SELTOS 2021 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Seltos 2021 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_CRC8   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_SPORTAGE_5TH_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " KIA SPORTAGE 5TH GEN " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Sportage 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Sportage Hybrid 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_n ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_SORENTO  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA SORENTO GT LINE 2018 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Sorento 2018 " ,  " Advanced Smart Cruise Control & LKAS " ,  video_link = " https://www.youtube.com/watch?v=Fkh3s6WHJz8 " ,   
			
		
	
		
			
				
					                   car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Sorento 2019 " ,  video_link = " https://www.youtube.com/watch?v=Fkh3s6WHJz8 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_SORENTO_4TH_GEN :  HyundaiCarInfo ( " Kia Sorento 2021-23 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_SORENTO_HEV_4TH_GEN :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Sorento Hybrid 2021-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Sorento Plug-in Hybrid 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_STINGER :  HyundaiCarInfo ( " Kia Stinger 2018-20 " ,  video_link = " https://www.youtube.com/watch?v=MJ94qoofYw0 " ,   
			
		
	
		
			
				
					                                  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_STINGER_2022 :  HyundaiCarInfo ( " Kia Stinger 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_CEED :  HyundaiCarInfo ( " Kia Ceed 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					  CAR . KIA_EV6 :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia EV6 (Southeast Asia only) 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_p ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia EV6 (without HDA II) 2022-23 " ,  " Highway Driving Assist " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia EV6 (with HDA II) 2022-23 " ,  " Highway Driving Assist II " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_p ] ) )   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . KIA_CARNIVAL_4TH_GEN :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Carnival 2022-24 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Carnival (China only) 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) )   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Sorento 2019 " ,  video_link = " https://www.youtube.com/watch?v=Fkh3s6WHJz8 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . CHECKSUM_6B  |  HyundaiFlags . UNSUPPORTED_LONGITUDINAL   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_SORENTO_4TH_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " KIA SORENTO 4TH GEN " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Sorento 2021-23 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . RADAR_SCC   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_SORENTO_HEV_4TH_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " KIA SORENTO HYBRID 4TH GEN " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Sorento Hybrid 2021-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Sorento Plug-in Hybrid 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . RADAR_SCC   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_STINGER  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA STINGER GT2 2018 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Stinger 2018-20 " ,  video_link = " https://www.youtube.com/watch?v=MJ94qoofYw0 " ,   
			
		
	
		
			
				
					                                  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) )   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_STINGER_2022  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA STINGER 2022 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Stinger 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_CEED  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " KIA CEED INTRO ED 2019 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Kia Ceed 2019 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_e ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . LEGACY   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_EV6  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " KIA EV6 2022 " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia EV6 (Southeast Asia only) 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_p ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia EV6 (without HDA II) 2022-23 " ,  " Highway Driving Assist " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia EV6 (with HDA II) 2022-23 " ,  " Highway Driving Assist II " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_p ] ) )   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . EV   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  KIA_CARNIVAL_4TH_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " KIA CARNIVAL 4TH GEN " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Carnival 2022-24 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Kia Carnival (China only) 2023 " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) )   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . RADAR_SCC   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  # Genesis   
			
		
	
		
			
				
					  CAR . GENESIS_GV60_EV_1ST_GEN :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis GV60 (Advanced Trim) 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis GV60 (Performance Trim) 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . GENESIS_G70 :  HyundaiCarInfo ( " Genesis G70 2018-19 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_G70_2020 :  HyundaiCarInfo ( " Genesis G70 2020 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_GV70_1ST_GEN :  [   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis GV70 (2.5T Trim) 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis GV70 (3.5T Trim) 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_m ] ) ) ,   
			
		
	
		
			
				
					  ] ,   
			
		
	
		
			
				
					  CAR . GENESIS_G80 :  HyundaiCarInfo ( " Genesis G80 2018-19 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_G90 :  HyundaiCarInfo ( " Genesis G90 2017-18 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_GV80 :  HyundaiCarInfo ( " Genesis GV80 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_m ] ) ) ,   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					  GENESIS_GV60_EV_1ST_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " GENESIS GV60 ELECTRIC 1ST GEN " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Genesis GV60 (Advanced Trim) 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_a ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Genesis GV60 (Performance Trim) 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . EV   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  GENESIS_G70  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " GENESIS G70 2018 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis G70 2018-19 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . LEGACY   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  GENESIS_G70_2020  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " GENESIS G70 2020 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis G70 2020 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_f ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . MANDO_RADAR   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  GENESIS_GV70_1ST_GEN  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " GENESIS GV70 1ST GEN " ,   
			
		
	
		
			
				
					    [   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Genesis GV70 (2.5T Trim) 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_l ] ) ) ,   
			
		
	
		
			
				
					      HyundaiCarInfo ( " Genesis GV70 (3.5T Trim) 2022-23 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_m ] ) ) ,   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . RADAR_SCC   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  GENESIS_G80  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " GENESIS G80 2017 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis G80 2018-19 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_h ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . LEGACY   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  GENESIS_G90  =  HyundaiPlatformConfig (   
			
		
	
		
			
				
					    " GENESIS G90 2017 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis G90 2017-18 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_c ] ) ) ,   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					  GENESIS_GV80  =  HyundaiCanFDPlatformConfig (   
			
		
	
		
			
				
					    " GENESIS GV80 2023 " ,   
			
		
	
		
			
				
					    HyundaiCarInfo ( " Genesis GV80 2023 " ,  " All " ,  car_parts = CarParts . common ( [ CarHarness . hyundai_m ] ) ) ,   
			
		
	
		
			
				
					    flags = HyundaiFlags . RADAR_SCC   
			
		
	
		
			
				
					  )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					class  Buttons :  
			
		
	
		
			
				
					  NONE  =  0   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -518,118 +737,37 @@ FW_QUERY_CONFIG = FwQueryConfig( 
			
		
	
		
			
				
					  match_fw_to_car_fuzzy = match_fw_to_car_fuzzy ,   
			
		
	
		
			
				
					)  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					CHECKSUM  =  {  
			
		
	
		
			
				
					  " crc8 " :  [ CAR . SANTA_FE ,  CAR . SONATA ,  CAR . PALISADE ,  CAR . KIA_SELTOS ,  CAR . ELANTRA_2021 ,  CAR . ELANTRA_HEV_2021 ,   
			
		
	
		
			
				
					           CAR . SONATA_HYBRID ,  CAR . SANTA_FE_2022 ,  CAR . KIA_K5_2021 ,  CAR . SANTA_FE_HEV_2022 ,  CAR . SANTA_FE_PHEV_2022 ,   
			
		
	
		
			
				
					           CAR . KIA_K5_HEV_2020 ,  CAR . CUSTIN_1ST_GEN ] ,   
			
		
	
		
			
				
					  " 6B " :  [ CAR . KIA_SORENTO ,  CAR . HYUNDAI_GENESIS ] ,   
			
		
	
		
			
				
					  " crc8 " :  CAR . with_flags ( HyundaiFlags . CHECKSUM_CRC8 ) ,   
			
		
	
		
			
				
					  " 6B " :  CAR . with_flags ( HyundaiFlags . CHECKSUM_6B ) ,   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					CAN_GEARS  =  {  
			
		
	
		
			
				
					  # which message has the gear. hybrid and EV use ELECT_GEAR   
			
		
	
		
			
				
					  " use_cluster_gears " :  { CAR . ELANTRA ,  CAR . ELANTRA_GT_I30 ,  CAR . KONA } ,   
			
		
	
		
			
				
					  " use_tcu_gears " :  { CAR . KIA_OPTIMA_G4 ,  CAR . KIA_OPTIMA_G4_FL ,  CAR . SONATA_LF ,  CAR . VELOSTER ,  CAR . TUCSON } ,   
			
		
	
		
			
				
					  " use_cluster_gears " :  CAR . with_flags ( HyundaiFlags . CLUSTER_GEARS ) ,   
			
		
	
		
			
				
					  " use_tcu_gears " :  CAR . with_flags ( HyundaiFlags . TCU_GEARS ) ,   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					CANFD_CAR  =  { CAR . KIA_EV6 ,  CAR . IONIQ_5 ,  CAR . IONIQ_6 ,  CAR . TUCSON_4TH_GEN ,  CAR . SANTA_CRUZ_1ST_GEN ,  CAR . KIA_SPORTAGE_5TH_GEN ,  CAR . GENESIS_GV70_1ST_GEN ,  
			
		
	
		
			
				
					             CAR . GENESIS_GV60_EV_1ST_GEN ,  CAR . KIA_SORENTO_4TH_GEN ,  CAR . KIA_NIRO_HEV_2ND_GEN ,  CAR . KIA_NIRO_EV_2ND_GEN ,   
			
		
	
		
			
				
					             CAR . GENESIS_GV80 ,  CAR . KIA_CARNIVAL_4TH_GEN ,  CAR . KIA_SORENTO_HEV_4TH_GEN ,  CAR . KONA_EV_2ND_GEN ,  CAR . KIA_K8_HEV_1ST_GEN ,   
			
		
	
		
			
				
					             CAR . STARIA_4TH_GEN }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# The radar does SCC on these cars when HDA I, rather than the camera  
			
		
	
		
			
				
					CANFD_RADAR_SCC_CAR  =  { CAR . GENESIS_GV70_1ST_GEN ,  CAR . KIA_SORENTO_4TH_GEN ,  CAR . GENESIS_GV80 ,  CAR . KIA_CARNIVAL_4TH_GEN ,  CAR . KIA_SORENTO_HEV_4TH_GEN }  
			
		
	
		
			
				
					CANFD_CAR  =  CAR . with_flags ( HyundaiFlags . CANFD )  
			
		
	
		
			
				
					CANFD_RADAR_SCC_CAR  =  CAR . with_flags ( HyundaiFlags . RADAR_SCC )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# These CAN FD cars do not accept communication control to disable the ADAS ECU,  
			
		
	
		
			
				
					# responds with 0x7F2822 - 'conditions not correct'  
			
		
	
		
			
				
					CANFD_UNSUPPORTED_LONGITUDINAL_CAR  =  { CAR . IONIQ_6 ,  CAR . KONA_EV_2ND_GEN }  
			
		
	
		
			
				
					CANFD_UNSUPPORTED_LONGITUDINAL_CAR  =  CAR . with_flags ( HyundaiFlags . CANFD_NO_RADAR_DISABLE )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# The camera does SCC on these cars, rather than the radar  
			
		
	
		
			
				
					CAMERA_SCC_CAR  =  { CAR . KONA_EV_2022 ,  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# these cars use a different gas signal  
			
		
	
		
			
				
					HYBRID_CAR  =  { CAR . IONIQ_PHEV ,  CAR . ELANTRA_HEV_2021 ,  CAR . KIA_NIRO_PHEV ,  CAR . KIA_NIRO_HEV_2021 ,  CAR . SONATA_HYBRID ,  CAR . KONA_HEV ,  CAR . IONIQ ,  
			
		
	
		
			
				
					              CAR . IONIQ_HEV_2022 ,  CAR . SANTA_FE_HEV_2022 ,  CAR . SANTA_FE_PHEV_2022 ,  CAR . IONIQ_PHEV_2019 ,  CAR . KIA_K5_HEV_2020 ,   
			
		
	
		
			
				
					              CAR . KIA_OPTIMA_H ,  CAR . KIA_OPTIMA_H_G4_FL ,  CAR . AZERA_HEV_6TH_GEN ,  CAR . KIA_NIRO_PHEV_2022 }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					EV_CAR  =  { CAR . IONIQ_EV_2020 ,  CAR . IONIQ_EV_LTD ,  CAR . KONA_EV ,  CAR . KIA_NIRO_EV ,  CAR . KIA_NIRO_EV_2ND_GEN ,  CAR . KONA_EV_2022 ,  
			
		
	
		
			
				
					          CAR . KIA_EV6 ,  CAR . IONIQ_5 ,  CAR . IONIQ_6 ,  CAR . GENESIS_GV60_EV_1ST_GEN ,  CAR . KONA_EV_2ND_GEN }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# these cars require a special panda safety mode due to missing counters and checksums in the messages  
			
		
	
		
			
				
					LEGACY_SAFETY_MODE_CAR  =  { CAR . HYUNDAI_GENESIS ,  CAR . IONIQ_EV_LTD ,  CAR . KIA_OPTIMA_G4 ,  
			
		
	
		
			
				
					                          CAR . VELOSTER ,  CAR . GENESIS_G70 ,  CAR . GENESIS_G80 ,  CAR . KIA_CEED ,  CAR . ELANTRA ,  CAR . IONIQ_HEV_2022 ,   
			
		
	
		
			
				
					                          CAR . KIA_OPTIMA_H ,  CAR . ELANTRA_GT_I30 }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# these cars have not been verified to work with longitudinal yet - radar disable, sending correct messages, etc.  
			
		
	
		
			
				
					UNSUPPORTED_LONGITUDINAL_CAR  =  LEGACY_SAFETY_MODE_CAR  |  { CAR . KIA_NIRO_PHEV ,  CAR . KIA_SORENTO ,  CAR . SONATA_LF ,  CAR . KIA_OPTIMA_G4_FL ,  
			
		
	
		
			
				
					                                                         CAR . KIA_OPTIMA_H_G4_FL }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# If 0x500 is present on bus 1 it probably has a Mando radar outputting radar points.  
			
		
	
		
			
				
					# If no points are outputted by default it might be possible to turn it on using  selfdrive/debug/hyundai_enable_radar_points.py  
			
		
	
		
			
				
					DBC  =  {  
			
		
	
		
			
				
					  CAR . AZERA_6TH_GEN :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . AZERA_HEV_6TH_GEN :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . ELANTRA :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . ELANTRA_GT_I30 :  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 . GENESIS_G70 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_G70_2020 :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_G80 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_G90 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . HYUNDAI_GENESIS :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_PHEV_2019 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_PHEV :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_EV_2020 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_EV_LTD :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . IONIQ :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_HEV_2022 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_FORTE :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_K5_2021 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_K5_HEV_2020 :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_EV :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_PHEV :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_HEV_2021 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_OPTIMA_G4 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_OPTIMA_G4_FL :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_OPTIMA_H :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_OPTIMA_H_G4_FL :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_SELTOS :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_SORENTO :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,  # Has 0x5XX messages, but different format   
			
		
	
		
			
				
					  CAR . KIA_STINGER :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_STINGER_2022 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KONA :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KONA_EV :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KONA_EV_2022 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KONA_HEV :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . SANTA_FE :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . SANTA_FE_2022 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . SANTA_FE_HEV_2022 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . SANTA_FE_PHEV_2022 :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . SONATA :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . SONATA_LF :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,  # Has 0x5XX messages, but different format   
			
		
	
		
			
				
					  CAR . TUCSON :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . PALISADE :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . VELOSTER :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_CEED :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_EV6 :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . SONATA_HYBRID :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . TUCSON_4TH_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_5 :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . IONIQ_6 :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . SANTA_CRUZ_1ST_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_SPORTAGE_5TH_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_GV70_1ST_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_GV60_EV_1ST_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_SORENTO_4TH_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_HEV_2ND_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_EV_2ND_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . GENESIS_GV80 :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_CARNIVAL_4TH_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_SORENTO_HEV_4TH_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KONA_EV_2ND_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_K8_HEV_1ST_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . CUSTIN_1ST_GEN :  dbc_dict ( ' hyundai_kia_generic ' ,  None ) ,   
			
		
	
		
			
				
					  CAR . KIA_NIRO_PHEV_2022 :  dbc_dict ( ' hyundai_kia_generic ' ,  ' hyundai_kia_mando_front_radar_generated ' ) ,   
			
		
	
		
			
				
					  CAR . STARIA_4TH_GEN :  dbc_dict ( ' hyundai_canfd ' ,  None ) ,   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					CAMERA_SCC_CAR  =  CAR . with_flags ( HyundaiFlags . CAMERA_SCC )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					HYBRID_CAR  =  CAR . with_flags ( HyundaiFlags . HYBRID )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					EV_CAR  =  CAR . with_flags ( HyundaiFlags . EV )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					LEGACY_SAFETY_MODE_CAR  =  CAR . with_flags ( HyundaiFlags . LEGACY )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					UNSUPPORTED_LONGITUDINAL_CAR  =  CAR . with_flags ( HyundaiFlags . LEGACY )  |  CAR . with_flags ( HyundaiFlags . UNSUPPORTED_LONGITUDINAL )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					CAR_INFO  =  CAR . create_carinfo_map ( )  
			
		
	
		
			
				
					DBC  =  CAR . create_dbc_map ( )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					if  __name__  ==  " __main__ " :  
			
		
	
		
			
				
					  CAR . print_debug ( HyundaiFlags )