@ -92,6 +92,7 @@ class CAR:
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 "
TUCSON_HYBRID_4TH_GEN = " HYUNDAI TUCSON HYBRID 4TH GEN "
SANTA_CRUZ_1ST_GEN = " HYUNDAI SANTA CRUZ 1ST GEN "
@ -190,6 +191,10 @@ CAR_INFO: Dict[str, Optional[Union[HyundaiCarInfo, List[HyundaiCarInfo]]]] = {
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 : [
HyundaiCarInfo ( " Hyundai Ioniq 6 (without HDA II) 2023 " , " Highway Driving Assist " , car_parts = CarParts . common ( [ CarHarness . hyundai_k ] ) ) , # TODO: unknown
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 ] ) ) ,
@ -1766,6 +1771,14 @@ FW_VERSIONS = {
b ' \xf1 \x00 NE1 MFC AT USA LHD 1.00 1.03 99211-GI010 220401 ' ,
] ,
} ,
CAR . IONIQ_6 : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 CE__ RDR ----- 1.00 1.01 99110-KL000 ' ,
] ,
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 CE MFC AT USA LHD 1.00 1.04 99211-KL000 221213 ' ,
] ,
} ,
CAR . TUCSON_4TH_GEN : {
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 NX4 FR_CMR AT USA LHD 1.00 1.00 99211-N9210 14G ' ,
@ -1889,7 +1902,7 @@ CAN_GEARS = {
" 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 , CAR . KIA_K5_HEV_2020 } ,
}
CANFD_CAR = { CAR . KIA_EV6 , CAR . IONIQ_5 , CAR . TUCSON_4TH_GEN , CAR . TUCSON_HYBRID_4TH_GEN , CAR . KIA_SPORTAGE_HYBRID_5TH_GEN , CAR . SANTA_CRUZ_1ST_GEN , CAR . KIA_SPORTAGE_5TH_GEN , CAR . GENESIS_GV70_1ST_GEN , CAR . KIA_SORENTO_PHEV_4TH_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 }
CANFD_CAR = { CAR . KIA_EV6 , CAR . IONIQ_5 , CAR . IONIQ_6 , CAR . TUCSON_4TH_GEN , CAR . TUCSON_HYBRID_4TH_GEN , CAR . KIA_SPORTAGE_HYBRID_5TH_GEN , CAR . SANTA_CRUZ_1ST_GEN , CAR . KIA_SPORTAGE_5TH_GEN , CAR . GENESIS_GV70_1ST_GEN , CAR . KIA_SORENTO_PHEV_4TH_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 }
# 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_PHEV_4TH_GEN , CAR . KIA_SORENTO_4TH_GEN , CAR . GENESIS_GV80 , CAR . KIA_CARNIVAL_4TH_GEN }
@ -1898,7 +1911,7 @@ CANFD_RADAR_SCC_CAR = {CAR.GENESIS_GV70_1ST_GEN, CAR.KIA_SORENTO_PHEV_4TH_GEN, C
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 , CAR . TUCSON_HYBRID_4TH_GEN , CAR . KIA_SPORTAGE_HYBRID_5TH_GEN , CAR . KIA_SORENTO_PHEV_4TH_GEN , CAR . KIA_K5_HEV_2020 , CAR . KIA_NIRO_HEV_2ND_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 . KIA_NIRO_EV_2ND_GEN , CAR . KONA_EV_2022 , CAR . KIA_EV6 , CAR . IONIQ_5 , CAR . GENESIS_GV60_EV_1ST_GEN }
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 }
# 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_G4 , CAR . KIA_OPTIMA_G4_FL , CAR . VELOSTER ,
@ -1953,6 +1966,7 @@ DBC = {
CAR . TUCSON_4TH_GEN : dbc_dict ( ' hyundai_canfd ' , None ) ,
CAR . TUCSON_HYBRID_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 . KIA_SPORTAGE_HYBRID_5TH_GEN : dbc_dict ( ' hyundai_canfd ' , None ) ,