@ -10,9 +10,10 @@ class CarControllerParams:
ACCEL_MAX = 2.0 # m/s
def __init__ ( self , CP ) :
if CP . carFingerprint in [ CAR . SONATA , CAR . PALISADE , CAR . SANTA_FE , CAR . VELOSTER , CAR . GENESIS_G70 ,
if CP . carFingerprint in [ CAR . SONATA , CAR . PALISADE , CAR . SANTA_FE , CAR . VELOSTER , CAR . GENESIS_G70 , CAR . GENESIS_G70_2020 ,
CAR . IONIQ_EV_2020 , CAR . KIA_CEED , CAR . KIA_SELTOS , CAR . ELANTRA_2021 ,
CAR . ELANTRA_HEV_2021 , CAR . SONATA_HYBRID , CAR . KONA_HEV , CAR . SANTA_FE_2022 , CAR . KIA_K5_2021 , CAR . KONA_EV , CAR . KONA , CAR . IONIQ_HEV_2022 ] :
CAR . ELANTRA_HEV_2021 , CAR . SONATA_HYBRID , CAR . KONA_HEV , CAR . SANTA_FE_2022 ,
CAR . KIA_K5_2021 , CAR . KONA_EV , CAR . KONA , CAR . IONIQ_HEV_2022 , CAR . SANTA_FE_HEV_2022 ] :
self . STEER_MAX = 384
else :
self . STEER_MAX = 255
@ -39,6 +40,7 @@ class CAR:
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 "
SONATA = " HYUNDAI SONATA 2020 "
SONATA_LF = " HYUNDAI SONATA 2019 "
PALISADE = " HYUNDAI PALISADE 2020 "
@ -60,6 +62,7 @@ class CAR:
# Genesis
GENESIS_G70 = " GENESIS G70 2018 "
GENESIS_G70_2020 = " GENESIS G70 2020 "
GENESIS_G80 = " GENESIS G80 2017 "
GENESIS_G90 = " GENESIS G90 2017 "
@ -469,6 +472,23 @@ FW_VERSIONS = {
b ' \xf1 \x87 954A02N250 \x00 \x00 \x00 \x00 \x00 \xf1 \x81 T02730A1 \xf1 \x00 T02601BL T02730A1 VTMPT25XXX730NS2 \xa6 \x06 \x88 \xf7 ' ,
] ,
} ,
CAR . SANTA_FE_HEV_2022 : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x87 99110CL500 \xf1 \x00 TMhe SCC FHCUP 1.00 1.00 99110-CL500 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 TM MDPS C 1.00 1.02 56310-CLAC0 4TSHC102 ' ,
] ,
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 TMH MFC AT USA LHD 1.00 1.03 99211-S1500 210224 ' ,
] ,
( Ecu . transmission , 0x7e1 , None ) : [
b ' \xf1 \x87 959102T250 \x00 \x00 \x00 \x00 \x00 \xf1 \x81 E14 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 PSBG2333 E14 \x00 \x00 \x00 \x00 \x00 \x00 \x00 TTM2H16SA2 \x80 \xd7 l \xb2 ' ,
] ,
( Ecu . engine , 0x7e0 , None ) : [
b ' \xf1 \x87 391312MTC1 ' ,
] ,
} ,
CAR . KIA_STINGER : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 CK__ SCC F_CUP 1.00 1.01 96400-J5100 ' ,
@ -611,6 +631,25 @@ FW_VERSIONS = {
( Ecu . fwdCamera , 0x7c4 , None ) : [ b ' \xf1 \x00 IK MFC AT USA LHD 1.00 1.01 95740-G9000 170920 ' , ] ,
( Ecu . transmission , 0x7e1 , None ) : [ b ' \xf1 \x87 VDJLT17895112DN4 \x88 fVf \x99 \x88 \x88 \x88 \x87 fVe \x88 vhwwUFU \x97 eFex \x99 \xff \xb7 \x82 \xf1 \x81 E25 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 E25 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SIK0T33NB2 \x11 \x1a m \xda ' , ] ,
} ,
CAR . GENESIS_G70_2020 : {
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 IK MDPS R 1.00 1.07 57700-G9220 4I2VL107 ' ,
] ,
( Ecu . transmission , 0x7e1 , None ) : [
b ' \xf1 \x87 VCJLP18407832DN3 \x88 vXfvUVT \x97 eFU \x87 d7v \x88 eVeveFU \x89 \x98 \x7f \xff \xb2 \xb0 \xf1 \x81 E25 \x00 \x00 \x00 '
b ' \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 E25 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SIK0T33NB4 \xec E \xef L ' ,
] ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 IK__ SCC F-CUP 1.00 1.02 96400-G9100 ' ,
b ' \xf1 \x00 IK__ SCC F-CUP 1.00 1.02 96400-G9100 \xf1 \xa0 1.02 ' ,
] ,
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 IK MFC AT USA LHD 1.00 1.01 95740-G9000 170920 ' ,
] ,
( Ecu . engine , 0x7e0 , None ) : [
b ' \xf1 \x81 640J0051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
] ,
} ,
CAR . KONA : {
( Ecu . fwdRadar , 0x7d0 , None ) : [ b ' \xf1 \x00 OS__ SCC F-CUP 1.00 1.00 95655-J9200 ' , ] ,
( Ecu . esp , 0x7d1 , None ) : [ b ' \xf1 \x81 6V5RAK00018.ELF \xf1 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' , ] ,
@ -912,7 +951,7 @@ FW_VERSIONS = {
}
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 ] ,
" 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 ] ,
" 6B " : [ CAR . KIA_SORENTO , CAR . HYUNDAI_GENESIS ] ,
}
@ -920,15 +959,18 @@ FEATURES = {
# which message has the gear
" use_cluster_gears " : set ( [ CAR . ELANTRA , CAR . ELANTRA_GT_I30 , CAR . KONA ] ) ,
" use_tcu_gears " : set ( [ CAR . KIA_OPTIMA , CAR . SONATA_LF , CAR . VELOSTER ] ) ,
" use_elect_gears " : set ( [ 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 ] ) ,
" use_elect_gears " : set ( [ 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 ] ) ,
# these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12
" use_fca " : set ( [ 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 . KONA , CAR . SANTA_FE , CAR . KIA_SELTOS , CAR . KONA_HEV , CAR . SANTA_FE_2022 , CAR . KIA_K5_2021 , CAR . IONIQ_HEV_2022 ] ) ,
" use_fca " : set ( [ 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 ] ) ,
}
HYBRID_CAR = set ( [ 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 ] ) # these cars use a different gas signal
HYBRID_CAR = set ( [ 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 ] ) # these cars use a different gas signal
EV_CAR = set ( [ 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
LEGACY_SAFETY_MODE_CAR = set ( [ 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_NIRO_EV , CAR . KIA_OPTIMA , 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
DBC = {
@ -937,6 +979,7 @@ DBC = {
CAR . ELANTRA_HEV_2021 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . ELANTRA_GT_I30 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . GENESIS_G70 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . GENESIS_G70_2020 : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar ' ) ,
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 ) ,
@ -960,6 +1003,7 @@ DBC = {
CAR . KONA_HEV : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . SANTA_FE : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar ' ) ,
CAR . SANTA_FE_2022 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . SANTA_FE_HEV_2022 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . SONATA : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar ' ) ,
CAR . SONATA_LF : dbc_dict ( ' hyundai_kia_generic ' , None ) , # Has 0x5XX messages, but different format
CAR . PALISADE : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar ' ) ,