@ -15,7 +15,7 @@ from selfdrive.manager.process_config import managed_processes 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class  TestLocationdProc ( unittest . TestCase ) :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  MAX_WAITS  =  1000   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  LLD_MSGS  =  [ ' gnssMeasurements  ' ,  ' cameraOdometry ' ,  ' carState ' ,  ' liveCalibration ' ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  LLD_MSGS  =  [ ' gpsLocationExternal  ' ,  ' cameraOdometry ' ,  ' carState ' ,  ' liveCalibration ' ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					              ' accelerometer ' ,  ' gyroscope ' ,  ' magnetometer ' ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  def  setUp ( self ) :   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -46,14 +46,25 @@ class TestLocationdProc(unittest.TestCase): 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    except  capnp . lib . capnp . KjException :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg  =  messaging . new_message ( name ,  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  name  ==  " gnssMeasurements " :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gnssMeasurements . measTime  =  t   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gnssMeasurements . positionECEF . value  =  [ self . x  ,  self . y ,  self . z ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gnssMeasurements . positionECEF . std  =  [ 0 , 0 , 0 ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gnssMeasurements . positionECEF . valid  =  True   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gnssMeasurements . velocityECEF . value  =  [ ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gnssMeasurements . velocityECEF . std  =  [ 0 , 0 , 0 ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gnssMeasurements . velocityECEF . valid  =  True   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  name  ==  " gpsLocationExternal " :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . flags  =  1   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . verticalAccuracy  =  1.0   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . speedAccuracy  =  1.0   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . bearingAccuracyDeg  =  1.0   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . vNED  =  [ 0.0 ,  0.0 ,  0.0 ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . latitude  =  float ( self . lat )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . longitude  =  float ( self . lon )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . unixTimestampMillis  =  t  *  1e6   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . gpsLocationExternal . altitude  =  float ( self . alt )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    #if name == "gnssMeasurements":   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    #  msg.gnssMeasurements.measTime = t   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    #  msg.gnssMeasurements.positionECEF.value = [self.x , self.y, self.z]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    #  msg.gnssMeasurements.positionECEF.std = [0,0,0]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    #  msg.gnssMeasurements.positionECEF.valid = True   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    #  msg.gnssMeasurements.velocityECEF.value = []   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    #  msg.gnssMeasurements.velocityECEF.std = [0,0,0]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    #  msg.gnssMeasurements.velocityECEF.valid = True   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    elif  name  ==  ' cameraOdometry ' :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . cameraOdometry . rot  =  [ 0.0 ,  0.0 ,  0.0 ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      msg . cameraOdometry . rotStd  =  [ 0.0 ,  0.0 ,  0.0 ]   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -84,9 +95,9 @@ class TestLocationdProc(unittest.TestCase): 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    time . sleep ( 1 )   # wait for async params write   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    lastGPS  =  json . loads ( Params ( ) . get ( ' LastGPSPosition ' ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    self . assertAlmostEqual ( lastGPS [ ' latitude ' ] ,  self . lat ,  places = 4 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    self . assertAlmostEqual ( lastGPS [ ' longitude ' ] ,  self . lon ,  places = 4 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    self . assertAlmostEqual ( lastGPS [ ' altitude ' ] ,  self . alt ,  places = 4 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    self . assertAlmostEqual ( lastGPS [ ' latitude ' ] ,  self . lat ,  places = 3 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    self . assertAlmostEqual ( lastGPS [ ' longitude ' ] ,  self . lon ,  places = 3 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    self . assertAlmostEqual ( lastGPS [ ' altitude ' ] ,  self . alt ,  places = 3 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					if  __name__  ==  " __main__ " :