@ -34,7 +34,7 @@ class CarControllerParams:
# 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.
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 . IONIQ ,
CAR . IONIQ_EV_LTD , CAR . SANTA_FE_PHEV_2022 , CAR . SONATA_LF , CAR . KIA_FORTE , CAR . KIA_NIRO_PHEV ,
CAR . KIA_OPTIMA_H , CAR . KIA_SORENTO ) :
self . STEER_MAX = 255
@ -54,7 +54,6 @@ class CAR:
ELANTRA = " HYUNDAI ELANTRA 2017 "
ELANTRA_2021 = " HYUNDAI ELANTRA 2021 "
ELANTRA_HEV_2021 = " HYUNDAI ELANTRA HYBRID 2021 "
ELANTRA_GT_I30 = " HYUNDAI I30 N LINE 2019 & GT 2018 DCT "
HYUNDAI_GENESIS = " HYUNDAI GENESIS 2015-2016 "
IONIQ = " HYUNDAI IONIQ HYBRID 2017-2019 "
IONIQ_HEV_2022 = " HYUNDAI IONIQ HYBRID 2020-2022 "
@ -108,13 +107,13 @@ 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-23 " , video_link = " https://youtu.be/_EdYQtV52-c " , harness = Harness . hyundai_k ) ,
CAR . ELANTRA_GT_I30 : [
CAR . ELANTRA : [
HyundaiCarInfo ( " Hyundai Elantra 2017-19 " , min_enable_speed = 19 * CV . MPH_TO_MS , harness = Harness . hyundai_b ) ,
HyundaiCarInfo ( " Hyundai Elantra GT 2017-19 " , harness = Harness . hyundai_e ) ,
HyundaiCarInfo ( " Hyundai i30 2019 " , harness = Harness . hyundai_e ) ,
] ,
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-23 " , video_link = " https://youtu.be/_EdYQtV52-c " , harness = Harness . hyundai_k ) ,
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
@ -199,15 +198,6 @@ FINGERPRINTS = {
CAR . ELANTRA : [ {
66 : 8 , 67 : 8 , 68 : 8 , 127 : 8 , 273 : 8 , 274 : 8 , 275 : 8 , 339 : 8 , 356 : 4 , 399 : 8 , 512 : 6 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 790 : 8 , 809 : 8 , 897 : 8 , 832 : 8 , 899 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1170 : 8 , 1265 : 4 , 1280 : 1 , 1282 : 4 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1314 : 8 , 1322 : 8 , 1345 : 8 , 1349 : 8 , 1351 : 8 , 1353 : 8 , 1363 : 8 , 1366 : 8 , 1367 : 8 , 1369 : 8 , 1407 : 8 , 1415 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1440 : 8 , 1456 : 4 , 1472 : 8 , 1486 : 8 , 1487 : 8 , 1491 : 8 , 1530 : 8 , 1532 : 5 , 2001 : 8 , 2003 : 8 , 2004 : 8 , 2009 : 8 , 2012 : 8 , 2016 : 8 , 2017 : 8 , 2024 : 8 , 2025 : 8
} ] ,
CAR . ELANTRA_GT_I30 : [ {
66 : 8 , 67 : 8 , 68 : 8 , 127 : 8 , 128 : 8 , 129 : 8 , 273 : 8 , 274 : 8 , 275 : 8 , 339 : 8 , 354 : 3 , 356 : 4 , 399 : 8 , 512 : 6 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 790 : 8 , 809 : 8 , 884 : 8 , 897 : 8 , 899 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1193 : 8 , 1265 : 4 , 1280 : 1 , 1282 : 4 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1345 : 8 , 1348 : 8 , 1349 : 8 , 1351 : 8 , 1353 : 8 , 1356 : 8 , 1363 : 8 , 1365 : 8 , 1366 : 8 , 1367 : 8 , 1369 : 8 , 1407 : 8 , 1414 : 3 , 1415 : 8 , 1427 : 6 , 1440 : 8 , 1456 : 4 , 1470 : 8 , 1486 : 8 , 1487 : 8 , 1491 : 8 , 1530 : 8 , 1952 : 8 , 1960 : 8 , 1988 : 8 , 2000 : 8 , 2001 : 8 , 2005 : 8 , 2008 : 8 , 2009 : 8 , 2013 : 8 , 2017 : 8 , 2025 : 8
} ,
{
66 : 8 , 67 : 8 , 68 : 8 , 127 : 8 , 128 : 8 , 129 : 8 , 273 : 8 , 274 : 8 , 275 : 8 , 339 : 8 , 354 : 3 , 356 : 4 , 399 : 8 , 512 : 6 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 790 : 8 , 809 : 8 , 832 : 8 , 897 : 8 , 899 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1265 : 4 , 1280 : 1 , 1282 : 4 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1349 : 8 , 1351 : 8 , 1353 : 8 , 1356 : 8 , 1363 : 8 , 1366 : 8 , 1367 : 8 , 1369 : 8 , 1407 : 8 , 1414 : 3 , 1415 : 8 , 1419 : 8 , 1440 : 8 , 1456 : 4 , 1470 : 8 , 1486 : 8 , 1487 : 8 , 1491 : 8 , 1530 : 8
} ,
{
66 : 8 , 67 : 8 , 68 : 8 , 127 : 8 , 128 : 8 , 129 : 8 , 273 : 8 , 274 : 8 , 275 : 8 , 339 : 8 , 354 : 3 , 356 : 4 , 399 : 8 , 512 : 6 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 790 : 8 , 809 : 8 , 832 : 8 , 897 : 8 , 899 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1265 : 4 , 1280 : 1 , 1282 : 4 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1349 : 8 , 1351 : 8 , 1353 : 8 , 1356 : 8 , 1363 : 8 , 1366 : 8 , 1367 : 8 , 1369 : 8 , 1407 : 8 , 1414 : 3 , 1419 : 8 , 1427 : 6 , 1440 : 8 , 1456 : 4 , 1470 : 8 , 1486 : 8 , 1487 : 8 , 1491 : 8 , 1960 : 8 , 1990 : 8 , 1998 : 8 , 2000 : 8 , 2001 : 8 , 2004 : 8 , 2005 : 8 , 2008 : 8 , 2009 : 8 , 2012 : 8 , 2013 : 8 , 2015 : 8 , 2016 : 8 , 2017 : 8 , 2024 : 8 , 2025 : 8
} ] ,
CAR . HYUNDAI_GENESIS : [ {
67 : 8 , 68 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 544 : 7 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 5 , 897 : 8 , 902 : 8 , 903 : 6 , 916 : 8 , 1024 : 2 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1184 : 8 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1292 : 8 , 1312 : 8 , 1322 : 8 , 1331 : 8 , 1332 : 8 , 1333 : 8 , 1334 : 8 , 1335 : 8 , 1342 : 6 , 1345 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1371 : 8 , 1378 : 4 , 1384 : 5 , 1407 : 8 , 1419 : 8 , 1427 : 6 , 1434 : 2 , 1456 : 4
} ,
@ -1214,6 +1204,23 @@ 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 6T6B8051 \x00 \x00 \xf1 \x00 6T6H0_C2 \x00 \x00 6T6B8051 \x00 \x00 TJFSG24NH27 \xa7 \xc2 \xb4 ' ,
] ,
} ,
CAR . ELANTRA : {
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 PD LKAS AT USA LHD 1.01 1.01 95740-G3100 A54 ' ,
] ,
( Ecu . transmission , 0x7e1 , None ) : [
b ' \xf1 \x00 6U2V0_C2 \x00 \x00 6U2VA051 \x00 \x00 DPD0H16NS0e \x0e \xcd \x8e ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 PD MDPS C 1.00 1.04 56310/G3300 4PDDC104 ' ,
] ,
( Ecu . abs , 0x7d1 , None ) : [
b ' \xf1 \x00 PD ESC \x0b 104 \x18 \t \x03 58920-G3350 ' ,
] ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 PD__ SCC F-CUP 1.00 1.00 96400-G3300 ' ,
] ,
} ,
CAR . ELANTRA_2021 : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 CN7_ SCC F-CUP 1.00 1.01 99110-AA000 ' ,
@ -1394,12 +1401,12 @@ CHECKSUM = {
FEATURES = {
# which message has the gear
" use_cluster_gears " : { CAR . ELANTRA , CAR . ELANTRA_GT_I30 , CAR . KONA } ,
" use_cluster_gears " : { CAR . ELANTRA , CAR . KONA } ,
" 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
" 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 . 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 } ,
}
CANFD_CAR = { CAR . KIA_EV6 , CAR . IONIQ_5 , CAR . TUCSON_HYBRID_4TH_GEN , CAR . KIA_SPORTAGE_HYBRID_5TH_GEN }
@ -1419,7 +1426,6 @@ DBC = {
CAR . ELANTRA : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . ELANTRA_2021 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
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_generated ' ) ,
CAR . GENESIS_G80 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,