|  |  | @ -1,4 +1,5 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | #!/usr/bin/env python3 |  |  |  | #!/usr/bin/env python3 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import os | 
			
		
	
		
		
			
				
					
					|  |  |  | import sys |  |  |  | import sys | 
			
		
	
		
		
			
				
					
					|  |  |  | import time |  |  |  | import time | 
			
		
	
		
		
			
				
					
					|  |  |  | import numpy as np |  |  |  | import numpy as np | 
			
		
	
	
		
		
			
				
					|  |  | @ -7,7 +8,7 @@ from typing import Dict, Optional | 
			
		
	
		
		
			
				
					
					|  |  |  | from setproctitle import setproctitle |  |  |  | from setproctitle import setproctitle | 
			
		
	
		
		
			
				
					
					|  |  |  | from cereal.messaging import PubMaster, SubMaster |  |  |  | from cereal.messaging import PubMaster, SubMaster | 
			
		
	
		
		
			
				
					
					|  |  |  | from cereal.visionipc import VisionIpcClient, VisionStreamType, VisionBuf |  |  |  | from cereal.visionipc import VisionIpcClient, VisionStreamType, VisionBuf | 
			
		
	
		
		
			
				
					
					|  |  |  | from openpilot.system.hardware import PC |  |  |  | from openpilot.system.hardware import PC, TICI | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | from openpilot.system.swaglog import cloudlog |  |  |  | from openpilot.system.swaglog import cloudlog | 
			
		
	
		
		
			
				
					
					|  |  |  | from openpilot.common.params import Params |  |  |  | from openpilot.common.params import Params | 
			
		
	
		
		
			
				
					
					|  |  |  | from openpilot.common.filter_simple import FirstOrderFilter |  |  |  | from openpilot.common.filter_simple import FirstOrderFilter | 
			
		
	
	
		
		
			
				
					|  |  | @ -16,8 +17,9 @@ from openpilot.selfdrive.modeld.models.commonmodel_pyx import ModelFrame, CLCont | 
			
		
	
		
		
			
				
					
					|  |  |  | from openpilot.selfdrive.modeld.models.driving_pyx import ( |  |  |  | from openpilot.selfdrive.modeld.models.driving_pyx import ( | 
			
		
	
		
		
			
				
					
					|  |  |  |   PublishState, create_model_msg, create_pose_msg, update_calibration, |  |  |  |   PublishState, create_model_msg, create_pose_msg, update_calibration, | 
			
		
	
		
		
			
				
					
					|  |  |  |   FEATURE_LEN, HISTORY_BUFFER_LEN, DESIRE_LEN, TRAFFIC_CONVENTION_LEN, NAV_FEATURE_LEN, NAV_INSTRUCTION_LEN, |  |  |  |   FEATURE_LEN, HISTORY_BUFFER_LEN, DESIRE_LEN, TRAFFIC_CONVENTION_LEN, NAV_FEATURE_LEN, NAV_INSTRUCTION_LEN, | 
			
		
	
		
		
			
				
					
					|  |  |  |   OUTPUT_SIZE, NET_OUTPUT_SIZE, MODEL_FREQ, USE_THNEED) |  |  |  |   OUTPUT_SIZE, NET_OUTPUT_SIZE, MODEL_FREQ) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | USE_THNEED = int(os.getenv('USE_THNEED', str(int(TICI)))) | 
			
		
	
		
		
			
				
					
					|  |  |  | if USE_THNEED: |  |  |  | if USE_THNEED: | 
			
		
	
		
		
			
				
					
					|  |  |  |   from selfdrive.modeld.runners.thneedmodel_pyx import ThneedModel as ModelRunner |  |  |  |   from selfdrive.modeld.runners.thneedmodel_pyx import ThneedModel as ModelRunner | 
			
		
	
		
		
			
				
					
					|  |  |  | else: |  |  |  | else: | 
			
		
	
	
		
		
			
				
					|  |  | 
 |