| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -2,8 +2,9 @@ import os | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import time | 
					 | 
					 | 
					 | 
					import time | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from functools import wraps | 
					 | 
					 | 
					 | 
					from functools import wraps | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from system.hardware import PC | 
					 | 
					 | 
					 | 
					import cereal.messaging as messaging | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from selfdrive.manager.process_config import managed_processes | 
					 | 
					 | 
					 | 
					from selfdrive.manager.process_config import managed_processes | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					from system.hardware import PC | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from system.version import training_version, terms_version | 
					 | 
					 | 
					 | 
					from system.version import training_version, terms_version | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -15,6 +16,11 @@ def set_params_enabled(): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  params.put_bool("OpenpilotEnabledToggle", True) | 
					 | 
					 | 
					 | 
					  params.put_bool("OpenpilotEnabledToggle", True) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  params.put_bool("Passive", False) | 
					 | 
					 | 
					 | 
					  params.put_bool("Passive", False) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  # valid calib | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  msg = messaging.new_message('liveCalibration') | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  msg.liveCalibration.validBlocks = 20 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  msg.liveCalibration.rpyCalib = [0.0, 0.0, 0.0] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  params.put("CalibrationParams", msg.to_bytes()) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					def phone_only(f): | 
					 | 
					 | 
					 | 
					def phone_only(f): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  @wraps(f) | 
					 | 
					 | 
					 | 
					  @wraps(f) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |