|  |  | @ -22,6 +22,7 @@ def get_vin(logcan, sendcan, buses, timeout=0.1, retry=2, debug=False): | 
			
		
	
		
		
			
				
					
					|  |  |  |         (StdQueries.UDS_VIN_REQUEST, StdQueries.UDS_VIN_RESPONSE, (0, 1), STANDARD_VIN_ADDRS, FUNCTIONAL_ADDRS, 0x8), |  |  |  |         (StdQueries.UDS_VIN_REQUEST, StdQueries.UDS_VIN_RESPONSE, (0, 1), STANDARD_VIN_ADDRS, FUNCTIONAL_ADDRS, 0x8), | 
			
		
	
		
		
			
				
					
					|  |  |  |         (StdQueries.OBD_VIN_REQUEST, StdQueries.OBD_VIN_RESPONSE, (0, 1), STANDARD_VIN_ADDRS, FUNCTIONAL_ADDRS, 0x8), |  |  |  |         (StdQueries.OBD_VIN_REQUEST, StdQueries.OBD_VIN_RESPONSE, (0, 1), STANDARD_VIN_ADDRS, FUNCTIONAL_ADDRS, 0x8), | 
			
		
	
		
		
			
				
					
					|  |  |  |         (StdQueries.GM_VIN_REQUEST, StdQueries.GM_VIN_RESPONSE, (0,), [0x24b], None, 0x400),  # Bolt fwdCamera |  |  |  |         (StdQueries.GM_VIN_REQUEST, StdQueries.GM_VIN_RESPONSE, (0,), [0x24b], None, 0x400),  # Bolt fwdCamera | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         (StdQueries.KWP_VIN_REQUEST, StdQueries.KWP_VIN_RESPONSE, (0,), [0x797], None, 0x3),  # Nissan Leaf VCM | 
			
		
	
		
		
			
				
					
					|  |  |  |       ): |  |  |  |       ): | 
			
		
	
		
		
			
				
					
					|  |  |  |         if bus not in valid_buses: |  |  |  |         if bus not in valid_buses: | 
			
		
	
		
		
			
				
					
					|  |  |  |           continue |  |  |  |           continue | 
			
		
	
	
		
		
			
				
					|  |  | @ -40,8 +41,8 @@ def get_vin(logcan, sendcan, buses, timeout=0.1, retry=2, debug=False): | 
			
		
	
		
		
			
				
					
					|  |  |  |           for addr in vin_addrs: |  |  |  |           for addr in vin_addrs: | 
			
		
	
		
		
			
				
					
					|  |  |  |             vin = results.get((addr, None)) |  |  |  |             vin = results.get((addr, None)) | 
			
		
	
		
		
			
				
					
					|  |  |  |             if vin is not None: |  |  |  |             if vin is not None: | 
			
		
	
		
		
			
				
					
					|  |  |  |               # Ford pads with null bytes |  |  |  |               # Ford and Nissan pads with null bytes | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               if len(vin) == 24: |  |  |  |               if len(vin) in (19, 24): | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 vin = re.sub(b'\x00*$', b'', vin) |  |  |  |                 vin = re.sub(b'\x00*$', b'', vin) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |               # Honda Bosch response starts with a length, trim to correct length |  |  |  |               # Honda Bosch response starts with a length, trim to correct length | 
			
		
	
	
		
		
			
				
					|  |  | 
 |