|
|
@ -143,6 +143,7 @@ class ProcessContainer: |
|
|
|
self.sockets: Optional[List[messaging.SubSocket]] = None |
|
|
|
self.sockets: Optional[List[messaging.SubSocket]] = None |
|
|
|
self.rc: Optional[ReplayContext] = None |
|
|
|
self.rc: Optional[ReplayContext] = None |
|
|
|
self.vipc_server: Optional[VisionIpcServer] = None |
|
|
|
self.vipc_server: Optional[VisionIpcServer] = None |
|
|
|
|
|
|
|
self.environ_config: Optional[Dict[str, Any]] = None |
|
|
|
self.capture: Optional[ProcessOutputCapture] = None |
|
|
|
self.capture: Optional[ProcessOutputCapture] = None |
|
|
|
|
|
|
|
|
|
|
|
@property |
|
|
|
@property |
|
|
@ -157,6 +158,15 @@ class ProcessContainer: |
|
|
|
def subs(self) -> List[str]: |
|
|
|
def subs(self) -> List[str]: |
|
|
|
return self.cfg.subs |
|
|
|
return self.cfg.subs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _clean_env(self): |
|
|
|
|
|
|
|
for k in self.environ_config.keys(): |
|
|
|
|
|
|
|
if k in os.environ: |
|
|
|
|
|
|
|
del os.environ[k] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for k in ["PROC_NAME", "SIMULATION"]: |
|
|
|
|
|
|
|
if k in os.environ: |
|
|
|
|
|
|
|
del os.environ[k] |
|
|
|
|
|
|
|
|
|
|
|
def _setup_env(self, params_config: Dict[str, Any], environ_config: Dict[str, Any]): |
|
|
|
def _setup_env(self, params_config: Dict[str, Any], environ_config: Dict[str, Any]): |
|
|
|
for k, v in environ_config.items(): |
|
|
|
for k, v in environ_config.items(): |
|
|
|
if len(v) != 0: |
|
|
|
if len(v) != 0: |
|
|
@ -177,6 +187,8 @@ class ProcessContainer: |
|
|
|
else: |
|
|
|
else: |
|
|
|
params.put(k, v) |
|
|
|
params.put(k, v) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.environ_config = environ_config |
|
|
|
|
|
|
|
|
|
|
|
def _setup_vision_ipc(self, all_msgs): |
|
|
|
def _setup_vision_ipc(self, all_msgs): |
|
|
|
assert len(self.cfg.vision_pubs) != 0 |
|
|
|
assert len(self.cfg.vision_pubs) != 0 |
|
|
|
|
|
|
|
|
|
|
@ -238,6 +250,7 @@ class ProcessContainer: |
|
|
|
self.process.stop() |
|
|
|
self.process.stop() |
|
|
|
self.rc.close_context() |
|
|
|
self.rc.close_context() |
|
|
|
self.prefix.clean_dirs() |
|
|
|
self.prefix.clean_dirs() |
|
|
|
|
|
|
|
self._clean_env() |
|
|
|
|
|
|
|
|
|
|
|
def run_step(self, msg: capnp._DynamicStructReader, frs: Optional[Dict[str, Any]]) -> List[capnp._DynamicStructReader]: |
|
|
|
def run_step(self, msg: capnp._DynamicStructReader, frs: Optional[Dict[str, Any]]) -> List[capnp._DynamicStructReader]: |
|
|
|
assert self.rc and self.pm and self.sockets and self.process.proc |
|
|
|
assert self.rc and self.pm and self.sockets and self.process.proc |
|
|
|