@ -62,6 +62,7 @@ class CAR:
RAV4 = " TOYOTA RAV4 2017 "
RAV4H = " TOYOTA RAV4 HYBRID 2017 "
RAV4_TSS2 = " TOYOTA RAV4 2019 "
RAV4_TSS2_2022 = " TOYOTA RAV4 2022 "
RAV4H_TSS2 = " TOYOTA RAV4 HYBRID 2019 "
RAV4H_TSS2_2022 = " TOYOTA RAV4 HYBRID 2022 "
MIRAI = " TOYOTA MIRAI 2021 " # TSS 2.5
@ -143,6 +144,7 @@ CAR_INFO: Dict[str, Union[ToyotaCarInfo, List[ToyotaCarInfo]]] = {
CAR . RAV4 : ToyotaCarInfo ( " Toyota RAV4 2016-18 " , " TSS-P " , footnotes = [ Footnote . DSU ] ) ,
CAR . RAV4H : ToyotaCarInfo ( " Toyota RAV4 Hybrid 2016-18 " , " TSS-P " , footnotes = [ Footnote . DSU ] ) ,
CAR . RAV4_TSS2 : ToyotaCarInfo ( " Toyota RAV4 2019-21 " , video_link = " https://www.youtube.com/watch?v=wJxjDd42gGA " ) ,
CAR . RAV4_TSS2_2022 : ToyotaCarInfo ( " Toyota RAV4 2022 " ) ,
CAR . RAV4H_TSS2 : ToyotaCarInfo ( " Toyota RAV4 Hybrid 2019-21 " ) ,
CAR . RAV4H_TSS2_2022 : ToyotaCarInfo ( " Toyota RAV4 Hybrid 2022 " ) ,
CAR . MIRAI : ToyotaCarInfo ( " Toyota Mirai 2021 " ) ,
@ -1276,6 +1278,25 @@ FW_VERSIONS = {
b ' \x02 8646F4203800 \x00 \x00 \x00 \x00 8646G2601500 \x00 \x00 \x00 \x00 ' ,
] ,
} ,
CAR . RAV4_TSS2_2022 : {
( Ecu . esp , 0x7b0 , None ) : [
b ' \x01 F15260R350 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
b ' \x01 F15260R361 \x00 \x00 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . eps , 0x7a1 , None ) : [
b ' \x02 8965B0R01500 \x00 \x00 \x00 \x00 8965B0R02500 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . engine , 0x700 , None ) : [
b ' \x01 896634AA1000 \x00 \x00 \x00 \x00 ' ,
b ' \x01 896634A88000 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . fwdRadar , 0x750 , 0xf ) : [
b ' \x01 8821F0R01100 \x00 \x00 \x00 \x00 ' ,
] ,
( Ecu . fwdCamera , 0x750 , 0x6d ) : [
b ' \x02 8646F0R02100 \x00 \x00 \x00 \x00 8646G0R01100 \x00 \x00 \x00 \x00 ' ,
] ,
} ,
CAR . RAV4H_TSS2 : {
( Ecu . engine , 0x700 , None ) : [
b ' \x01 896634A15000 \x00 \x00 \x00 \x00 ' ,
@ -1866,6 +1887,7 @@ DBC = {
CAR . AVALON_TSS2 : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_tss2_adas ' ) ,
CAR . AVALONH_TSS2 : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_tss2_adas ' ) ,
CAR . RAV4_TSS2 : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_tss2_adas ' ) ,
CAR . RAV4_TSS2_2022 : dbc_dict ( ' toyota_nodsu_pt_generated ' , None ) ,
CAR . COROLLA_TSS2 : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_tss2_adas ' ) ,
CAR . COROLLAH_TSS2 : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_tss2_adas ' ) ,
CAR . LEXUS_ES_TSS2 : dbc_dict ( ' toyota_nodsu_pt_generated ' , ' toyota_tss2_adas ' ) ,
@ -1889,14 +1911,14 @@ DBC = {
EPS_SCALE = defaultdict ( lambda : 73 , { CAR . PRIUS : 66 , CAR . COROLLA : 88 , CAR . LEXUS_IS : 77 , CAR . LEXUS_RC : 77 , CAR . LEXUS_CTH : 100 , CAR . PRIUS_V : 100 } )
# 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 , CAR . RAV4H_TSS2_2022 ,
TSS2_CAR = { CAR . RAV4_TSS2 , CAR . RAV4_TSS2_2022 , CAR . COROLLA_TSS2 , CAR . COROLLAH_TSS2 , CAR . LEXUS_ES_TSS2 , CAR . LEXUS_ESH_TSS2 , CAR . RAV4H_TSS2 , CAR . RAV4H_TSS2_2022 ,
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 . ALPHARDH_TSS2 }
NO_DSU_CAR = TSS2_CAR | { CAR . CHR , CAR . CHRH , CAR . CAMRY , CAR . CAMRYH }
# these cars have a radar which sends ACC messages instead of the camera
RADAR_ACC_CAR = { CAR . RAV4H_TSS2_2022 }
RADAR_ACC_CAR = { CAR . RAV4H_TSS2_2022 , CAR . RAV4_TSS2_2022 }
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 . RAV4H_TSS2_2022 , CAR . LEXUS_CTH , CAR . MIRAI , CAR . LEXUS_ESH , CAR . LEXUS_ESH_TSS2 , CAR . LEXUS_NXH , CAR . LEXUS_RXH ,