@ -85,8 +85,8 @@ class CAR:
KIA_NIRO_EV = " KIA NIRO EV 2020 "
KIA_NIRO_PHEV = " KIA NIRO HYBRID 2019 "
KIA_NIRO_HEV_2021 = " KIA NIRO HYBRID 2021 "
KIA_OPTIMA = " KIA OPTIMA 2016 "
KIA_OPTIMA_2019 = " KIA OPTIMA 2019 "
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_SELTOS = " KIA SELTOS 2021 "
KIA_SORENTO = " KIA SORENTO GT LINE 2018 "
@ -109,8 +109,11 @@ class HyundaiCarInfo(CarInfo):
CAR_INFO : Dict [ str , Optional [ Union [ HyundaiCarInfo , List [ HyundaiCarInfo ] ] ] ] = {
CAR . ELANTRA : HyundaiCarInfo ( " Hyundai Elantra 2017-19 " , min_enable_speed = 19 * CV . MPH_TO_MS , harness = Harness . hyundai_b ) ,
CAR . ELANTRA_2021 : HyundaiCarInfo ( " Hyundai Elantra 2021-22 " , video_link = " https://youtu.be/_EdYQtV52-c " , harness = Harness . hyundai_k ) ,
CAR . ELANTRA_HEV_2021 : HyundaiCarInfo ( " Hyundai Elantra Hybrid 2021-22 " , video_link = " https://youtu.be/_EdYQtV52-c " , harness = Harness . hyundai_k ) ,
CAR . ELANTRA_GT_I30 : None , # dashcamOnly and same platform as CAR.ELANTRA
CAR . ELANTRA_HEV_2021 : HyundaiCarInfo ( " Hyundai Elantra Hybrid 2021-23 " , video_link = " https://youtu.be/_EdYQtV52-c " , harness = Harness . hyundai_k ) ,
CAR . ELANTRA_GT_I30 : [
HyundaiCarInfo ( " Hyundai Elantra GT 2017-19 " , harness = Harness . hyundai_e ) ,
HyundaiCarInfo ( " Hyundai i30 2019 " , harness = Harness . hyundai_e ) ,
] ,
CAR . HYUNDAI_GENESIS : HyundaiCarInfo ( " Hyundai Genesis 2015-16 " , min_enable_speed = 19 * CV . MPH_TO_MS , harness = Harness . hyundai_j ) , # TODO: check 2015 packages
CAR . IONIQ : HyundaiCarInfo ( " Hyundai Ioniq Hybrid 2017-19 " , harness = Harness . hyundai_c ) ,
CAR . IONIQ_HEV_2022 : HyundaiCarInfo ( " Hyundai Ioniq Hybrid 2020-22 " , harness = Harness . hyundai_h ) , # TODO: confirm 2020-21 harness
@ -138,7 +141,10 @@ CAR_INFO: Dict[str, Optional[Union[HyundaiCarInfo, List[HyundaiCarInfo]]]] = {
] ,
CAR . VELOSTER : HyundaiCarInfo ( " Hyundai Veloster 2019-20 " , min_enable_speed = 5. * CV . MPH_TO_MS , harness = Harness . hyundai_e ) ,
CAR . SONATA_HYBRID : HyundaiCarInfo ( " Hyundai Sonata Hybrid 2020-22 " , " All " , harness = Harness . hyundai_a ) ,
CAR . IONIQ_5 : HyundaiCarInfo ( " Hyundai Ioniq 5 2022 " , " Highway Driving Assist II " , harness = Harness . hyundai_q ) ,
CAR . IONIQ_5 : [
HyundaiCarInfo ( " Hyundai Ioniq 5 (without HDA II) 2022 " , " Highway Driving Assist " , harness = Harness . hyundai_k ) ,
HyundaiCarInfo ( " Hyundai Ioniq 5 (with HDA II) 2022 " , " Highway Driving Assist II " , harness = Harness . hyundai_q ) ,
] ,
CAR . TUCSON_HYBRID_4TH_GEN : HyundaiCarInfo ( " Hyundai Tucson Hybrid 2022 " , " All " , harness = Harness . hyundai_n ) ,
# Kia
@ -155,8 +161,8 @@ CAR_INFO: Dict[str, Optional[Union[HyundaiCarInfo, List[HyundaiCarInfo]]]] = {
HyundaiCarInfo ( " Kia Niro Hybrid 2021 " , harness = Harness . hyundai_f ) , # TODO: could be hyundai_d, verify
HyundaiCarInfo ( " Kia Niro Hybrid 2022 " , harness = Harness . hyundai_h ) ,
] ,
CAR . KIA_OPTIMA : HyundaiCarInfo ( " Kia Optima 2017 " , " Advanced Smart Cruise Control " , harness = Harness . hyundai_b ) , # TODO: may support 2016, 2018
CAR . KIA_OPTIMA_2019 : HyundaiCarInfo ( " Kia Optima 2019-20 " , harness = Harness . hyundai_g ) ,
CAR . KIA_OPTIMA_G4 : HyundaiCarInfo ( " Kia Optima 2017 " , " Advanced Smart Cruise Control " , harness = Harness . hyundai_b ) , # TODO: may support 2016, 2018
CAR . KIA_OPTIMA_G4_FL : HyundaiCarInfo ( " Kia Optima 2019-20 " , harness = Harness . hyundai_g ) ,
CAR . KIA_OPTIMA_H : [
HyundaiCarInfo ( " Kia Optima Hybrid 2017 " , " Advanced Smart Cruise Control " ) , # TODO: may support adjacent years
HyundaiCarInfo ( " Kia Optima Hybrid 2019 " ) ,
@ -168,7 +174,10 @@ CAR_INFO: Dict[str, Optional[Union[HyundaiCarInfo, List[HyundaiCarInfo]]]] = {
] ,
CAR . KIA_STINGER : HyundaiCarInfo ( " Kia Stinger 2018-20 " , video_link = " https://www.youtube.com/watch?v=MJ94qoofYw0 " , harness = Harness . hyundai_c ) ,
CAR . KIA_CEED : HyundaiCarInfo ( " Kia Ceed 2019 " , harness = Harness . hyundai_e ) ,
CAR . KIA_EV6 : HyundaiCarInfo ( " Kia EV6 2022 " , " Highway Driving Assist II " , harness = Harness . hyundai_p ) ,
CAR . KIA_EV6 : [
HyundaiCarInfo ( " Kia EV6 (without HDA II) 2022 " , " Highway Driving Assist " , harness = Harness . hyundai_l ) ,
HyundaiCarInfo ( " Kia EV6 (with HDA II) 2022 " , " Highway Driving Assist II " , harness = Harness . hyundai_p )
] ,
# Genesis
CAR . GENESIS_G70 : HyundaiCarInfo ( " Genesis G70 2018-19 " , " All " , harness = Harness . hyundai_f ) ,
@ -284,12 +293,30 @@ FW_QUERY_CONFIG = FwQueryConfig(
Request (
[ HYUNDAI_VERSION_REQUEST_LONG ] ,
[ HYUNDAI_VERSION_RESPONSE ] ,
whitelist_ecus = [ Ecu . transmission , Ecu . eps , Ecu . abs , Ecu . fwdRadar , Ecu . fwdCamera ] ,
) ,
Request (
[ HYUNDAI_VERSION_REQUEST_MULTI ] ,
[ HYUNDAI_VERSION_RESPONSE ] ,
whitelist_ecus = [ Ecu . engine , Ecu . transmission , Ecu . eps , Ecu . abs , Ecu . fwdRadar ] ,
) ,
# CAN-FD queries
Request (
[ HYUNDAI_VERSION_REQUEST_LONG ] ,
[ HYUNDAI_VERSION_RESPONSE ] ,
whitelist_ecus = [ Ecu . fwdRadar ] ,
bus = 4 ,
) ,
Request (
[ HYUNDAI_VERSION_REQUEST_LONG ] ,
[ HYUNDAI_VERSION_RESPONSE ] ,
whitelist_ecus = [ Ecu . fwdCamera , Ecu . adas ] ,
bus = 5 ,
) ,
] ,
extra_ecus = [
( Ecu . adas , 0x730 , None ) , # ADAS Driving ECU on HDA2 platforms
] ,
)
FW_VERSIONS = {
@ -729,6 +756,7 @@ FW_VERSIONS = {
b ' \xf1 \x81 640E0051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
b ' \xf1 \x82 CKJN3TMSDE0B \x00 \x00 \x00 \x00 ' ,
b ' \xf1 \x82 CKKN3TMD_H0A \x00 \x00 \x00 \x00 ' ,
b ' \xe0 \x19 \xff \xe7 \xe7 g \x01 \xa2 \x00 \x0f \x00 \x9e \x00 \x06 \x00 \xff \xff \xff \xff \xff \xff \x00 \x00 \xff \xff \xff \xff \xff \xff \x00 \x00 \x0f \x0e \x0f \x0f \x0e \r \x00 \x00 \x7f \x02 . \xff \x00 \x00 ~p \x00 \x00 \x00 \x00 u \xff \xf9 \xff \x00 \x00 \x00 \x00 V \t \xd5 \x01 \xc0 \x00 \x00 \x00 \x00 7 \xfb \xfc \x0b \x8d \x00 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 CK MDPS R 1.00 1.04 57700-J5200 4C2CL104 ' ,
@ -751,6 +779,8 @@ FW_VERSIONS = {
b ' \xf1 \x87 VDKLJ18675252DK6 \x89 vhgwwwwveVU \x88 w \x87 w \x99 vgf \x97 vXfgw_ \xff \xc2 \xfb \xf1 \x89 E25 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x82 TCK0T33NB2 ' ,
b ' \xf1 \x87 WAJTE17552812CH4vfFffvfVeT5DwvvVVdFeegeg \x88 \x88 o \xff \x1a ] \xf1 \x81 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 TCK2T20NB1 \x19 \xd2 \x00 \x94 ' ,
b ' \xf1 \x87 VDHLG17274082DK2wfFf \x89 x \x98 wUT5T \x88 v \x97 xgeGefTGTVvO \xff \x1c \x14 \xf1 \x81 E19 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 E19 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SCK0T33UB2 \xee [ \x97 S ' ,
b ' \xf1 \x87 VDHLG17000192DK2xdFffT \xa5 VUD$DwT \x86 wveVeeD&T \x99 \xba \x8f \xff \xcc \x99 \xf1 \x81 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SCK0T33NB0 \t \xb7 \x17 \xf5 ' ,
b ' \xf1 \x00 bcsh8p54 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SCK0T33NB0 \t \xb7 \x17 \xf5 ' ,
] ,
} ,
CAR . PALISADE : {
@ -1136,7 +1166,7 @@ FW_VERSIONS = {
b ' \xf1 \x87 954A22D200 \xf1 \x81 T01950A1 \xf1 \000 T0190XBL T01950A1 DSP2T16X4X950NS8 \r \xfe \x9c \x8b ' ,
] ,
} ,
CAR . KIA_OPTIMA : {
CAR . KIA_OPTIMA_G4 : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 JF__ SCC F-CUP 1.00 1.00 96400-D4100 ' ,
] ,
@ -1150,7 +1180,7 @@ FW_VERSIONS = {
b ' \xf1 \x87 \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xff \xf1 \x81 6T6J0051 \x00 \x00 \xf1 \x00 6T6J0_C2 \x00 \x00 6T6J0051 \x00 \x00 TJF0T20NSB \x00 \x00 \x00 \x00 ' ,
] ,
} ,
CAR . KIA_OPTIMA_2019 : {
CAR . KIA_OPTIMA_G4_FL : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 JF__ SCC F-CUP 1.00 1.00 96400-D4110 ' ,
] ,
@ -1215,26 +1245,29 @@ FW_VERSIONS = {
] ,
} ,
CAR . ELANTRA_HEV_2021 : {
( Ecu . fwdCamera , 0x7c4 , None ) : [
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 CN7HMFC AT USA LHD 1.00 1.05 99210-AA000 210930 ' ,
b ' \xf1 \000 CN7HMFC AT USA LHD 1.00 1.03 99210-AA000 200819 ' ,
b ' \xf1 \x00 CN7HMFC AT USA LHD 1.00 1.07 99210-AA000 220426 ' ,
] ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \000 CNhe SCC FHCUP 1.00 1.01 99110-BY000 ' ,
b ' \xf1 \x87 99110BY000 \xf1 \x00 CNhe SCC FHCUP 1.00 1.01 99110-BY000 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 CN7 MDPS C 1.00 1.03 56310BY0500 4CNHC103 ' ,
b ' \xf1 \x87 56310/BY050 \xf1 \x00 CN7 MDPS C 1.00 1.03 56310/BY050 4CNHC103 ' ,
b ' \xf1 \x87 56310/BY050 \xf1 \000 CN7 MDPS C 1.00 1.02 56310/BY050 4CNHC102 ' ,
] ,
( Ecu . transmission , 0x7e1 , None ) : [
( Ecu . transmission , 0x7e1 , None ) : [
b ' \xf1 \000 6U3L0_C2 \000 \000 6U3K3051 \000 \000 HCN0G16NS0 \xb9 ?A \xaa ' ,
b ' \xf1 \000 6U3L0_C2 \000 \000 6U3K3051 \000 \000 HCN0G16NS0 \000 \000 \000 \000 ' ,
b ' \xf1 \x81 6U3K3051 \000 \000 \xf1 \000 6U3L0_C2 \000 \000 6U3K3051 \000 \000 HCN0G16NS0 \xb9 ?A \xaa ' ,
b ' \xf1 \x81 6U3K3051 \x00 \x00 \xf1 \x00 6U3L0_C2 \x00 \x00 6U3K3051 \x00 \x00 HCN0G16NS0 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . engine , 0x7e0 , None ) : [
( Ecu . engine , 0x7e0 , None ) : [
b ' \xf1 \x81 6H6G5051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
b ' \xf1 \x81 6H6G6051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
]
} ,
CAR . KONA_HEV : {
@ -1306,33 +1339,17 @@ FW_VERSIONS = {
] ,
} ,
CAR . KIA_EV6 : {
( Ecu . abs , 0x7d1 , None ) : [
b ' \xf1 \x00 CV IEB \x03 101! \x10 \x18 58520-CV100 ' ,
b ' \xf1 \x87 58520CV100 \xf1 \x00 CV IEB \x02 101! \x10 \x18 58520-CV100 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 CV1 MDPS R 1.00 1.04 57700-CV000 1B30 ' ,
] ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 CV1_ RDR ----- 1.00 1.01 99110-CV000 ' ,
b ' \xf1 \x87 99110CV000 \xf1 \x00 CV1_ RDR ----- 1.00 1.01 99110-CV000 ' ,
] ,
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 CV1 MFC AT USA LHD 1.00 1.05 99210-CV000 211027 ' ,
b ' \xf1 \x00 CV1 MFC AT USA LHD 1.00 1.06 99210-CV000 220328 ' ,
b ' \xf1 \x00 CV1 MFC AT EUR LHD 1.00 1.05 99210-CV000 211027 ' ,
] ,
} ,
CAR . IONIQ_5 : {
( Ecu . abs , 0x7d1 , None ) : [
b ' \xf1 \x00 NE1 IEB \x07 106! \x11 ) 58520-GI010 ' ,
b ' \xf1 \x87 58520GI010 \xf1 \x00 NE1 IEB \x07 106! \x11 ) 58520-GI010 ' ,
b ' \xf1 \x00 NE1 IEB \x08 104! \x04 \x05 58520-GI000 ' ,
b ' \xf1 \x87 58520GI000 \xf1 \x00 NE1 IEB \x08 104! \x04 \x05 58520-GI000 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 NE MDPS R 1.00 1.06 57700GI000 4NEDR106 ' ,
b ' \xf1 \x87 57700GI000 \xf1 \x00 NE MDPS R 1.00 1.06 57700GI000 4NEDR106 ' ,
] ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 NE1_ RDR ----- 1.00 1.00 99110-GI000 ' ,
b ' \xf1 \x87 99110GI000 \xf1 \x00 NE1_ RDR ----- 1.00 1.00 99110-GI000 ' ,
@ -1346,15 +1363,8 @@ FW_VERSIONS = {
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 NX4 FR_CMR AT USA LHD 1.00 1.00 99211-N9240 14Q ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 NX4 MDPS C 1.00 1.01 56300-P0100 2228 ' ,
] ,
( Ecu . engine , 0x7e0 , None ) : [
b ' \xf1 \x87 391312MND0 ' ,
] ,
( Ecu . transmission , 0x7e1 , None ) : [
b ' \xf1 \x00 PSBG2441 G19_Rev \x00 \x00 \x00 SNX4T16XXHS01NS2lS \xdf a ' ,
b ' \xf1 \x87 95441-3D220 \x00 \xf1 \x81 G19_Rev \x00 \x00 \x00 \xf1 \x00 PSBG2441 G19_Rev \x00 \x00 \x00 SNX4T16XXHS01NS2lS \xdf a ' ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 NX4__ 1.00 1.00 99110-N9100 ' ,
] ,
} ,
}
@ -1367,7 +1377,7 @@ CHECKSUM = {
FEATURES = {
# which message has the gear
" use_cluster_gears " : { CAR . ELANTRA , CAR . ELANTRA_GT_I30 , CAR . KONA } ,
" use_tcu_gears " : { CAR . KIA_OPTIMA , CAR . KIA_OPTIMA_2019 , CAR . SONATA_LF , CAR . VELOSTER , CAR . TUCSON } ,
" use_tcu_gears " : { CAR . KIA_OPTIMA_G4 , CAR . KIA_OPTIMA_G4_FL , CAR . SONATA_LF , CAR . VELOSTER , CAR . TUCSON } ,
" use_elect_gears " : { CAR . KIA_NIRO_EV , CAR . KIA_NIRO_PHEV , CAR . KIA_NIRO_HEV_2021 , 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 , CAR . KONA_HEV , CAR . IONIQ_HEV_2022 , CAR . SANTA_FE_HEV_2022 , CAR . SANTA_FE_PHEV_2022 , CAR . IONIQ_PHEV_2019 , CAR . KONA_EV_2022 } ,
# these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12
@ -1379,11 +1389,11 @@ CANFD_CAR = {CAR.KIA_EV6, CAR.IONIQ_5, CAR.TUCSON_HYBRID_4TH_GEN}
# The camera does SCC on these cars, rather than the radar
CAMERA_SCC_CAR = { CAR . KONA_EV_2022 , }
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 } # these cars use a different gas signal
EV_CAR = { CAR . IONIQ_EV_2020 , CAR . IONIQ_EV_LTD , CAR . KONA_EV , CAR . KIA_NIRO_EV , CAR . KONA_EV_2022 }
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 . TUCSON_HYBRID_4TH_GEN } # these cars use a different gas signal
EV_CAR = { CAR . IONIQ_EV_2020 , CAR . IONIQ_EV_LTD , CAR . KONA_EV , CAR . KIA_NIRO_EV , CAR . KONA_EV_2022 , CAR . KIA_EV6 , CAR . IONIQ_5 }
# 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_2020 , CAR . IONIQ_EV_LTD , CAR . IONIQ_PHEV , CAR . IONIQ , CAR . KONA_EV , CAR . KIA_SORENTO , CAR . SONATA_LF , CAR . KIA_OPTIMA , CAR . KIA_OPTIMA_2019 , CAR . VELOSTER , CAR . KIA_STINGER , CAR . GENESIS_G70 , CAR . GENESIS_G80 , CAR . KIA_CEED , CAR . ELANTRA , CAR . IONIQ_HEV_2022 }
LEGACY_SAFETY_MODE_CAR = { CAR . HYUNDAI_GENESIS , CAR . IONIQ_EV_2020 , CAR . IONIQ_EV_LTD , CAR . IONIQ_PHEV , CAR . IONIQ , CAR . KONA_EV , CAR . KIA_SORENTO , CAR . SONATA_LF , CAR . KIA_OPTIMA_G4 , CAR . KIA_OPTIMA_G4_FL , CAR . VELOSTER , CAR . KIA_STINGER , CAR . GENESIS_G70 , CAR . GENESIS_G80 , CAR . KIA_CEED , CAR . ELANTRA , CAR . IONIQ_HEV_2022 }
# 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
@ -1408,8 +1418,8 @@ DBC = {
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 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_OPTIMA_2019 : 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_SELTOS : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_SORENTO : dbc_dict ( ' hyundai_kia_generic ' , None ) , # Has 0x5XX messages, but different format