Reset car initialization flags with ForceOnroad

Prevent stale flags from letting Panda apply the car's safety mode before card finishes initializing.
This commit is contained in:
pharmacomaniac
2026-09-09 17:00:27 -04:00
parent 2504441a4e
commit f2987df137
Executable → Regular
+11 -4
View File
@@ -1163,11 +1163,18 @@ def manager_thread() -> None:
started = sm['deviceState'].started
if started and not started_prev and not starpilot_toggles.force_onroad:
params.clear_all(ParamKeyFlag.CLEAR_ON_ONROAD_TRANSITION)
if started and not started_prev:
# ForceOnroad skips the normal onroad parameter reset.
if starpilot_toggles.force_onroad:
# These flags stay set after card exits.
# Clear them so pandad doesn't think card finished init on restart.
params.remove("ControlsReady")
params.remove("FirmwareQueryDone")
else:
params.clear_all(ParamKeyFlag.CLEAR_ON_ONROAD_TRANSITION)
# StarPilot variables
params_memory.clear_all(ParamKeyFlag.CLEAR_ON_ONROAD_TRANSITION)
# StarPilot variables
params_memory.clear_all(ParamKeyFlag.CLEAR_ON_ONROAD_TRANSITION)
elif not started and started_prev:
params.clear_all(ParamKeyFlag.CLEAR_ON_OFFROAD_TRANSITION)