![Willem Melching](/assets/img/avatar_default.png)
* move manager in folder * inital refactor * call start * small cleanup * add comments * use self.signal() * order shouldnt matter * newlines * add helpers * newlines * add process config * split out build part of manager * this should fix most tests * no sensord on pc * dont start athena * remove comment * fix old athena test * fix inject model * fix test car models * should be not none * fix helpers exitcode * ignore manage_athenad * Use time.monotonic() Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * combine init, remove spinner * move manager test Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
28 lines
890 B
Python
Executable file
28 lines
890 B
Python
Executable file
#!/usr/bin/env python3
|
|
import time
|
|
import cereal.messaging as messaging
|
|
from selfdrive.manager.process_config import managed_processes
|
|
|
|
|
|
if __name__ == "__main__":
|
|
services = ['controlsState', 'deviceState', 'radarState'] # the services needed to be spoofed to start ui offroad
|
|
procs = ['camerad', 'ui', 'modeld', 'calibrationd']
|
|
|
|
for p in procs:
|
|
managed_processes[p].start()
|
|
|
|
pm = messaging.PubMaster(services)
|
|
|
|
dat_controlsState, dat_deviceState, dat_radar = [messaging.new_message(s) for s in services]
|
|
dat_deviceState.deviceState.started = True
|
|
|
|
try:
|
|
while True:
|
|
pm.send('controlsState', dat_controlsState)
|
|
pm.send('deviceState', dat_deviceState)
|
|
pm.send('radarState', dat_radar)
|
|
time.sleep(1 / 100) # continually send, rate doesn't matter for deviceState
|
|
except KeyboardInterrupt:
|
|
for p in procs:
|
|
managed_processes[p].stop()
|