mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-04-07 09:14:03 +08:00
* chore: sync tinygrad Runs great in sim. now we need to rebuild some models * oops forgot to unblock this after testing * helpers * oh yeah * latest tg * this wont do anything empriically * reduce complexity * okay lint * Update tinygrad_runner.py * Update modeld.py * Update build-all-tinygrad-models.yaml * tinygrad bump * Update modeld.py * Update tinygrad_runner.py * bump * Update SConscript * Update SConscript * com * Update fetcher.py * Update helpers.py * life is froughtless, when you're thoughtless * lint * ozdust ballroom * shiz * Update tinygrad_runner.py * Update tinygrad_runner.py * slough it off as i do * try old support one last time * support mixed input dtypes * use internal * dont need that shiz * Update fill_model_msg.py * Update onnx_runner.py * Update onnx_runner.py * Update model_runner.py * see if this speeds up execution if not, revert me * no * Update helpers.py * rebase * more * planplus --------- Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
45 lines
1.6 KiB
Python
Executable File
45 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import time
|
|
|
|
from cereal import car, log, messaging
|
|
from openpilot.common.params import Params
|
|
from openpilot.system.manager.process_config import managed_processes, is_tinygrad_model, is_stock_model
|
|
from openpilot.system.hardware import HARDWARE
|
|
|
|
if __name__ == "__main__":
|
|
CP = car.CarParams(notCar=True, wheelbase=1, steerRatio=10)
|
|
params = Params()
|
|
params.put("CarParams", CP.to_bytes())
|
|
|
|
if use_tinygrad_modeld := is_tinygrad_model(False, params, CP):
|
|
print("Using TinyGrad modeld")
|
|
if use_stock_modeld := is_stock_model(False, params, CP):
|
|
print("Using stock modeld")
|
|
|
|
HARDWARE.set_power_save(False)
|
|
|
|
procs = ['camerad', 'ui', 'calibrationd', 'plannerd', 'dmonitoringmodeld', 'dmonitoringd']
|
|
procs += ["modeld_tinygrad" if use_tinygrad_modeld else "modeld"]
|
|
for p in procs:
|
|
managed_processes[p].start()
|
|
|
|
pm = messaging.PubMaster(['controlsState', 'deviceState', 'pandaStates', 'carParams'])
|
|
|
|
msgs = {s: messaging.new_message(s) for s in ['controlsState', 'deviceState', 'carParams']}
|
|
msgs['deviceState'].deviceState.started = True
|
|
msgs['deviceState'].deviceState.deviceType = HARDWARE.get_device_type()
|
|
msgs['carParams'].carParams.openpilotLongitudinalControl = True
|
|
|
|
msgs['pandaStates'] = messaging.new_message('pandaStates', 1)
|
|
msgs['pandaStates'].pandaStates[0].ignitionLine = True
|
|
msgs['pandaStates'].pandaStates[0].pandaType = log.PandaState.PandaType.uno
|
|
|
|
try:
|
|
while True:
|
|
time.sleep(1 / 100) # continually send, rate doesn't matter
|
|
for s in msgs:
|
|
pm.send(s, msgs[s])
|
|
except KeyboardInterrupt:
|
|
for p in procs:
|
|
managed_processes[p].stop()
|