@ -29,7 +29,7 @@ class CarControllerParams:
# To determine the limit for your car, find the maximum value that the stock LKAS will request.
# To determine the limit for your car, find the maximum value that the stock LKAS will request.
# If the max stock LKAS request is <384, add your car to this list.
# If the max stock LKAS request is <384, add your car to this list.
elif CP . carFingerprint in ( CAR . GENESIS_G80 , CAR . GENESIS_G90 , CAR . ELANTRA , CAR . HYUNDAI_GENESIS , CAR . ELANTRA_GT_I30 , CAR . IONIQ ,
elif CP . carFingerprint in ( CAR . GENESIS_G80 , CAR . GENESIS_G90 , CAR . ELANTRA , CAR . HYUNDAI_GENESIS , CAR . ELANTRA_GT_I30 , CAR . IONIQ ,
CAR . IONIQ_EV_LTD , CAR . SANTA_FE_PHEV_2022 , CAR . SONATA_LF , CAR . KIA_FORTE , CAR . KIA_NIRO_HEV ,
CAR . IONIQ_EV_LTD , CAR . SANTA_FE_PHEV_2022 , CAR . SONATA_LF , CAR . KIA_FORTE , CAR . KIA_NIRO_P HEV ,
CAR . KIA_OPTIMA_H , CAR . KIA_SORENTO , CAR . KIA_STINGER ) :
CAR . KIA_OPTIMA_H , CAR . KIA_SORENTO , CAR . KIA_STINGER ) :
self . STEER_MAX = 255
self . STEER_MAX = 255
@ -71,7 +71,7 @@ class CAR:
KIA_FORTE = " KIA FORTE E 2018 & GT 2021 "
KIA_FORTE = " KIA FORTE E 2018 & GT 2021 "
KIA_K5_2021 = " KIA K5 2021 "
KIA_K5_2021 = " KIA K5 2021 "
KIA_NIRO_EV = " KIA NIRO EV 2020 "
KIA_NIRO_EV = " KIA NIRO EV 2020 "
KIA_NIRO_HEV = " KIA NIRO HYBRID 2019 "
KIA_NIRO_P HEV = " KIA NIRO HYBRID 2019 "
KIA_NIRO_HEV_2021 = " KIA NIRO HYBRID 2021 "
KIA_NIRO_HEV_2021 = " KIA NIRO HYBRID 2021 "
KIA_OPTIMA = " KIA OPTIMA SX 2019 & 2016 "
KIA_OPTIMA = " KIA OPTIMA SX 2019 & 2016 "
KIA_OPTIMA_H = " KIA OPTIMA HYBRID 2017 & SPORTS 2019 "
KIA_OPTIMA_H = " KIA OPTIMA HYBRID 2017 & SPORTS 2019 "
@ -141,7 +141,7 @@ CAR_INFO: Dict[str, Optional[Union[HyundaiCarInfo, List[HyundaiCarInfo]]]] = {
HyundaiCarInfo ( " Kia Niro Electric 2021 " , " All " , video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " , harness = Harness . hyundai_c ) ,
HyundaiCarInfo ( " Kia Niro Electric 2021 " , " All " , video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " , harness = Harness . hyundai_c ) ,
HyundaiCarInfo ( " Kia Niro Electric 2022 " , " All " , video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " , harness = Harness . hyundai_h ) ,
HyundaiCarInfo ( " Kia Niro Electric 2022 " , " All " , video_link = " https://www.youtube.com/watch?v=lT7zcG6ZpGo " , harness = Harness . hyundai_h ) ,
] ,
] ,
CAR . KIA_NIRO_HEV : HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2018-19 " , min_enable_speed = 10. * CV . MPH_TO_MS , harness = Harness . hyundai_c ) ,
CAR . KIA_NIRO_P HEV : HyundaiCarInfo ( " Kia Niro Plug-in Hybrid 2018-19 " , min_enable_speed = 10. * CV . MPH_TO_MS , harness = Harness . hyundai_c ) ,
CAR . KIA_NIRO_HEV_2021 : [
CAR . KIA_NIRO_HEV_2021 : [
HyundaiCarInfo ( " Kia Niro Hybrid 2021 " , harness = Harness . hyundai_f ) , # TODO: could be hyundai_d, verify
HyundaiCarInfo ( " Kia Niro Hybrid 2021 " , harness = Harness . hyundai_f ) , # TODO: could be hyundai_d, verify
HyundaiCarInfo ( " Kia Niro Hybrid 2022 " , harness = Harness . hyundai_h ) ,
HyundaiCarInfo ( " Kia Niro Hybrid 2022 " , harness = Harness . hyundai_h ) ,
@ -1039,7 +1039,7 @@ FW_VERSIONS = {
b ' \xf1 \x00 DEE MFC AT KOR LHD 1.00 1.03 95740-Q4000 180821 ' ,
b ' \xf1 \x00 DEE MFC AT KOR LHD 1.00 1.03 95740-Q4000 180821 ' ,
] ,
] ,
} ,
} ,
CAR . KIA_NIRO_HEV : {
CAR . KIA_NIRO_P HEV : {
( Ecu . engine , 0x7e0 , None ) : [
( Ecu . engine , 0x7e0 , None ) : [
b ' \xf1 \x81 6H6F4051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
b ' \xf1 \x81 6H6F4051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
b ' \xf1 \x81 6H6D1051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
b ' \xf1 \x81 6H6D1051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
@ -1303,7 +1303,7 @@ FEATURES = {
# which message has the gear
# which message has the gear
" use_cluster_gears " : { CAR . ELANTRA , CAR . ELANTRA_GT_I30 , CAR . KONA } ,
" use_cluster_gears " : { CAR . ELANTRA , CAR . ELANTRA_GT_I30 , CAR . KONA } ,
" use_tcu_gears " : { CAR . KIA_OPTIMA , CAR . SONATA_LF , CAR . VELOSTER , CAR . TUCSON } ,
" use_tcu_gears " : { CAR . KIA_OPTIMA , CAR . SONATA_LF , CAR . VELOSTER , CAR . TUCSON } ,
" 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 , CAR . KONA_EV_2022 } ,
" use_elect_gears " : { CAR . KIA_NIRO_EV , CAR . KIA_NIRO_P 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 , CAR . KONA_EV_2022 } ,
# these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12
# 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 , CAR . KONA_EV_2022 } ,
" 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 , CAR . KONA_EV_2022 } ,
@ -1314,7 +1314,7 @@ CANFD_CAR = {CAR.KIA_EV6, CAR.IONIQ_5}
# The camera does SCC on these cars, rather than the radar
# The camera does SCC on these cars, rather than the radar
CAMERA_SCC_CAR = { CAR . KONA_EV_2022 , }
CAMERA_SCC_CAR = { CAR . KONA_EV_2022 , }
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
HYBRID_CAR = { CAR . IONIQ_PHEV , CAR . ELANTRA_HEV_2021 , CAR . KIA_NIRO_P 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 , CAR . KONA_EV_2022 }
EV_CAR = { CAR . IONIQ_EV_2020 , CAR . IONIQ_EV_LTD , CAR . KONA_EV , CAR . KIA_NIRO_EV , CAR . KONA_EV_2022 }
# these cars require a special panda safety mode due to missing counters and checksums in the messages
# these cars require a special panda safety mode due to missing counters and checksums in the messages
@ -1341,7 +1341,7 @@ DBC = {
CAR . KIA_FORTE : 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_2021 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_NIRO_EV : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar ' ) ,
CAR . KIA_NIRO_EV : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar ' ) ,
CAR . KIA_NIRO_HEV : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar ' ) ,
CAR . KIA_NIRO_P HEV : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar ' ) ,
CAR . KIA_NIRO_HEV_2021 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_NIRO_HEV_2021 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_OPTIMA : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_OPTIMA : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_OPTIMA_H : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_OPTIMA_H : dbc_dict ( ' hyundai_kia_generic ' , None ) ,