MADS: wrongCarMode alert only with selfdrive enable (#931)

* MADS: Refactor Unified Engagement Mode

* init

* bring back pedal pressed event while trying to engage long

* MADS: prep for refactor

* no longer

* this is cleaner?

* in another pr

* Revert "in another pr"

This reverts commit 31aec8a7aabc798c1b19c365488efe04a47869e9.

* less

* rename

* type hint
This commit is contained in:
Jason Wen
2025-05-18 00:18:41 -04:00
committed by GitHub
parent 4dbabf4e24
commit 6d516a7704
+11 -8
View File
@@ -81,6 +81,13 @@ class ModularAssistiveDrivingSystem:
return False
def get_wrong_car_mode(self, alert_only: bool) -> None:
if alert_only:
if self.events.has(EventName.wrongCarMode):
self.replace_event(EventName.wrongCarMode, EventNameSP.wrongCarModeAlertOnly)
else:
self.events.remove(EventName.wrongCarMode)
def transition_paused_state(self):
if self.state_machine.state != State.paused:
self.events_sp.add(EventNameSP.silentLkasDisable)
@@ -121,11 +128,12 @@ class ModularAssistiveDrivingSystem:
self.events.remove(EventName.manualRestart)
selfdrive_enable_events = self.events.has(EventName.pcmEnable) or self.events.has(EventName.buttonEnable)
set_speed_btns_enable = any(be.type in SET_SPEED_BUTTONS for be in CS.buttonEvents)
# wrongCarMode alert only or actively block control
self.get_wrong_car_mode(selfdrive_enable_events or set_speed_btns_enable)
if selfdrive_enable_events:
if self.pedal_pressed_non_gas_pressed(CS):
self.events_sp.add(EventNameSP.pedalPressedAlertOnly)
if self.block_unified_engagement_mode():
self.events.remove(EventName.pcmEnable)
self.events.remove(EventName.buttonEnable)
@@ -160,11 +168,6 @@ class ModularAssistiveDrivingSystem:
self.events.remove(EventName.buttonCancel)
self.events.remove(EventName.pedalPressed)
self.events.remove(EventName.wrongCruiseMode)
if any(be.type in SET_SPEED_BUTTONS for be in CS.buttonEvents):
if self.events.has(EventName.wrongCarMode):
self.replace_event(EventName.wrongCarMode, EventNameSP.wrongCarModeAlertOnly)
else:
self.events.remove(EventName.wrongCarMode)
def update(self, CS: structs.CarState):
if not self.enabled_toggle: