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.
		
		
		
		
			
				
					36 lines
				
				1009 B
			
		
		
			
		
	
	
					36 lines
				
				1009 B
			| 
								 
											6 years ago
										 
									 | 
							
								#!/usr/bin/env python3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import time
							 | 
						||
| 
								 | 
							
								from multiprocessing import Process
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import selfdrive.crash as crash
							 | 
						||
| 
								 | 
							
								from common.params import Params
							 | 
						||
| 
								 | 
							
								from selfdrive.launcher import launcher
							 | 
						||
| 
								 | 
							
								from selfdrive.swaglog import cloudlog
							 | 
						||
| 
								 | 
							
								from selfdrive.version import version, dirty
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ATHENA_MGR_PID_PARAM = "AthenadPid"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def main():
							 | 
						||
| 
								 | 
							
								  params = Params()
							 | 
						||
| 
								 | 
							
								  dongle_id = params.get("DongleId").decode('utf-8')
							 | 
						||
| 
								 | 
							
								  cloudlog.bind_global(dongle_id=dongle_id, version=version, dirty=dirty, is_eon=True)
							 | 
						||
| 
								 | 
							
								  crash.bind_user(id=dongle_id)
							 | 
						||
| 
								 | 
							
								  crash.bind_extra(version=version, dirty=dirty, is_eon=True)
							 | 
						||
| 
								 | 
							
								  crash.install()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  try:
							 | 
						||
| 
								 | 
							
								    while 1:
							 | 
						||
| 
								 | 
							
								      cloudlog.info("starting athena daemon")
							 | 
						||
| 
								 | 
							
								      proc = Process(name='athenad', target=launcher, args=('selfdrive.athena.athenad',))
							 | 
						||
| 
								 | 
							
								      proc.start()
							 | 
						||
| 
								 | 
							
								      proc.join()
							 | 
						||
| 
								 | 
							
								      cloudlog.event("athenad exited", exitcode=proc.exitcode)
							 | 
						||
| 
								 | 
							
								      time.sleep(5)
							 | 
						||
| 
								 | 
							
								  except:
							 | 
						||
| 
								 | 
							
								    cloudlog.exception("manage_athenad.exception")
							 | 
						||
| 
								 | 
							
								  finally:
							 | 
						||
| 
								 | 
							
								    params.delete(ATHENA_MGR_PID_PARAM)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if __name__ == '__main__':
							 | 
						||
| 
								 | 
							
								  main()
							 |