@ -79,35 +79,25 @@ FINGERPRINTS = { 
			
		
	
		
			
				
					  ]   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					NISSAN_DIAGNOSTIC_REQUEST_KWP  =  bytes ( [ uds . SERVICE_TYPE . DIAGNOSTIC_SESSION_CONTROL ] )  
			
		
	
		
			
				
					NISSAN_DIAGNOSTIC_RESPONSE_KWP  =  bytes ( [ uds . SERVICE_TYPE . DIAGNOSTIC_SESSION_CONTROL  +  0x40 ] )  
			
		
	
		
			
				
					NISSAN_DIAGNOSTIC_REQUEST_KWP  =  bytes ( [ uds . SERVICE_TYPE . DIAGNOSTIC_SESSION_CONTROL ,  0x81 ] )  
			
		
	
		
			
				
					NISSAN_DIAGNOSTIC_RESPONSE_KWP  =  bytes ( [ uds . SERVICE_TYPE . DIAGNOSTIC_SESSION_CONTROL  +  0x40 ,  0x81 ] )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					NISSAN_VERSION_REQUEST_KWP  =  b ' \x21 \x83 '  
			
		
	
		
			
				
					NISSAN_VERSION_RESPONSE_KWP  =  b ' \x61 \x83 '  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					NISSAN_RX_OFFSET  =  0x20  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# Try diagnostic sessions: default, standby, extended, Nissan-specific  
			
		
	
		
			
				
					NISSAN_DIAGNOSTIC_SESSION_TYPES  =  ( 0x81 ,  0x89 ,  0x92 ,  0xc0 )  
			
		
	
		
			
				
					NISSAN_DEFAULT_DIAGNOSTIC_SESSION_TYPE  =  0xc0  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					FW_QUERY_CONFIG  =  FwQueryConfig (  
			
		
	
		
			
				
					  requests = [   
			
		
	
		
			
				
					    * [   
			
		
	
		
			
				
					      Request (   
			
		
	
		
			
				
					        [ NISSAN_DIAGNOSTIC_REQUEST_KWP  +  bytes ( [ subfunction ] ) ,  NISSAN_VERSION_REQUEST_KWP ] ,   
			
		
	
		
			
				
					        [ NISSAN_DIAGNOSTIC_RESPONSE_KWP  +  bytes ( [ subfunction ] ) ,  NISSAN_VERSION_RESPONSE_KWP ] ,   
			
		
	
		
			
				
					        logging = subfunction  !=  NISSAN_DEFAULT_DIAGNOSTIC_SESSION_TYPE ,   
			
		
	
		
			
				
					      )  for  subfunction  in  NISSAN_DIAGNOSTIC_SESSION_TYPES   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    * [   
			
		
	
		
			
				
					      Request (   
			
		
	
		
			
				
					        [ NISSAN_DIAGNOSTIC_REQUEST_KWP  +  bytes ( [ subfunction ] ) ,  NISSAN_VERSION_REQUEST_KWP ] ,   
			
		
	
		
			
				
					        [ NISSAN_DIAGNOSTIC_RESPONSE_KWP  +  bytes ( [ subfunction ] ) ,  NISSAN_VERSION_RESPONSE_KWP ] ,   
			
		
	
		
			
				
					        rx_offset = NISSAN_RX_OFFSET ,   
			
		
	
		
			
				
					        logging = subfunction  !=  NISSAN_DEFAULT_DIAGNOSTIC_SESSION_TYPE ,   
			
		
	
		
			
				
					      )  for  subfunction  in  NISSAN_DIAGNOSTIC_SESSION_TYPES   
			
		
	
		
			
				
					    ] ,   
			
		
	
		
			
				
					    Request (   
			
		
	
		
			
				
					      [ NISSAN_DIAGNOSTIC_REQUEST_KWP ,  NISSAN_VERSION_REQUEST_KWP ] ,   
			
		
	
		
			
				
					      [ NISSAN_DIAGNOSTIC_RESPONSE_KWP ,  NISSAN_VERSION_RESPONSE_KWP ] ,   
			
		
	
		
			
				
					    ) ,   
			
		
	
		
			
				
					    Request (   
			
		
	
		
			
				
					      [ NISSAN_DIAGNOSTIC_REQUEST_KWP ,  NISSAN_VERSION_REQUEST_KWP ] ,   
			
		
	
		
			
				
					      [ NISSAN_DIAGNOSTIC_RESPONSE_KWP ,  NISSAN_VERSION_RESPONSE_KWP ] ,   
			
		
	
		
			
				
					      rx_offset = NISSAN_RX_OFFSET ,   
			
		
	
		
			
				
					    ) ,   
			
		
	
		
			
				
					    Request (   
			
		
	
		
			
				
					      [ StdQueries . MANUFACTURER_SOFTWARE_VERSION_REQUEST ] ,   
			
		
	
		
			
				
					      [ StdQueries . MANUFACTURER_SOFTWARE_VERSION_RESPONSE ] ,