@ -17,6 +17,7 @@ class CAR:
LEXUS_RX = " LEXUS RX 350 2016 "
LEXUS_RXH = " LEXUS RX HYBRID 2017 "
LEXUS_RX_TSS2 = " LEXUS RX350 2020 "
LEXUS_RXH_TSS2 = " LEXUS RX450 HYBRID 2020 "
CHR = " TOYOTA C-HR 2018 "
CHRH = " TOYOTA C-HR HYBRID 2018 "
CAMRY = " TOYOTA CAMRY 2018 "
@ -133,6 +134,11 @@ FINGERPRINTS = {
{
36 : 8 , 37 : 8 , 114 : 5 , 119 : 6 , 120 : 4 , 170 : 8 , 180 : 8 , 186 : 4 , 401 : 8 , 426 : 6 , 452 : 8 , 464 : 8 , 466 : 8 , 467 : 8 , 544 : 4 , 550 : 8 , 552 : 4 , 562 : 6 , 608 : 8 , 610 : 8 , 643 : 7 , 658 : 8 , 705 : 8 , 740 : 5 , 742 : 8 , 743 : 8 , 764 : 8 , 765 : 8 , 767 : 4 , 800 : 8 , 810 : 2 , 812 : 8 , 814 : 8 , 818 : 8 , 824 : 8 , 830 : 7 , 835 : 8 , 836 : 8 , 865 : 8 , 869 : 7 , 870 : 7 , 871 : 2 , 877 : 8 , 881 : 8 , 891 : 8 , 896 : 8 , 898 : 8 , 900 : 6 , 902 : 6 , 905 : 8 , 918 : 8 , 921 : 8 , 933 : 8 , 934 : 8 , 935 : 8 , 944 : 8 , 945 : 8 , 951 : 8 , 955 : 8 , 956 : 8 , 976 : 1 , 987 : 8 , 998 : 5 , 999 : 7 , 1000 : 8 , 1001 : 8 , 1002 : 8 , 1014 : 8 , 1017 : 8 , 1020 : 8 , 1041 : 8 , 1042 : 8 , 1044 : 8 , 1056 : 8 , 1059 : 1 , 1063 : 8 , 1076 : 8 , 1077 : 8 , 1082 : 8 , 1114 : 8 , 1161 : 8 , 1162 : 8 , 1163 : 8 , 1164 : 8 , 1165 : 8 , 1166 : 8 , 1167 : 8 , 1172 : 8 , 1228 : 8 , 1235 : 8 , 1237 : 8 , 1264 : 8 , 1279 : 8 , 1541 : 8 , 1552 : 8 , 1553 : 8 , 1556 : 8 , 1557 : 8 , 1568 : 8 , 1570 : 8 , 1571 : 8 , 1572 : 8 , 1575 : 8 , 1592 : 8 , 1594 : 8 , 1595 : 8 , 1600 : 8 , 1649 : 8 , 1775 : 8 , 1777 : 8 , 1779 : 8 , 1786 : 8 , 1787 : 8 , 1788 : 8 , 1789 : 8 , 1808 : 8 , 1816 : 8 , 1872 : 8 , 1880 : 8 , 1904 : 8 , 1912 : 8 , 1990 : 8 , 1998 : 8 , 2015 : 8 , 2016 : 8 , 2024 : 8
} ] ,
CAR . LEXUS_RXH_TSS2 : [
# 2020 Lexus RX 450h
{
36 : 8 , 37 : 8 , 166 : 8 , 170 : 8 , 180 : 8 , 295 : 8 , 296 : 8 , 401 : 8 , 426 : 6 , 452 : 8 , 466 : 8 , 467 : 8 , 550 : 8 , 552 : 4 , 560 : 7 , 562 : 6 , 581 : 5 , 608 : 8 , 610 : 8 , 643 : 7 , 658 : 8 , 713 : 8 , 740 : 5 , 742 : 8 , 743 : 8 , 744 : 8 , 764 : 8 , 765 : 8 , 800 : 8 , 810 : 2 , 812 : 3 , 814 : 8 , 818 : 8 , 822 : 8 , 824 : 8 , 830 : 7 , 835 : 8 , 836 : 8 , 845 : 5 , 863 : 8 , 865 : 8 , 869 : 7 , 870 : 7 , 871 : 2 , 877 : 8 , 881 : 8 , 889 : 8 , 891 : 8 , 896 : 8 , 898 : 8 , 900 : 6 , 902 : 6 , 905 : 8 , 913 : 8 , 918 : 8 , 921 : 8 , 933 : 8 , 934 : 8 , 935 : 8 , 942 : 8 , 944 : 8 , 945 : 8 , 950 : 8 , 951 : 8 , 953 : 8 , 955 : 8 , 956 : 8 , 971 : 7 , 975 : 6 , 987 : 8 , 993 : 8 , 998 : 5 , 999 : 7 , 1000 : 8 , 1001 : 8 , 1002 : 8 , 1014 : 8 , 1017 : 8 , 1020 : 8 , 1041 : 8 , 1042 : 8 , 1044 : 8 , 1056 : 8 , 1057 : 8 , 1059 : 1 , 1063 : 8 , 1071 : 8 , 1076 : 8 , 1077 : 8 , 1082 : 8 , 1114 : 8 , 1161 : 8 , 1162 : 8 , 1163 : 8 , 1164 : 8 , 1165 : 8 , 1166 : 8 , 1167 : 8 , 1172 : 8 , 1228 : 8 , 1235 : 8 , 1237 : 8 , 1263 : 8 , 1264 : 8 , 1279 : 8 , 1541 : 8 , 1552 : 8 , 1553 : 8 , 1556 : 8 , 1557 : 8 , 1568 : 8 , 1570 : 8 , 1571 : 8 , 1572 : 8 , 1575 : 8 , 1592 : 8 , 1594 : 8 , 1595 : 8 , 1600 : 8 , 1649 : 8 , 1775 : 8 , 1777 : 8 , 1779 : 8 , 1786 : 8 , 1787 : 8 , 1788 : 8 , 1789 : 8 , 1792 : 8 , 1808 : 8 , 1809 : 8 , 1810 : 8 , 1816 : 8 , 1818 : 8 , 1840 : 8 , 1848 : 8 , 1872 : 8 , 1880 : 8 , 1904 : 8 , 1912 : 8 , 1937 : 8 , 1940 : 8 , 1941 : 8 , 1945 : 8 , 1948 : 8 , 1949 : 8 , 1952 : 8 , 1953 : 8 , 1956 : 8 , 1960 : 8 , 1961 : 8 , 1968 : 8 , 1976 : 8 , 1986 : 8 , 1990 : 8 , 1994 : 8 , 1998 : 8 , 2004 : 8 , 2012 : 8 , 2015 : 8 , 2016 : 8 , 2024 : 8
} ] ,
CAR . CHR : [ {
36 : 8 , 37 : 8 , 170 : 8 , 180 : 8 , 186 : 4 , 426 : 6 , 452 : 8 , 464 : 8 , 466 : 8 , 467 : 8 , 544 : 4 , 550 : 8 , 552 : 4 , 562 : 6 , 608 : 8 , 610 : 8 , 614 : 8 , 643 : 7 , 658 : 8 , 705 : 8 , 740 : 5 , 767 : 4 , 800 : 8 , 810 : 2 , 812 : 8 , 814 : 8 , 830 : 7 , 835 : 8 , 836 : 8 , 845 : 5 , 869 : 7 , 870 : 7 , 871 : 2 , 898 : 8 , 913 : 8 , 918 : 8 , 921 : 8 , 944 : 8 , 945 : 8 , 951 : 8 , 955 : 8 , 956 : 8 , 976 : 1 , 1014 : 8 , 1017 : 8 , 1020 : 8 , 1021 : 8 , 1041 : 8 , 1042 : 8 , 1044 : 8 , 1056 : 8 , 1059 : 1 , 1082 : 8 , 1083 : 8 , 1114 : 8 , 1161 : 8 , 1162 : 8 , 1163 : 8 , 1175 : 8 , 1228 : 8 , 1235 : 8 , 1237 : 8 , 1279 : 8 , 1552 : 8 , 1553 : 8 , 1556 : 8 , 1557 : 8 , 1568 : 8 , 1570 : 8 , 1571 : 8 , 1572 : 8 , 1595 : 8 , 1745 : 8 , 1779 : 8
} ] ,
@ -261,7 +267,7 @@ FINGERPRINTS = {
}
# Don't use theses fingerprints for fingerprinting, they are still needed for ECU detection
IGNORED_FINGERPRINTS = [ CAR . RAV4H_TSS2 , CAR . HIGHLANDERH_TSS2 ]
IGNORED_FINGERPRINTS = [ CAR . RAV4H_TSS2 , CAR . HIGHLANDERH_TSS2 , CAR . LEXUS_RXH_TSS2 ]
FW_VERSIONS = {
CAR . AVALON : {
@ -873,6 +879,23 @@ FW_VERSIONS = {
b ' 8646F4809000 \x00 \x00 \x00 \x00 ' ,
] ,
} ,
CAR . LEXUS_RXH_TSS2 : {
( Ecu . engine , 0x7e0 , None ) : [
b ' \x02 348X8000 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 A4802000 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . esp , 0x7b0 , None ) : [
b ' F152648831 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . eps , 0x7a1 , None ) : [
b ' 8965B48271 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . fwdRadar , 0x750 , 0xf ) : [
b ' \x01 8821F3301400 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . fwdCamera , 0x750 , 0x6d ) : [
b ' \x02 8646F4810100 \x00 \x00 \x00 \x00 8646G2601200 \x00 \x00 \x00 \x00 ' ,
] ,
} ,
}
STEER_THRESHOLD = 100
@ -885,6 +908,7 @@ DBC = {
CAR . LEXUS_RX : dbc_dict ( ' lexus_rx_350_2016_pt_generated ' , ' toyota_adas ' ) ,
CAR . LEXUS_RXH : dbc_dict ( ' lexus_rx_hybrid_2017_pt_generated ' , ' toyota_adas ' ) ,
CAR . LEXUS_RX_TSS2 : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_tss2_adas ' ) ,
CAR . LEXUS_RXH_TSS2 : dbc_dict ( ' toyota_nodsu_hybrid_pt_generated ' , ' toyota_tss2_adas ' ) ,
CAR . CHR : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_adas ' ) ,
CAR . CHRH : dbc_dict ( ' toyota_nodsu_hybrid_pt_generated ' , ' toyota_adas ' ) ,
CAR . CAMRY : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_adas ' ) ,
@ -906,6 +930,6 @@ DBC = {
CAR . LEXUS_NXH : dbc_dict ( ' lexus_nx300h_2018_pt_generated ' , ' toyota_adas ' ) ,
}
NO_DSU_CAR = [ CAR . CHR , CAR . CHRH , CAR . CAMRY , CAR . CAMRYH , CAR . RAV4_TSS2 , CAR . COROLLA_TSS2 , CAR . COROLLAH_TSS2 , CAR . LEXUS_ES_TSS2 , CAR . LEXUS_ESH_TSS2 , CAR . RAV4H_TSS2 , CAR . LEXUS_RX_TSS2 , CAR . HIGHLANDER_TSS2 , CAR . HIGHLANDERH_TSS2 ]
TSS2_CAR = [ CAR . RAV4_TSS2 , CAR . COROLLA_TSS2 , CAR . COROLLAH_TSS2 , CAR . LEXUS_ES_TSS2 , CAR . LEXUS_ESH_TSS2 , CAR . RAV4H_TSS2 , CAR . LEXUS_RX_TSS2 , CAR . HIGHLANDER_TSS2 , CAR . HIGHLANDERH_TSS2 ]
NO_STOP_TIMER_CAR = [ CAR . RAV4H , CAR . HIGHLANDERH , CAR . HIGHLANDER , CAR . RAV4_TSS2 , CAR . COROLLA_TSS2 , CAR . COROLLAH_TSS2 , CAR . LEXUS_ES_TSS2 , CAR . LEXUS_ESH_TSS2 , CAR . SIENNA , CAR . RAV4H_TSS2 , CAR . LEXUS_RX_TSS2 , CAR . HIGHLANDER_TSS2 , CAR . HIGHLANDERH_TSS2 ] # no resume button press required
NO_DSU_CAR = [ CAR . CHR , CAR . CHRH , CAR . CAMRY , CAR . CAMRYH , CAR . RAV4_TSS2 , CAR . COROLLA_TSS2 , CAR . COROLLAH_TSS2 , CAR . LEXUS_ES_TSS2 , CAR . LEXUS_ESH_TSS2 , CAR . RAV4H_TSS2 , CAR . LEXUS_RX_TSS2 , CAR . LEXUS_RXH_TSS2 , CAR . HIGHLANDER_TSS2 , CAR . HIGHLANDERH_TSS2 ]
TSS2_CAR = [ CAR . RAV4_TSS2 , CAR . COROLLA_TSS2 , CAR . COROLLAH_TSS2 , CAR . LEXUS_ES_TSS2 , CAR . LEXUS_ESH_TSS2 , CAR . RAV4H_TSS2 , CAR . LEXUS_RX_TSS2 , CAR . LEXUS_RXH_TSS2 , CAR . HIGHLANDER_TSS2 , CAR . HIGHLANDERH_TSS2 ]
NO_STOP_TIMER_CAR = [ CAR . RAV4H , CAR . HIGHLANDERH , CAR . HIGHLANDER , CAR . RAV4_TSS2 , CAR . COROLLA_TSS2 , CAR . COROLLAH_TSS2 , CAR . LEXUS_ES_TSS2 , CAR . LEXUS_ESH_TSS2 , CAR . SIENNA , CAR . RAV4H_TSS2 , CAR . LEXUS_RX_TSS2 , CAR . LEXUS_RXH_TSS2 , CAR . HIGHLANDER_TSS2 , CAR . HIGHLANDERH_TSS2 ] # no resume button press required