@ -39,6 +39,7 @@ class CAR:
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 "
@ -89,6 +90,7 @@ CAR_INFO: Dict[str, Union[HyundaiCarInfo, List[HyundaiCarInfo]]] = {
CAR . IONIQ_HEV_2022 : HyundaiCarInfo ( " Hyundai Ioniq Hybrid 2020-22 " , " SCC + LFA " ) ,
CAR . IONIQ_EV_LTD : HyundaiCarInfo ( " Hyundai Ioniq Electric 2019 " ) ,
CAR . IONIQ_EV_2020 : HyundaiCarInfo ( " Hyundai Ioniq Electric 2020 " ) ,
CAR . IONIQ_PHEV_2019 : HyundaiCarInfo ( " Hyundai Ioniq Plug-in Hybrid 2019 " , " SCC + LKAS " ) ,
CAR . IONIQ_PHEV : HyundaiCarInfo ( " Hyundai Ioniq Plug-in Hybrid 2020-21 " ) ,
CAR . KONA : HyundaiCarInfo ( " Hyundai Kona 2020 " ) ,
CAR . KONA_EV : HyundaiCarInfo ( " Hyundai Kona Electric 2018-19 " ) ,
@ -242,6 +244,24 @@ FW_VERSIONS = {
b ' \xf1 \x81 6U3H1051 \x00 \x00 \xf1 \x00 6U3H0_C2 \x00 \x00 6U3H1051 \x00 \x00 HAE0G16US2 \x00 \x00 \x00 \x00 ' ,
] ,
} ,
CAR . IONIQ_PHEV_2019 : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 AEhe SCC H-CUP 1.01 1.01 96400-G2100 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 AE MDPS C 1.00 1.07 56310/G2501 4AEHC107 ' ,
] ,
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 AEP MFC AT USA LHD 1.00 1.00 95740-G2400 180222 ' ,
] ,
( Ecu . engine , 0x7e0 , None ) : [
b ' \xf1 \x81 6H6F6051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . transmission , 0x7e1 , None ) : [
b ' \xf1 \x81 6U3J2051 \x00 \x00 \xf1 \x00 6U3H0_C2 \x00 \x00 6U3J2051 \x00 \x00 PAE0G16NS1 \xdb D \r \x81 ' ,
b ' \xf1 \x81 6U3J2051 \x00 \x00 \xf1 \x00 6U3H0_C2 \x00 \x00 6U3J2051 \x00 \x00 PAE0G16NS1 \x00 \x00 \x00 \x00 ' ,
] ,
} ,
CAR . IONIQ_PHEV : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \000 AEhe SCC FHCUP 1.00 1.02 99110-G2100 ' ,
@ -1137,13 +1157,13 @@ FEATURES = {
# which message has the gear
" use_cluster_gears " : { CAR . ELANTRA , CAR . ELANTRA_GT_I30 , CAR . KONA } ,
" use_tcu_gears " : { CAR . KIA_OPTIMA , CAR . SONATA_LF , CAR . VELOSTER , CAR . TUCSON_DIESEL_2019 } ,
" use_elect_gears " : { CAR . KIA_NIRO_EV , CAR . KIA_NIRO_HEV , 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 } ,
" use_elect_gears " : { CAR . KIA_NIRO_EV , CAR . KIA_NIRO_HEV , 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 } ,
# these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12
" use_fca " : { CAR . SONATA , CAR . SONATA_HYBRID , CAR . ELANTRA , CAR . ELANTRA_2021 , CAR . ELANTRA_HEV_2021 , CAR . ELANTRA_GT_I30 , CAR . KIA_STINGER , CAR . IONIQ_EV_2020 , CAR . IONIQ_PHEV , CAR . KONA_EV , CAR . KIA_FORTE , CAR . KIA_NIRO_EV , CAR . PALISADE , CAR . GENESIS_G70 , CAR . GENESIS_G70_2020 , CAR . KONA , CAR . SANTA_FE , CAR . KIA_SELTOS , CAR . KONA_HEV , CAR . SANTA_FE_2022 , CAR . KIA_K5_2021 , CAR . IONIQ_HEV_2022 , CAR . SANTA_FE_HEV_2022 , CAR . SANTA_FE_PHEV_2022 , CAR . TUCSON_DIESEL_2019 } ,
}
HYBRID_CAR = { CAR . IONIQ_PHEV , CAR . ELANTRA_HEV_2021 , CAR . KIA_NIRO_HEV , 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 } # these cars use a different gas signal
HYBRID_CAR = { CAR . IONIQ_PHEV , CAR . ELANTRA_HEV_2021 , CAR . KIA_NIRO_HEV , 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 }
# these cars require a special panda safety mode due to missing counters and checksums in the messages
@ -1161,6 +1181,7 @@ DBC = {
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 ' ) ,