@ -24,6 +24,7 @@ class CAR: 
			
		
	
		
			
				
					  HIGHLANDER  =  " TOYOTA HIGHLANDER 2017 "   
			
		
	
		
			
				
					  HIGHLANDER_TSS2  =  " TOYOTA HIGHLANDER 2020 "   
			
		
	
		
			
				
					  HIGHLANDERH  =  " TOYOTA HIGHLANDER HYBRID 2018 "   
			
		
	
		
			
				
					  HIGHLANDERH_TSS2  =  " TOYOTA HIGHLANDER HYBRID 2020 "   
			
		
	
		
			
				
					  AVALON  =  " TOYOTA AVALON 2016 "   
			
		
	
		
			
				
					  RAV4_TSS2  =  " TOYOTA RAV4 2019 "   
			
		
	
		
			
				
					  COROLLA_TSS2  =  " TOYOTA COROLLA TSS2 2019 "   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -191,6 +192,9 @@ FINGERPRINTS = { 
			
		
	
		
			
				
					  # 2019 Highlander Hybrid Limited Platinum   
			
		
	
		
			
				
					    36 :  8 ,  37 :  8 ,  170 :  8 ,  180 :  8 ,  296 :  8 ,  426 :  6 ,  452 :  8 ,  466 :  8 ,  467 :  8 ,  550 :  8 ,  552 :  4 ,  560 :  7 ,  581 :  5 ,  608 :  8 ,  610 :  5 ,  643 :  7 ,  713 :  8 ,  740 :  5 ,  767 : 4 ,  800 :  8 ,  835 :  8 ,  836 :  8 ,  849 :  4 ,  869 :  7 ,  870 :  7 ,  871 :  2 ,  896 :  8 ,  897 :  8 ,  900 :  6 ,  902 :  6 ,  905 :  8 ,  911 :  8 ,  916 :  3 ,  918 :  7 ,  921 :  8 ,  933 :  8 ,  944 :  8 ,  945 :  8 ,  950 :  8 ,  951 :  8 ,  953 :  3 ,  955 :  8 ,  956 :  8 ,  979 :  2 ,  992 :  8 ,  998 :  5 ,  999 :  7 ,  1000 :  8 ,  1001 :  8 ,  1014 :  8 ,  1017 :  8 ,  1020 :  8 ,  1041 :  8 ,  1042 :  8 ,  1043 :  8 ,  1044 :  8 ,  1056 :  8 ,  1057 :  8 ,  1059 :  1 ,  1076 :  8 ,  1077 :  8 ,  1112 :  8 ,  1114 :  8 ,  1161 :  8 ,  1162 :  8 ,  1163 :  8 ,  1176 :  8 ,  1177 :  8 ,  1178 :  8 ,  1179 :  8 ,  1180 :  8 ,  1181 :  8 ,  1184 :  8 ,  1185 :  8 ,  1186 :  8 ,  1189 :  8 ,  1190 :  8 ,  1191 :  8 ,  1192 :  8 ,  1196 :  8 ,  1197 :  8 ,  1198 :  8 ,  1199 :  8 ,  1206 :  8 ,  1212 :  8 ,  1227 :  8 ,  1232 :  8 ,  1235 :  8 ,  1237 :  8 ,  1263 :  8 ,  1279 :  8 ,  1552 :  8 ,  1553 :  8 ,  1554 :  8 ,  1556 :  8 ,  1557 :  8 ,  1561 :  8 ,  1562 :  8 ,  1568 :  8 ,  1569 :  8 ,  1570 :  8 ,  1571 :  8 ,  1572 :  8 ,  1584 :  8 ,  1589 :  8 ,  1592 :  8 ,  1593 :  8 ,  1595 :  8 ,  1599 :  8 ,  1656 :  8 ,  1666 :  8 ,  1667 :  8 ,  1728 :  8 ,  1745 :  8 ,  1779 :  8 ,  1904 :  8 ,  1912 :  8 ,  1990 :  8 ,  1998 :  8   
			
		
	
		
			
				
					  } ] ,   
			
		
	
		
			
				
					  CAR . HIGHLANDERH_TSS2 :  [ {   
			
		
	
		
			
				
					    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 ,  728 :  8 ,  740 :  5 ,  761 :  8 ,  765 :  8 ,  800 :  8 ,  810 :  2 ,  812 :  8 ,  814 :  8 ,  818 :  8 ,  822 :  8 ,  824 :  8 ,  829 :  2 ,  830 :  7 ,  835 :  8 ,  836 :  8 ,  865 :  8 ,  869 :  7 ,  870 :  7 ,  871 :  2 ,  881 :  8 ,  885 :  8 ,  891 :  8 ,  896 :  8 ,  898 :  8 ,  918 :  8 ,  942 :  8 ,  944 :  8 ,  945 :  8 ,  950 :  8 ,  951 :  8 ,  953 :  8 ,  955 :  8 ,  971 :  7 ,  975 :  5 ,  987 :  8 ,  993 :  8 ,  1014 :  8 ,  1017 :  8 ,  1020 :  8 ,  1059 :  1 ,  1063 :  8 ,  1071 :  8 ,  1082 :  8 ,  1084 :  8 ,  1085 :  8 ,  1086 :  8 ,  1114 :  8 ,  1132 :  8 ,  1164 :  8 ,  1165 :  8 ,  1166 :  8 ,  1167 :  8 ,  1228 :  8 ,  1235 :  8 ,  1552 :  8 ,  1553 :  8 ,  1556 :  8 ,  1568 :  8 ,  1570 :  8 ,  1571 :  8 ,  1572 :  8 ,  1592 :  8 ,  1594 :  8 ,  1595 :  8 ,  1649 :  8 ,  1696 :  8 ,  1745 :  8   
			
		
	
		
			
				
					  } ] ,   
			
		
	
		
			
				
					  CAR . AVALON :  [ {   
			
		
	
		
			
				
					    36 :  8 ,  37 :  8 ,  170 :  8 ,  180 :  8 ,  426 :  6 ,  452 :  8 ,  464 :  8 ,  466 :  8 ,  467 :  8 ,  547 :  8 ,  550 :  8 ,  552 :  4 ,  562 :  6 ,  608 :  8 ,  610 :  5 ,  643 :  7 ,  705 :  8 ,  740 :  5 ,  767 : 4 ,  800 :  8 ,  835 :  8 ,  836 :  8 ,  849 :  4 ,  869 :  7 ,  870 :  7 ,  871 :  2 ,  896 :  8 ,  897 :  8 ,  905 :  8 ,  911 :  1 ,  916 :  2 ,  921 :  8 ,  933 :  6 ,  944 :  8 ,  945 :  8 ,  951 :  8 ,  955 :  8 ,  956 :  8 ,  979 :  2 ,  1005 :  2 ,  1014 :  8 ,  1017 :  8 ,  1041 :  8 ,  1042 :  8 ,  1044 :  8 ,  1056 :  8 ,  1059 :  1 ,  1114 :  8 ,  1161 :  8 ,  1162 :  8 ,  1163 :  8 ,  1176 :  8 ,  1177 :  8 ,  1178 :  8 ,  1179 :  8 ,  1180 :  8 ,  1181 :  8 ,  1190 :  8 ,  1191 :  8 ,  1192 :  8 ,  1196 :  8 ,  1200 :  8 ,  1201 :  8 ,  1202 :  8 ,  1203 :  8 ,  1206 :  8 ,  1227 :  8 ,  1235 :  8 ,  1237 :  8 ,  1264 :  8 ,  1279 :  8 ,  1552 :  8 ,  1553 :  8 ,  1554 :  8 ,  1555 :  8 ,  1556 :  8 ,  1557 :  8 ,  1558 :  8 ,  1561 :  8 ,  1562 :  8 ,  1568 :  8 ,  1569 :  8 ,  1570 :  8 ,  1571 :  8 ,  1572 :  8 ,  1584 :  8 ,  1589 :  8 ,  1592 :  8 ,  1593 :  8 ,  1595 :  8 ,  1596 :  8 ,  1597 :  8 ,  1664 :  8 ,  1728 :  8 ,  1779 :  8 ,  1904 :  8 ,  1912 :  8 ,  1990 :  8 ,  1998 :  8   
			
		
	
		
			
				
					  } ] ,   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -257,7 +261,7 @@ FINGERPRINTS = { 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# Don't use theses fingerprints for fingerprinting, they are still needed for ECU detection  
			
		
	
		
			
				
					IGNORED_FINGERPRINTS  =  [ CAR . RAV4H_TSS2 ]  
			
		
	
		
			
				
					IGNORED_FINGERPRINTS  =  [ CAR . RAV4H_TSS2 ,  CAR . HIGHLANDERH_TSS2 ]  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					FW_VERSIONS  =  {  
			
		
	
		
			
				
					  CAR . AVALON :  {   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -538,6 +542,13 @@ FW_VERSIONS = { 
			
		
	
		
			
				
					    ( Ecu . fwdRadar ,  0x750 ,  0xf ) :  [ b ' 8821F4702100 \x00 \x00 \x00 \x00 ' ] ,   
			
		
	
		
			
				
					    ( Ecu . fwdCamera ,  0x750 ,  0x6d ) :  [ b ' 8646F0E01200 \x00 \x00 \x00 \x00 ' ] ,   
			
		
	
		
			
				
					  } ,   
			
		
	
		
			
				
					  CAR . HIGHLANDERH_TSS2 :  {   
			
		
	
		
			
				
					    ( Ecu . eps ,  0x7a1 ,  None ) :  [ b ' 8965B48241 \x00 \x00 \x00 \x00 \x00 \x00 ' , ] ,   
			
		
	
		
			
				
					    ( Ecu . esp ,  0x7b0 ,  None ) :  [ b ' \x01 F15264872300 \x00 \x00 \x00 \x00 ' , ] ,   
			
		
	
		
			
				
					    ( Ecu . engine ,  0x700 ,  None ) :  [ b ' \x02 896630E66000 \x00 \x00 \x00 \x00 897CF4801001 \x00 \x00 \x00 \x00 ' , ] ,   
			
		
	
		
			
				
					    ( Ecu . fwdRadar ,  0x750 ,  0xf ) :  [ b ' \x01 8821F3301400 \x00 \x00 \x00 \x00 ' , ] ,   
			
		
	
		
			
				
					    ( Ecu . fwdCamera ,  0x750 ,  0x6d ) :  [ b ' \x02 8646F0E02100 \x00 \x00 \x00 \x00 8646G2601200 \x00 \x00 \x00 \x00 ' , ] ,   
			
		
	
		
			
				
					  } ,   
			
		
	
		
			
				
					  CAR . LEXUS_IS :  {   
			
		
	
		
			
				
					    ( Ecu . engine ,  0x700 ,  None ) :  [ b ' \x01 8966353Q2300 \x00 \x00 \x00 \x00 ' ] ,   
			
		
	
		
			
				
					    ( Ecu . esp ,  0x7b0 ,  None ) :  [ b ' F152653330 \x00 \x00 \x00 \x00 \x00 \x00 ' ] ,   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -851,6 +862,7 @@ DBC = { 
			
		
	
		
			
				
					  CAR . HIGHLANDER :  dbc_dict ( ' toyota_highlander_2017_pt_generated ' ,  ' toyota_adas ' ) ,   
			
		
	
		
			
				
					  CAR . HIGHLANDER_TSS2 :  dbc_dict ( ' toyota_nodsu_pt_generated ' ,  ' toyota_tss2_adas ' ) ,   
			
		
	
		
			
				
					  CAR . HIGHLANDERH :  dbc_dict ( ' toyota_highlander_hybrid_2018_pt_generated ' ,  ' toyota_adas ' ) ,   
			
		
	
		
			
				
					  CAR . HIGHLANDERH_TSS2 :  dbc_dict ( ' toyota_nodsu_hybrid_pt_generated ' ,  ' toyota_tss2_adas ' ) ,   
			
		
	
		
			
				
					  CAR . AVALON :  dbc_dict ( ' toyota_avalon_2017_pt_generated ' ,  ' toyota_adas ' ) ,   
			
		
	
		
			
				
					  CAR . RAV4_TSS2 :  dbc_dict ( ' toyota_nodsu_pt_generated ' ,  ' toyota_tss2_adas ' ) ,   
			
		
	
		
			
				
					  CAR . COROLLA_TSS2 :  dbc_dict ( ' toyota_nodsu_pt_generated ' ,  ' toyota_tss2_adas ' ) ,   
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -864,6 +876,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 ]  
			
		
	
		
			
				
					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 ]  
			
		
	
		
			
				
					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 ]   # 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 . 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