@ -34,9 +34,9 @@ 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 , CAR . KIA_STINGER ) :
CAR . KIA_OPTIMA_H , CAR . KIA_SORENTO ) :
self . STEER_MAX = 255
# Default for most HKG
@ -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 "
@ -90,6 +89,7 @@ class CAR:
KIA_OPTIMA_H = " KIA OPTIMA HYBRID 2017 & SPORTS 2019 "
KIA_SELTOS = " KIA SELTOS 2021 "
KIA_SORENTO = " KIA SORENTO GT LINE 2018 "
KIA_SPORTAGE_HYBRID_5TH_GEN = " KIA SPORTAGE HYBRID 5TH GEN "
KIA_STINGER = " KIA STINGER GT2 2018 "
KIA_CEED = " KIA CEED INTRO ED 2019 "
KIA_EV6 = " KIA EV6 2022 "
@ -107,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
@ -172,6 +172,7 @@ CAR_INFO: Dict[str, Optional[Union[HyundaiCarInfo, List[HyundaiCarInfo]]]] = {
HyundaiCarInfo ( " Kia Sorento 2018 " , " Advanced Smart Cruise Control " , " https://www.youtube.com/watch?v=Fkh3s6WHJz8 " , harness = Harness . hyundai_c ) ,
HyundaiCarInfo ( " Kia Sorento 2019 " , video_link = " https://www.youtube.com/watch?v=Fkh3s6WHJz8 " , harness = Harness . hyundai_e ) ,
] ,
CAR . KIA_SPORTAGE_HYBRID_5TH_GEN : HyundaiCarInfo ( " Kia Sportage Hybrid 2023 " , harness = Harness . hyundai_n ) ,
CAR . KIA_STINGER : HyundaiCarInfo ( " Kia Stinger 2018-20 " , video_link = " https://www.youtube.com/watch?v=MJ94qoofYw0 " , harness = Harness . hyundai_c ) ,
CAR . KIA_CEED : HyundaiCarInfo ( " Kia Ceed 2019 " , harness = Harness . hyundai_e ) ,
CAR . KIA_EV6 : [
@ -197,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
} ,
@ -290,17 +282,35 @@ HYUNDAI_VERSION_RESPONSE = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER + 0x4
FW_QUERY_CONFIG = FwQueryConfig (
requests = [
# TODO: minimize shared whitelists for CAN and cornerRadar for CAN-FD
# CAN queries (OBD-II port)
Request (
[ HYUNDAI_VERSION_REQUEST_LONG ] ,
[ HYUNDAI_VERSION_RESPONSE ] ,
whitelist_ecus = [ Ecu . transmission , Ecu . eps , Ecu . abs , Ecu . fwdRadar , Ecu . fwdCamera ] ,
) ,
Request (
[ HYUNDAI_VERSION_REQUEST_MULTI ] ,
[ HYUNDAI_VERSION_RESPONSE ] ,
whitelist_ecus = [ Ecu . engine , Ecu . transmission , Ecu . eps , Ecu . abs , Ecu . fwdRadar ] ,
) ,
# CAN-FD queries (camera)
Request (
[ HYUNDAI_VERSION_REQUEST_LONG ] ,
[ HYUNDAI_VERSION_RESPONSE ] ,
whitelist_ecus = [ Ecu . fwdCamera , Ecu . fwdRadar , Ecu . cornerRadar ] ,
bus = 4 ,
) ,
Request (
[ HYUNDAI_VERSION_REQUEST_LONG ] ,
[ HYUNDAI_VERSION_RESPONSE ] ,
whitelist_ecus = [ Ecu . fwdCamera , Ecu . adas , Ecu . cornerRadar ] ,
bus = 5 ,
) ,
] ,
extra_ecus = [
( Ecu . adas , 0x730 , None ) , # ADAS Driving ECU on HDA2 platforms
( Ecu . cornerRadar , 0x7b7 , None ) ,
] ,
)
@ -741,6 +751,7 @@ FW_VERSIONS = {
b ' \xf1 \x81 640E0051 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
b ' \xf1 \x82 CKJN3TMSDE0B \x00 \x00 \x00 \x00 ' ,
b ' \xf1 \x82 CKKN3TMD_H0A \x00 \x00 \x00 \x00 ' ,
b ' \xe0 \x19 \xff \xe7 \xe7 g \x01 \xa2 \x00 \x0f \x00 \x9e \x00 \x06 \x00 \xff \xff \xff \xff \xff \xff \x00 \x00 \xff \xff \xff \xff \xff \xff \x00 \x00 \x0f \x0e \x0f \x0f \x0e \r \x00 \x00 \x7f \x02 . \xff \x00 \x00 ~p \x00 \x00 \x00 \x00 u \xff \xf9 \xff \x00 \x00 \x00 \x00 V \t \xd5 \x01 \xc0 \x00 \x00 \x00 \x00 7 \xfb \xfc \x0b \x8d \x00 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 CK MDPS R 1.00 1.04 57700-J5200 4C2CL104 ' ,
@ -763,10 +774,14 @@ FW_VERSIONS = {
b ' \xf1 \x87 VDKLJ18675252DK6 \x89 vhgwwwwveVU \x88 w \x87 w \x99 vgf \x97 vXfgw_ \xff \xc2 \xfb \xf1 \x89 E25 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x82 TCK0T33NB2 ' ,
b ' \xf1 \x87 WAJTE17552812CH4vfFffvfVeT5DwvvVVdFeegeg \x88 \x88 o \xff \x1a ] \xf1 \x81 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 TCK2T20NB1 \x19 \xd2 \x00 \x94 ' ,
b ' \xf1 \x87 VDHLG17274082DK2wfFf \x89 x \x98 wUT5T \x88 v \x97 xgeGefTGTVvO \xff \x1c \x14 \xf1 \x81 E19 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 E19 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SCK0T33UB2 \xee [ \x97 S ' ,
b ' \xf1 \x87 VDHLG17000192DK2xdFffT \xa5 VUD$DwT \x86 wveVeeD&T \x99 \xba \x8f \xff \xcc \x99 \xf1 \x81 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SCK0T33NB0 \t \xb7 \x17 \xf5 ' ,
b ' \xf1 \x00 bcsh8p54 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SCK0T33NB0 \t \xb7 \x17 \xf5 ' ,
b ' \xf1 \x00 bcsh8p54 E21 \x00 \x00 \x00 \x00 \x00 \x00 \x00 SCK0T33NB0 \x88 \xa2 \xe6 \xf0 ' ,
] ,
} ,
CAR . PALISADE : {
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 LX2_ SCC F-CUP 1.00 1.04 99110-S8100 ' ,
b ' \xf1 \x00 LX2_ SCC F-CUP 1.00 1.05 99110-S8100 ' ,
b ' \xf1 \x00 LX2 SCC FHCUP 1.00 1.04 99110-S8100 ' ,
b ' \xf1 \x00 LX2_ SCC FHCU- 1.00 1.05 99110-S8100 ' ,
@ -780,6 +795,7 @@ FW_VERSIONS = {
b ' \xf1 \x00 LX ESC \x01 1031 \t \x10 58910-S8360 ' ,
b ' \xf1 \x00 LX ESC \x0b 101 \x19 \x03 \x17 58910-S8330 ' ,
b ' \xf1 \x00 LX ESC \x0b 102 \x19 \x05 \x07 58910-S8330 ' ,
b ' \xf1 \x00 LX ESC \x0b 103 \x19 \t \t 58910-S8350 ' ,
b ' \xf1 \x00 LX ESC \x0b 103 \x19 \t \x07 58910-S8330 ' ,
b ' \xf1 \x00 LX ESC \x0b 103 \x19 \t \x10 58910-S8360 ' ,
b ' \xf1 \x00 LX ESC \x0b 104 \x10 \x16 58910-S8360 ' ,
@ -794,6 +810,7 @@ FW_VERSIONS = {
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 LX2 MDPS C 1,00 1,03 56310-S8020 4LXDC103 ' ,
b ' \xf1 \x00 LX2 MDPS C 1.00 1.03 56310-S8000 4LXDC103 ' ,
b ' \xf1 \x00 LX2 MDPS C 1.00 1.03 56310-S8020 4LXDC103 ' ,
b ' \xf1 \x00 LX2 MDPS C 1.00 1.04 56310-S8020 4LXDC104 ' ,
b ' \xf1 \x00 ON MDPS C 1.00 1.00 56340-S9000 8B13 ' ,
@ -810,6 +827,7 @@ FW_VERSIONS = {
] ,
( Ecu . transmission , 0x7e1 , None ) : [
b ' \xf1 \x00 bcsh8p54 U872 \x00 \x00 \x00 \x00 \x00 \x00 TON4G38NB1 \x96 z28 ' ,
b ' \xf1 \x00 bcsh8p54 U891 \x00 \x00 \x00 \x00 \x00 \x00 SLX4G38NB3X \xa8 \xc0 8 ' ,
b ' \xf1 \x00 bcsh8p54 U903 \x00 \x00 \x00 \x00 \x00 \x00 TON4G38NB2[v \\ \xb6 ' ,
b ' \xf1 \x87 LBLUFN591307KF25vgvw \x97 wwwy \x99 \xa7 \x99 \x99 \xaa \xa9 \x9a f \x88 \x96 h \x95 o \xf7 \xff \x99 f/ \xff \xe4 c \xf1 \x81 U891 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 U891 \x00 \x00 \x00 \x00 \x00 \x00 SLX2G38NB2 \xd7 \xc1 / \xd1 ' ,
b ' \xf1 \x87 LBLUFN650868KF36 \xa9 \x98 \x89 \x88 \xa8 \x88 \x88 \x88 h \x99 \xa6 \x89 fw \x86 gw \x88 \x97 x \xaa \x7f \xf6 \xff \xbb \xbb \x8f \xff + \x82 \xf1 \x81 U891 \x00 \x00 \x00 \x00 \x00 \x00 \xf1 \x00 bcsh8p54 U891 \x00 \x00 \x00 \x00 \x00 \x00 SLX2G38NB3 \xd1 \xc3 \xf8 \xa8 ' ,
@ -1186,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 ' ,
@ -1321,15 +1356,6 @@ FW_VERSIONS = {
] ,
} ,
CAR . KIA_EV6 : {
( Ecu . abs , 0x7d1 , None ) : [
b ' \xf1 \x00 CV IEB \x02 101! \x10 \x18 58520-CV100 ' ,
b ' \xf1 \x00 CV IEB \x03 101! \x10 \x18 58520-CV100 ' ,
b ' \xf1 \x87 58520CV100 \xf1 \x00 CV IEB \x02 101! \x10 \x18 58520-CV100 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 CV1 MDPS R 1.00 1.04 57700-CV000 1B30 ' ,
b ' \xf1 \x00 CV1 MDPS R 1.00 1.05 57700-CV000 2425 ' ,
] ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 CV1_ RDR ----- 1.00 1.01 99110-CV000 ' ,
b ' \xf1 \x87 99110CV000 \xf1 \x00 CV1_ RDR ----- 1.00 1.01 99110-CV000 ' ,
@ -1341,16 +1367,6 @@ FW_VERSIONS = {
] ,
} ,
CAR . IONIQ_5 : {
( Ecu . abs , 0x7d1 , None ) : [
b ' \xf1 \x00 NE1 IEB \x07 106! \x11 ) 58520-GI010 ' ,
b ' \xf1 \x87 58520GI010 \xf1 \x00 NE1 IEB \x07 106! \x11 ) 58520-GI010 ' ,
b ' \xf1 \x00 NE1 IEB \x08 104! \x04 \x05 58520-GI000 ' ,
b ' \xf1 \x87 58520GI000 \xf1 \x00 NE1 IEB \x08 104! \x04 \x05 58520-GI000 ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 NE MDPS R 1.00 1.06 57700GI000 4NEDR106 ' ,
b ' \xf1 \x87 57700GI000 \xf1 \x00 NE MDPS R 1.00 1.06 57700GI000 4NEDR106 ' ,
] ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 NE1_ RDR ----- 1.00 1.00 99110-GI000 ' ,
b ' \xf1 \x87 99110GI000 \xf1 \x00 NE1_ RDR ----- 1.00 1.00 99110-GI000 ' ,
@ -1363,16 +1379,18 @@ FW_VERSIONS = {
CAR . TUCSON_HYBRID_4TH_GEN : {
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 NX4 FR_CMR AT USA LHD 1.00 1.00 99211-N9240 14Q ' ,
b ' \xf1 \x00 NX4 FR_CMR AT USA LHD 1.00 1.00 99211-N9220 14K ' ,
] ,
( Ecu . eps , 0x7d4 , None ) : [
b ' \xf1 \x00 NX4 MDPS C 1.00 1.01 56300-P0100 2228 ' ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 NX4__ 1.00 1.00 99110-N9100 ' ,
] ,
( Ecu . engine , 0x7e0 , None ) : [
b ' \xf1 \x87 391312MND0 ' ,
} ,
CAR . KIA_SPORTAGE_HYBRID_5TH_GEN : {
( Ecu . fwdCamera , 0x7c4 , None ) : [
b ' \xf1 \x00 NQ5 FR_CMR AT USA LHD 1.00 1.00 99211-P1060 665 ' ,
] ,
( Ecu . transmission , 0x7e1 , None ) : [
b ' \xf1 \x00 PSBG2441 G19_Rev \x00 \x00 \x00 SNX4T16XXHS01NS2lS \xdf a ' ,
b ' \xf1 \x87 95441-3D220 \x00 \xf1 \x81 G19_Rev \x00 \x00 \x00 \xf1 \x00 PSBG2441 G19_Rev \x00 \x00 \x00 SNX4T16XXHS01NS2lS \xdf a ' ,
( Ecu . fwdRadar , 0x7d0 , None ) : [
b ' \xf1 \x00 NQ5__ 1.01 1.03 99110-CH000 ' ,
] ,
} ,
}
@ -1384,20 +1402,20 @@ 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 }
CANFD_CAR = { CAR . KIA_EV6 , CAR . IONIQ_5 , CAR . TUCSON_HYBRID_4TH_GEN , CAR . KIA_SPORTAGE_HYBRID_5TH_GEN }
# The camera does SCC on these cars, rather than the radar
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 } # these cars use a different gas signal
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 } # 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 , CAR . KIA_EV6 , CAR . IONIQ_5 }
# these cars require a special panda safety mode due to missing counters and checksums in the messages
@ -1409,7 +1427,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 ) ,
@ -1450,4 +1467,5 @@ DBC = {
CAR . SONATA_HYBRID : dbc_dict ( ' hyundai_kia_generic ' , ' hyundai_kia_mando_front_radar_generated ' ) ,
CAR . TUCSON_HYBRID_4TH_GEN : dbc_dict ( ' hyundai_canfd ' , None ) ,
CAR . IONIQ_5 : dbc_dict ( ' hyundai_canfd ' , None ) ,
CAR . KIA_SPORTAGE_HYBRID_5TH_GEN : dbc_dict ( ' hyundai_canfd ' , None ) ,
}