@ -63,6 +63,7 @@ class CAR: 
			
		
	
		
		
			
				
					
					  RAV4H  =  " TOYOTA RAV4 HYBRID 2017 "    RAV4H  =  " TOYOTA RAV4 HYBRID 2017 "   
			
		
	
		
		
			
				
					
					  RAV4_TSS2  =  " TOYOTA RAV4 2019 "    RAV4_TSS2  =  " TOYOTA RAV4 2019 "   
			
		
	
		
		
			
				
					
					  RAV4H_TSS2  =  " TOYOTA RAV4 HYBRID 2019 "    RAV4H_TSS2  =  " TOYOTA RAV4 HYBRID 2019 "   
			
		
	
		
		
			
				
					
					  RAV4H_TSS2_2022  =  " TOYOTA RAV4 HYBRID 2022 "   
			
		
	
		
		
			
				
					
					  MIRAI  =  " TOYOTA MIRAI 2021 "   # TSS 2.5    MIRAI  =  " TOYOTA MIRAI 2021 "   # TSS 2.5   
			
		
	
		
		
			
				
					
					  SIENNA  =  " TOYOTA SIENNA 2018 "    SIENNA  =  " TOYOTA SIENNA 2018 "   
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -142,6 +143,7 @@ CAR_INFO: Dict[str, Union[ToyotaCarInfo, List[ToyotaCarInfo]]] = { 
			
		
	
		
		
			
				
					
					  CAR . RAV4H :  ToyotaCarInfo ( " Toyota RAV4 Hybrid 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 :  ToyotaCarInfo ( " Toyota RAV4 2019-21 " ,  video_link = " https://www.youtube.com/watch?v=wJxjDd42gGA " ) ,   
			
		
	
		
		
			
				
					
					  CAR . RAV4H_TSS2 :  ToyotaCarInfo ( " Toyota RAV4 Hybrid 2019-21 " ) ,    CAR . RAV4H_TSS2 :  ToyotaCarInfo ( " Toyota RAV4 Hybrid 2019-21 " ) ,   
			
		
	
		
		
			
				
					
					  CAR . RAV4H_TSS2_2022 :  ToyotaCarInfo ( " Toyota RAV4 Hybrid 2022 " ) ,   
			
		
	
		
		
			
				
					
					  CAR . MIRAI :  ToyotaCarInfo ( " Toyota Mirai 2021 " ) ,    CAR . MIRAI :  ToyotaCarInfo ( " Toyota Mirai 2021 " ) ,   
			
		
	
		
		
			
				
					
					  CAR . SIENNA :  ToyotaCarInfo ( " Toyota Sienna 2018-20 " ,  video_link = " https://www.youtube.com/watch?v=q1UPOo4Sh68 " ,  footnotes = [ Footnote . DSU ] ) ,    CAR . SIENNA :  ToyotaCarInfo ( " Toyota Sienna 2018-20 " ,  video_link = " https://www.youtube.com/watch?v=q1UPOo4Sh68 " ,  footnotes = [ Footnote . DSU ] ) ,   
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -1330,6 +1332,26 @@ FW_VERSIONS = { 
			
		
	
		
		
			
				
					
					      b ' \x02 8646F4203800 \x00 \x00 \x00 \x00 8646G2601500 \x00 \x00 \x00 \x00 ' ,        b ' \x02 8646F4203800 \x00 \x00 \x00 \x00 8646G2601500 \x00 \x00 \x00 \x00 ' ,   
			
		
	
		
		
			
				
					
					    ] ,      ] ,   
			
		
	
		
		
			
				
					
					  } ,    } ,   
			
		
	
		
		
			
				
					
					  CAR . RAV4H_TSS2_2022 :  {   
			
		
	
		
		
			
				
					
					    ( Ecu . esp ,  0x7b0 ,  None ) :  [   
			
		
	
		
		
			
				
					
					      b ' \x01 F15264283100 \x00 \x00 \x00 \x00 ' ,   
			
		
	
		
		
			
				
					
					      b ' \x01 F15264286200 \x00 \x00 \x00 \x00 ' ,   
			
		
	
		
		
			
				
					
					    ] ,   
			
		
	
		
		
			
				
					
					    ( Ecu . eps ,  0x7a1 ,  None ) :  [   
			
		
	
		
		
			
				
					
					      b ' \x02 8965B0R01500 \x00 \x00 \x00 \x00 8965B0R02500 \x00 \x00 \x00 \x00 ' ,   
			
		
	
		
		
			
				
					
					      b ' 8965B42182 \x00 \x00 \x00 \x00 \x00 \x00 ' ,   
			
		
	
		
		
			
				
					
					    ] ,   
			
		
	
		
		
			
				
					
					    ( Ecu . engine ,  0x700 ,  None ) :  [   
			
		
	
		
		
			
				
					
					      b ' \x01 896634A62000 \x00 \x00 \x00 \x00 ' ,   
			
		
	
		
		
			
				
					
					      b ' \x01 896634A08000 \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 . SIENNA :  {    CAR . SIENNA :  {   
			
		
	
		
		
			
				
					
					    ( Ecu . engine ,  0x700 ,  None ) :  [      ( Ecu . engine ,  0x700 ,  None ) :  [   
			
		
	
		
		
			
				
					
					      b ' \x01 896630832100 \x00 \x00 \x00 \x00 ' ,        b ' \x01 896630832100 \x00 \x00 \x00 \x00 ' ,   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -1840,6 +1862,7 @@ DBC = { 
			
		
	
		
		
			
				
					
					  CAR . LEXUS_IS :  dbc_dict ( ' toyota_tnga_k_pt_generated ' ,  ' toyota_adas ' ) ,    CAR . LEXUS_IS :  dbc_dict ( ' toyota_tnga_k_pt_generated ' ,  ' toyota_adas ' ) ,   
			
		
	
		
		
			
				
					
					  CAR . LEXUS_CTH :  dbc_dict ( ' toyota_new_mc_pt_generated ' ,  ' toyota_adas ' ) ,    CAR . LEXUS_CTH :  dbc_dict ( ' toyota_new_mc_pt_generated ' ,  ' toyota_adas ' ) ,   
			
		
	
		
		
			
				
					
					  CAR . RAV4H_TSS2 :  dbc_dict ( ' toyota_nodsu_pt_generated ' ,  ' toyota_tss2_adas ' ) ,    CAR . RAV4H_TSS2 :  dbc_dict ( ' toyota_nodsu_pt_generated ' ,  ' toyota_tss2_adas ' ) ,   
			
		
	
		
		
			
				
					
					  CAR . RAV4H_TSS2_2022 :  dbc_dict ( ' toyota_nodsu_pt_generated ' ,  None ) ,   
			
		
	
		
		
			
				
					
					  CAR . LEXUS_NXH :  dbc_dict ( ' toyota_tnga_k_pt_generated ' ,  ' toyota_adas ' ) ,    CAR . LEXUS_NXH :  dbc_dict ( ' toyota_tnga_k_pt_generated ' ,  ' toyota_adas ' ) ,   
			
		
	
		
		
			
				
					
					  CAR . LEXUS_NX :  dbc_dict ( ' toyota_tnga_k_pt_generated ' ,  ' toyota_adas ' ) ,    CAR . LEXUS_NX :  dbc_dict ( ' toyota_tnga_k_pt_generated ' ,  ' toyota_adas ' ) ,   
			
		
	
		
		
			
				
					
					  CAR . LEXUS_NX_TSS2 :  dbc_dict ( ' toyota_nodsu_pt_generated ' ,  ' toyota_tss2_adas ' ) ,    CAR . LEXUS_NX_TSS2 :  dbc_dict ( ' toyota_nodsu_pt_generated ' ,  ' toyota_tss2_adas ' ) ,   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -1853,14 +1876,17 @@ 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 } ) 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 # 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 . 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 . 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 }              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 }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					# these cars have a radar which sends ACC messages instead of the camera  
			
		
	
		
		
			
				
					
					RADAR_ACC_CAR  =  { CAR . RAV4H_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 , 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 . RAV4H_TSS2_2022 ,  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 . ALPHARDH_TSS2 }                   CAR . LEXUS_RXH_TSS2 ,  CAR . PRIUS_TSS2 ,  CAR . ALPHARDH_TSS2 }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					# no resume button press required # no resume button press required