from cereal import car
from selfdrive . car import dbc_dict
Ecu = car . CarParams . Ecu
# Steer torque limits
class SteerLimitParams :
STEER_MAX = 255 # 409 is the max, 255 is stock
STEER_DELTA_UP = 3
STEER_DELTA_DOWN = 7
STEER_DRIVER_ALLOWANCE = 50
STEER_DRIVER_MULTIPLIER = 2
STEER_DRIVER_FACTOR = 1
class CAR :
ELANTRA = " HYUNDAI ELANTRA LIMITED ULTIMATE 2017 "
ELANTRA_GT_I30 = " HYUNDAI I30 N LINE 2019 & GT 2018 DCT "
GENESIS_G80 = " GENESIS G80 2017 "
GENESIS_G90 = " GENESIS G90 2017 "
HYUNDAI_GENESIS = " HYUNDAI GENESIS 2015-2016 "
IONIQ = " HYUNDAI IONIQ HYBRID PREMIUM 2017 "
IONIQ_EV_LTD = " HYUNDAI IONIQ ELECTRIC LIMITED 2019 "
KIA_FORTE = " KIA FORTE E 2018 "
KIA_OPTIMA = " KIA OPTIMA SX 2019 & 2016 "
KIA_OPTIMA_H = " KIA OPTIMA HYBRID 2017 & SPORTS 2019 "
KIA_SORENTO = " KIA SORENTO GT LINE 2018 "
KIA_STINGER = " KIA STINGER GT2 2018 "
KONA = " HYUNDAI KONA 2019 "
KONA_EV = " HYUNDAI KONA ELECTRIC 2019 "
SANTA_FE = " HYUNDAI SANTA FE LIMITED 2019 "
SANTA_FE_1 = " HYUNDAI SANTA FE has no scc "
SONATA = " HYUNDAI SONATA 2020 "
PALISADE = " HYUNDAI PALISADE 2020 "
class Buttons :
NONE = 0
RES_ACCEL = 1
SET_DECEL = 2
CANCEL = 4
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
} ,
{
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 , 1281 : 3 , 1287 : 4 , 1292 : 8 , 1312 : 8 , 1322 : 8 , 1331 : 8 , 1332 : 8 , 1333 : 8 , 1334 : 8 , 1335 : 8 , 1345 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1378 : 4 , 1379 : 8 , 1384 : 5 , 1407 : 8 , 1419 : 8 , 1427 : 6 , 1434 : 2 , 1456 : 4
} ,
{
67 : 8 , 68 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 544 : 7 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 5 , 897 : 8 , 902 : 8 , 903 : 6 , 912 : 7 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1184 : 8 , 1265 : 4 , 1268 : 8 , 1280 : 1 , 1281 : 3 , 1287 : 4 , 1292 : 8 , 1312 : 8 , 1322 : 8 , 1331 : 8 , 1332 : 8 , 1333 : 8 , 1334 : 8 , 1335 : 8 , 1345 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1371 : 8 , 1378 : 4 , 1384 : 5 , 1407 : 8 , 1419 : 8 , 1427 : 6 , 1434 : 2 , 1437 : 8 , 1456 : 4
} ,
{
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 , 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 , 1345 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1378 : 4 , 1379 : 8 , 1384 : 5 , 1407 : 8 , 1425 : 2 , 1427 : 6 , 1437 : 8 , 1456 : 4
} ,
{
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 , 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 , 1345 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1371 : 8 , 1378 : 4 , 1384 : 5 , 1407 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1437 : 8 , 1456 : 4
} ] ,
CAR . SANTA_FE : [ {
67 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 6 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1155 : 8 , 1156 : 8 , 1162 : 8 , 1164 : 8 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1183 : 8 , 1186 : 2 , 1191 : 2 , 1227 : 8 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1379 : 8 , 1384 : 8 , 1407 : 8 , 1414 : 3 , 1419 : 8 , 1427 : 6 , 1456 : 4 , 1470 : 8
} ,
{
67 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 6 , 764 : 8 , 809 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1064 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1155 : 8 , 1162 : 8 , 1164 : 8 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1180 : 8 , 1183 : 8 , 1186 : 2 , 1227 : 8 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1371 : 8 , 1378 : 8 , 1384 : 8 , 1407 : 8 , 1414 : 3 , 1419 : 8 , 1427 : 6 , 1456 : 4 , 1470 : 8 , 1988 : 8 , 2000 : 8 , 2004 : 8 , 2008 : 8 , 2012 : 8
} ,
{
67 : 8 , 68 : 8 , 80 : 4 , 160 : 8 , 161 : 8 , 272 : 8 , 288 : 4 , 339 : 8 , 356 : 8 , 357 : 8 , 399 : 8 , 544 : 8 , 608 : 8 , 672 : 8 , 688 : 5 , 704 : 1 , 790 : 8 , 809 : 8 , 848 : 8 , 880 : 8 , 898 : 8 , 900 : 8 , 901 : 8 , 904 : 8 , 1056 : 8 , 1064 : 8 , 1065 : 8 , 1072 : 8 , 1075 : 8 , 1087 : 8 , 1088 : 8 , 1151 : 8 , 1200 : 8 , 1201 : 8 , 1232 : 4 , 1264 : 8 , 1265 : 8 , 1266 : 8 , 1296 : 8 , 1306 : 8 , 1312 : 8 , 1322 : 8 , 1331 : 8 , 1332 : 8 , 1333 : 8 , 1348 : 8 , 1349 : 8 , 1369 : 8 , 1370 : 8 , 1371 : 8 , 1407 : 8 , 1415 : 8 , 1419 : 8 , 1440 : 8 , 1442 : 4 , 1461 : 8 , 1470 : 8
} ] ,
CAR . SONATA : [
{ 67 : 8 , 68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 544 : 8 , 545 : 8 , 546 : 8 , 547 : 8 , 548 : 8 , 549 : 8 , 550 : 8 , 576 : 8 , 593 : 8 , 608 : 8 , 688 : 6 , 809 : 8 , 832 : 8 , 854 : 8 , 865 : 8 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 908 : 8 , 909 : 8 , 912 : 7 , 913 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1089 : 5 , 1107 : 5 , 1108 : 8 , 1114 : 8 , 1136 : 8 , 1145 : 8 , 1151 : 8 , 1155 : 8 , 1156 : 8 , 1157 : 4 , 1162 : 8 , 1164 : 8 , 1168 : 8 , 1170 : 8 , 1173 : 8 , 1180 : 8 , 1183 : 8 , 1184 : 8 , 1186 : 2 , 1191 : 2 , 1193 : 8 , 1210 : 8 , 1225 : 8 , 1227 : 8 , 1265 : 4 , 1268 : 8 , 1280 : 8 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1330 : 8 , 1339 : 8 , 1342 : 6 , 1343 : 8 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1371 : 8 , 1378 : 8 , 1384 : 8 , 1394 : 8 , 1407 : 8 , 1419 : 8 , 1427 : 6 , 1446 : 8 , 1456 : 4 , 1460 : 8 , 1470 : 8 , 1485 : 8 , 1504 : 3 } ,
] ,
CAR . KIA_OPTIMA : [
{
64 : 8 , 66 : 8 , 67 : 8 , 68 : 8 , 127 : 8 , 273 : 8 , 274 : 8 , 275 : 8 , 339 : 8 , 356 : 4 , 399 : 8 , 447 : 8 , 512 : 6 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 790 : 8 , 809 : 8 , 832 : 8 , 884 : 8 , 897 : 8 , 899 : 8 , 902 : 8 , 903 : 6 , 909 : 8 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1186 : 2 , 1191 : 2 , 1253 : 8 , 1254 : 8 , 1255 : 8 , 1265 : 4 , 1280 : 1 , 1282 : 4 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1331 : 8 , 1332 : 8 , 1333 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1349 : 8 , 1351 : 8 , 1353 : 8 , 1363 : 8 , 1365 : 8 , 1366 : 8 , 1367 : 8 , 1369 : 8 , 1407 : 8 , 1414 : 3 , 1415 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1440 : 8 , 1456 : 4 , 1470 : 8 , 1472 : 8 , 1486 : 8 , 1487 : 8 , 1491 : 8 , 1530 : 8 , 1532 : 5 , 1952 : 8 , 1960 : 8 , 1988 : 8 , 1996 : 8 , 2001 : 8 , 2004 : 8 , 2008 : 8 , 2009 : 8 , 2012 : 8 , 2016 : 8 , 2017 : 8 , 2024 : 8 , 2025 : 8
} ,
{
64 : 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 : 6 , 912 : 7 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1265 : 4 , 1268 : 8 , 1280 : 1 , 1282 : 4 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1331 : 8 , 1332 : 8 , 1333 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1349 : 8 , 1351 : 8 , 1353 : 8 , 1356 : 8 , 1363 : 8 , 1365 : 8 , 1366 : 8 , 1367 : 8 , 1369 : 8 , 1407 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1440 : 8 , 1456 : 4 , 1470 : 8 , 1472 : 8 , 1491 : 8 , 1492 : 8
} ,
] ,
CAR . KIA_SORENTO : [ {
67 : 8 , 68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1064 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1331 : 8 , 1332 : 8 , 1333 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1371 : 8 , 1384 : 8 , 1407 : 8 , 1411 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1444 : 8 , 1456 : 4 , 1470 : 8 , 1489 : 1
} ] ,
CAR . KIA_STINGER : [ {
67 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 358 : 6 , 359 : 8 , 544 : 8 , 576 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1064 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1184 : 8 , 1265 : 4 , 1280 : 1 , 1281 : 4 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1378 : 4 , 1379 : 8 , 1384 : 8 , 1407 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1456 : 4 , 1470 : 8
} ] ,
CAR . GENESIS_G80 : [ {
67 : 8 , 68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 358 : 6 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 916 : 8 , 1024 : 2 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1156 : 8 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1184 : 8 , 1191 : 2 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1371 : 8 , 1378 : 4 , 1384 : 8 , 1407 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1434 : 2 , 1456 : 4 , 1470 : 8
} ,
{
67 : 8 , 68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 358 : 6 , 359 : 8 , 544 : 8 , 546 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1064 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1156 : 8 , 1157 : 4 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1184 : 8 , 1265 : 4 , 1280 : 1 , 1281 : 3 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1371 : 8 , 1378 : 4 , 1384 : 8 , 1407 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1434 : 2 , 1437 : 8 , 1456 : 4 , 1470 : 8
} ,
{
67 : 8 , 68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 358 : 6 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1064 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1156 : 8 , 1157 : 4 , 1162 : 8 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1184 : 8 , 1193 : 8 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1371 : 8 , 1378 : 4 , 1384 : 8 , 1407 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1437 : 8 , 1456 : 4 , 1470 : 8
} ] ,
CAR . GENESIS_G90 : [ {
67 : 8 , 68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 358 : 6 , 359 : 8 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1151 : 6 , 1162 : 4 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1184 : 8 , 1265 : 4 , 1280 : 1 , 1281 : 3 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1370 : 8 , 1371 : 8 , 1378 : 4 , 1384 : 8 , 1407 : 8 , 1419 : 8 , 1425 : 2 , 1427 : 6 , 1434 : 2 , 1456 : 4 , 1470 : 8 , 1988 : 8 , 2000 : 8 , 2003 : 8 , 2004 : 8 , 2005 : 8 , 2008 : 8 , 2011 : 8 , 2012 : 8 , 2013 : 8
} ] ,
CAR . IONIQ : [ {
68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 352 : 8 , 356 : 4 , 544 : 8 , 576 : 8 , 593 : 8 , 688 : 5 , 881 : 8 , 882 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1136 : 6 , 1173 : 8 , 1225 : 8 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1291 : 8 , 1292 : 8 , 1294 : 8 , 1322 : 8 , 1345 : 8 , 1348 : 8 , 1355 : 8 , 1363 : 8 , 1369 : 8 , 1407 : 8 , 1419 : 8 , 1427 : 6 , 1429 : 8 , 1430 : 8 , 1448 : 8 , 1456 : 4 , 1470 : 8 , 1476 : 8 , 1535 : 8
} ] ,
CAR . IONIQ_EV_LTD : [ {
127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 352 : 8 , 356 : 4 , 544 : 7 , 593 : 8 , 688 : 5 , 832 : 8 , 881 : 8 , 882 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1136 : 8 , 1151 : 6 , 1168 : 7 , 1173 : 8 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1291 : 8 , 1292 : 8 , 1294 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1355 : 8 , 1363 : 8 , 1369 : 8 , 1407 : 8 , 1419 : 8 , 1425 : 2 , 1426 : 8 , 1427 : 6 , 1429 : 8 , 1430 : 8 , 1456 : 4 , 1470 : 8 , 1507 : 8 , 1535 : 8
} ] ,
CAR . KONA : [ {
67 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 354 : 3 , 356 : 4 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1156 : 8 , 1170 : 8 , 1173 : 8 , 1191 : 2 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1384 : 8 , 1394 : 8 , 1407 : 8 , 1414 : 3 , 1419 : 8 , 1427 : 6 , 1456 : 4 , 1470 : 8 , 2004 : 8 , 2009 : 8 , 2012 : 8
} ] ,
CAR . KONA_EV : [ {
127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 352 : 8 , 356 : 4 , 544 : 8 , 549 : 8 , 593 : 8 , 688 : 5 , 832 : 8 , 881 : 8 , 882 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1136 : 8 , 1151 : 6 , 1168 : 7 , 1173 : 8 , 1183 : 8 , 1186 : 2 , 1191 : 2 , 1225 : 8 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1291 : 8 , 1292 : 8 , 1294 : 8 , 1307 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1355 : 8 , 1363 : 8 , 1369 : 8 , 1378 : 4 , 1407 : 8 , 1419 : 8 , 1426 : 8 , 1427 : 6 , 1429 : 8 , 1430 : 8 , 1456 : 4 , 1470 : 8 , 1473 : 8 , 1507 : 8 , 1535 : 8 , 2000 : 8 , 2004 : 8 , 2008 : 8 , 2012 : 8
} ] ,
CAR . KIA_FORTE : [ {
67 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 544 : 8 , 593 : 8 , 608 : 8 , 688 : 5 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 909 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1078 : 4 , 1107 : 5 , 1136 : 8 , 1156 : 8 , 1170 : 8 , 1173 : 8 , 1191 : 2 , 1225 : 8 , 1265 : 4 , 1280 : 4 , 1287 : 4 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1384 : 8 , 1394 : 8 , 1407 : 8 , 1427 : 6 , 1456 : 4 , 1470 : 8
} ] ,
CAR . KIA_OPTIMA_H : [ {
68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 352 : 8 , 356 : 4 , 544 : 8 , 593 : 8 , 688 : 5 , 832 : 8 , 881 : 8 , 882 : 8 , 897 : 8 , 902 : 8 , 903 : 6 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1136 : 6 , 1151 : 6 , 1168 : 7 , 1173 : 8 , 1236 : 2 , 1265 : 4 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1291 : 8 , 1292 : 8 , 1322 : 8 , 1331 : 8 , 1332 : 8 , 1333 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1355 : 8 , 1363 : 8 , 1369 : 8 , 1371 : 8 , 1407 : 8 , 1419 : 8 , 1427 : 6 , 1429 : 8 , 1430 : 8 , 1448 : 8 , 1456 : 4 , 1470 : 8 , 1476 : 8 , 1535 : 8
} ,
{
68 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 352 : 8 , 356 : 4 , 544 : 8 , 576 : 8 , 593 : 8 , 688 : 5 , 881 : 8 , 882 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 909 : 8 , 912 : 7 , 916 : 8 , 1040 : 8 , 1056 : 8 , 1057 : 8 , 1078 : 4 , 1136 : 6 , 1151 : 6 , 1168 : 7 , 1173 : 8 , 1180 : 8 , 1186 : 2 , 1191 : 2 , 1265 : 4 , 1268 : 8 , 1280 : 1 , 1287 : 4 , 1290 : 8 , 1291 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1355 : 8 , 1363 : 8 , 1369 : 8 , 1371 : 8 , 1407 : 8 , 1419 : 8 , 1420 : 8 , 1425 : 2 , 1427 : 6 , 1429 : 8 , 1430 : 8 , 1448 : 8 , 1456 : 4 , 1470 : 8 , 1476 : 8 , 1535 : 8
} ] ,
CAR . PALISADE : [ {
67 : 8 , 127 : 8 , 304 : 8 , 320 : 8 , 339 : 8 , 356 : 4 , 544 : 8 , 549 : 8 , 576 : 8 , 593 : 8 , 608 : 8 , 688 : 6 , 809 : 8 , 832 : 8 , 854 : 7 , 870 : 7 , 871 : 8 , 872 : 8 , 897 : 8 , 902 : 8 , 903 : 8 , 905 : 8 , 909 : 8 , 913 : 8 , 916 : 8 , 1040 : 8 , 1042 : 8 , 1056 : 8 , 1057 : 8 , 1064 : 8 , 1078 : 4 , 1107 : 5 , 1123 : 8 , 1136 : 8 , 1151 : 6 , 1155 : 8 , 1156 : 8 , 1157 : 4 , 1162 : 8 , 1164 : 8 , 1168 : 7 , 1170 : 8 , 1173 : 8 , 1180 : 8 , 1186 : 2 , 1191 : 2 , 1193 : 8 , 1210 : 8 , 1225 : 8 , 1227 : 8 , 1265 : 4 , 1280 : 8 , 1287 : 4 , 1290 : 8 , 1292 : 8 , 1294 : 8 , 1312 : 8 , 1322 : 8 , 1342 : 6 , 1345 : 8 , 1348 : 8 , 1363 : 8 , 1369 : 8 , 1371 : 8 , 1378 : 8 , 1384 : 8 , 1407 : 8 , 1419 : 8 , 1427 : 6 , 1456 : 4 , 1470 : 8 , 2000 : 8 , 2005 : 8 , 2008 : 8
} ] ,
}
ECU_FINGERPRINT = {
Ecu . fwdCamera : [ 832 , 1156 , 1191 , 1342 ]
}
FW_VERSIONS = {
CAR . SONATA : {
( Ecu . fwdRadar , 0x7d0 , None ) : [ b ' \xf1 \x00 DN8_ SCC FHCUP 1.00 1.00 99110-L0000 ' ] ,
( Ecu . esp , 0x7d1 , None ) : [ b ' \xf1 \x87 58910-L0100 \xf1 \x00 DN ESC \x06 104 \x19 \x08 \x01 58910-L0100 \xf1 \xa0 1.04 ' ] ,
( Ecu . engine , 0x7e0 , None ) : [ b ' \xf1 \x87 391162M003 \xf1 \xa0 000F ' ] ,
( Ecu . eps , 0x7d4 , None ) : [ b ' \xf1 \x87 56310L0010 \x00 \xf1 \x00 DN8 MDPS C 1.00 1.01 56310L0010 \x00 4DNAC101 \xf1 \xa0 1.01 ' ] ,
( Ecu . fwdCamera , 0x7c4 , None ) : [ b ' \xf1 \x00 DN8 MFC AT USA LHD 1.00 1.01 99211-L0000 191016 ' ] ,
( Ecu . transmission , 0x7e1 , None ) : [ b ' \xf1 \x00 bcsh8p54 U903 \x00 \x00 \x00 \x00 \x00 \x00 SDN8T16NB0z { \xd4 v ' ] ,
}
}
CHECKSUM = {
" crc8 " : [ CAR . SANTA_FE , CAR . SONATA , CAR . PALISADE ] ,
" 6B " : [ CAR . KIA_SORENTO , CAR . HYUNDAI_GENESIS ] ,
}
FEATURES = {
" use_cluster_gears " : [ CAR . ELANTRA , CAR . KONA , CAR . ELANTRA_GT_I30 ] , # Use Cluster for Gear Selection, rather than Transmission
" use_tcu_gears " : [ CAR . KIA_OPTIMA ] , # Use TCU Message for Gear Selection
" use_elect_gears " : [ CAR . KIA_OPTIMA_H , CAR . IONIQ_EV_LTD , CAR . KONA_EV ] , # Use TCU Message for Gear Selection
}
DBC = {
CAR . ELANTRA : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . ELANTRA_GT_I30 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
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 : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . IONIQ_EV_LTD : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_FORTE : 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_SORENTO : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KIA_STINGER : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KONA : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . KONA_EV : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . SANTA_FE : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . SONATA : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
CAR . PALISADE : dbc_dict ( ' hyundai_kia_generic ' , None ) ,
}
STEER_THRESHOLD = 150