|
|
@ -30,6 +30,7 @@ class ToyotaFlags(IntFlag): |
|
|
|
class CAR: |
|
|
|
class CAR: |
|
|
|
# Toyota |
|
|
|
# Toyota |
|
|
|
ALPHARD_TSS2 = "TOYOTA ALPHARD 2020" |
|
|
|
ALPHARD_TSS2 = "TOYOTA ALPHARD 2020" |
|
|
|
|
|
|
|
ALPHARDH_TSS2 = "TOYOTA ALPHARD HYBRID 2021" |
|
|
|
AVALON = "TOYOTA AVALON 2016" |
|
|
|
AVALON = "TOYOTA AVALON 2016" |
|
|
|
AVALON_2019 = "TOYOTA AVALON 2019" |
|
|
|
AVALON_2019 = "TOYOTA AVALON 2019" |
|
|
|
AVALONH_2019 = "TOYOTA AVALON HYBRID 2019" |
|
|
|
AVALONH_2019 = "TOYOTA AVALON HYBRID 2019" |
|
|
@ -97,6 +98,7 @@ class ToyotaCarInfo(CarInfo): |
|
|
|
CAR_INFO: Dict[str, Union[ToyotaCarInfo, List[ToyotaCarInfo]]] = { |
|
|
|
CAR_INFO: Dict[str, Union[ToyotaCarInfo, List[ToyotaCarInfo]]] = { |
|
|
|
# Toyota |
|
|
|
# Toyota |
|
|
|
CAR.ALPHARD_TSS2: ToyotaCarInfo("Toyota Alphard 2019-20"), |
|
|
|
CAR.ALPHARD_TSS2: ToyotaCarInfo("Toyota Alphard 2019-20"), |
|
|
|
|
|
|
|
CAR.ALPHARDH_TSS2: ToyotaCarInfo("Toyota Alphard Hybrid 2021"), |
|
|
|
CAR.AVALON: ToyotaCarInfo("Toyota Avalon 2016-18", "TSS-P", footnotes=[Footnote.DSU]), |
|
|
|
CAR.AVALON: ToyotaCarInfo("Toyota Avalon 2016-18", "TSS-P", footnotes=[Footnote.DSU]), |
|
|
|
CAR.AVALON_2019: ToyotaCarInfo("Toyota Avalon 2019-21", "TSS-P", footnotes=[Footnote.DSU]), |
|
|
|
CAR.AVALON_2019: ToyotaCarInfo("Toyota Avalon 2019-21", "TSS-P", footnotes=[Footnote.DSU]), |
|
|
|
CAR.AVALONH_2019: ToyotaCarInfo("Toyota Avalon Hybrid 2019-21", "TSS-P", footnotes=[Footnote.DSU]), |
|
|
|
CAR.AVALONH_2019: ToyotaCarInfo("Toyota Avalon Hybrid 2019-21", "TSS-P", footnotes=[Footnote.DSU]), |
|
|
@ -1764,6 +1766,23 @@ FW_VERSIONS = { |
|
|
|
b'\x028646F5803200\x00\x00\x00\x008646G2601400\x00\x00\x00\x00', |
|
|
|
b'\x028646F5803200\x00\x00\x00\x008646G2601400\x00\x00\x00\x00', |
|
|
|
], |
|
|
|
], |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
CAR.ALPHARDH_TSS2: { |
|
|
|
|
|
|
|
(Ecu.engine, 0x7e0, None): [ |
|
|
|
|
|
|
|
b'\x0235879000\x00\x00\x00\x00\x00\x00\x00\x00A4701000\x00\x00\x00\x00\x00\x00\x00\x00', |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
(Ecu.eps, 0x7a1, None): [ |
|
|
|
|
|
|
|
b'8965B58040\x00\x00\x00\x00\x00\x00', |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
(Ecu.esp, 0x7b0, None): [ |
|
|
|
|
|
|
|
b'F152658341\x00\x00\x00\x00\x00\x00' |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
(Ecu.fwdRadar, 0x750, 0xf): [ |
|
|
|
|
|
|
|
b'\x018821F3301400\x00\x00\x00\x00', |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
(Ecu.fwdCamera, 0x750, 0x6d): [ |
|
|
|
|
|
|
|
b'\x028646FV201000\x00\x00\x00\x008646G2601400\x00\x00\x00\x00', |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
STEER_THRESHOLD = 100 |
|
|
|
STEER_THRESHOLD = 100 |
|
|
@ -1810,6 +1829,7 @@ DBC = { |
|
|
|
CAR.PRIUS_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), |
|
|
|
CAR.PRIUS_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), |
|
|
|
CAR.MIRAI: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), |
|
|
|
CAR.MIRAI: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), |
|
|
|
CAR.ALPHARD_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), |
|
|
|
CAR.ALPHARD_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), |
|
|
|
|
|
|
|
CAR.ALPHARDH_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
# These cars have non-standard EPS torque scale factors. All others are 73 |
|
|
|
# These cars have non-standard EPS torque scale factors. All others are 73 |
|
|
@ -1818,13 +1838,13 @@ EPS_SCALE = defaultdict(lambda: 73, {CAR.PRIUS: 66, CAR.COROLLA: 88, CAR.LEXUS_I |
|
|
|
# Toyota/Lexus Safety Sense 2.0 and 2.5 |
|
|
|
# Toyota/Lexus Safety Sense 2.0 and 2.5 |
|
|
|
TSS2_CAR = {CAR.RAV4_TSS2, CAR.COROLLA_TSS2, CAR.COROLLAH_TSS2, CAR.LEXUS_ES_TSS2, CAR.LEXUS_ESH_TSS2, CAR.RAV4H_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, CAR.PRIUS_TSS2, CAR.CAMRY_TSS2, CAR.CAMRYH_TSS2, |
|
|
|
CAR.LEXUS_RX_TSS2, CAR.LEXUS_RXH_TSS2, CAR.HIGHLANDER_TSS2, CAR.HIGHLANDERH_TSS2, CAR.PRIUS_TSS2, CAR.CAMRY_TSS2, CAR.CAMRYH_TSS2, |
|
|
|
CAR.MIRAI, CAR.LEXUS_NX_TSS2, CAR.ALPHARD_TSS2, CAR.AVALON_TSS2, CAR.AVALONH_TSS2} |
|
|
|
CAR.MIRAI, CAR.LEXUS_NX_TSS2, CAR.ALPHARD_TSS2, CAR.AVALON_TSS2, CAR.AVALONH_TSS2, CAR.ALPHARDH_TSS2} |
|
|
|
|
|
|
|
|
|
|
|
NO_DSU_CAR = TSS2_CAR | {CAR.CHR, CAR.CHRH, CAR.CAMRY, CAR.CAMRYH} |
|
|
|
NO_DSU_CAR = TSS2_CAR | {CAR.CHR, CAR.CHRH, CAR.CAMRY, CAR.CAMRYH} |
|
|
|
|
|
|
|
|
|
|
|
EV_HYBRID_CAR = {CAR.AVALONH_2019, CAR.AVALONH_TSS2, CAR.CAMRYH, CAR.CAMRYH_TSS2, CAR.CHRH, CAR.COROLLAH_TSS2, CAR.HIGHLANDERH, CAR.HIGHLANDERH_TSS2, CAR.PRIUS, |
|
|
|
EV_HYBRID_CAR = {CAR.AVALONH_2019, CAR.AVALONH_TSS2, CAR.CAMRYH, CAR.CAMRYH_TSS2, CAR.CHRH, CAR.COROLLAH_TSS2, CAR.HIGHLANDERH, CAR.HIGHLANDERH_TSS2, CAR.PRIUS, |
|
|
|
CAR.PRIUS_V, CAR.RAV4H, CAR.RAV4H_TSS2, CAR.LEXUS_CTH, CAR.MIRAI, CAR.LEXUS_ESH, CAR.LEXUS_ESH_TSS2, CAR.LEXUS_NXH, CAR.LEXUS_RXH, |
|
|
|
CAR.PRIUS_V, CAR.RAV4H, CAR.RAV4H_TSS2, CAR.LEXUS_CTH, CAR.MIRAI, CAR.LEXUS_ESH, CAR.LEXUS_ESH_TSS2, CAR.LEXUS_NXH, CAR.LEXUS_RXH, |
|
|
|
CAR.LEXUS_RXH_TSS2, CAR.PRIUS_TSS2} |
|
|
|
CAR.LEXUS_RXH_TSS2, CAR.PRIUS_TSS2, CAR.ALPHARDH_TSS2} |
|
|
|
|
|
|
|
|
|
|
|
# no resume button press required |
|
|
|
# no resume button press required |
|
|
|
NO_STOP_TIMER_CAR = TSS2_CAR | {CAR.PRIUS_V, CAR.RAV4H, CAR.HIGHLANDERH, CAR.HIGHLANDER, CAR.SIENNA, CAR.LEXUS_ESH} |
|
|
|
NO_STOP_TIMER_CAR = TSS2_CAR | {CAR.PRIUS_V, CAR.RAV4H, CAR.HIGHLANDERH, CAR.HIGHLANDER, CAR.SIENNA, CAR.LEXUS_ESH} |
|
|
|