You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							43 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							43 lines
						
					
					
						
							1.3 KiB
						
					
					
				| #!/usr/bin/env python3
 | |
| 
 | |
| import time
 | |
| from multiprocessing import Process
 | |
| 
 | |
| from openpilot.common.params import Params
 | |
| from openpilot.system.manager.process import launcher
 | |
| from openpilot.common.swaglog import cloudlog
 | |
| from openpilot.system.hardware import HARDWARE
 | |
| from openpilot.system.version import get_build_metadata
 | |
| 
 | |
| ATHENA_MGR_PID_PARAM = "AthenadPid"
 | |
| 
 | |
| 
 | |
| def main():
 | |
|   params = Params()
 | |
|   dongle_id = params.get("DongleId").decode('utf-8')
 | |
|   build_metadata = get_build_metadata()
 | |
| 
 | |
|   cloudlog.bind_global(dongle_id=dongle_id,
 | |
|                        version=build_metadata.openpilot.version,
 | |
|                        origin=build_metadata.openpilot.git_normalized_origin,
 | |
|                        branch=build_metadata.channel,
 | |
|                        commit=build_metadata.openpilot.git_commit,
 | |
|                        dirty=build_metadata.openpilot.is_dirty,
 | |
|                        device=HARDWARE.get_device_type())
 | |
| 
 | |
|   try:
 | |
|     while 1:
 | |
|       cloudlog.info("starting athena daemon")
 | |
|       proc = Process(name='athenad', target=launcher, args=('system.athena.athenad', 'athenad'))
 | |
|       proc.start()
 | |
|       proc.join()
 | |
|       cloudlog.event("athenad exited", exitcode=proc.exitcode)
 | |
|       time.sleep(5)
 | |
|   except Exception:
 | |
|     cloudlog.exception("manage_athenad.exception")
 | |
|   finally:
 | |
|     params.remove(ATHENA_MGR_PID_PARAM)
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|   main()
 | |
| 
 |