From aaf35b391e89ddcfcdda0e4233cf99f1ac6045c0 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Fri, 15 Nov 2024 11:45:11 -0500 Subject: [PATCH] check if engagement is from openpilot's state machine --- sunnypilot/mads/mads.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/sunnypilot/mads/mads.py b/sunnypilot/mads/mads.py index 1c6b477f51..e8527faa03 100644 --- a/sunnypilot/mads/mads.py +++ b/sunnypilot/mads/mads.py @@ -52,15 +52,16 @@ class ModifiedAssistDrivingSystem: if self.state_machine.state == State.paused and self.active: self.selfdrive.events.add(EventName.silentLkasEnable) - if (self.unified_engagement_mode and self.active) or not self.unified_engagement_mode: - if self.selfdrive.events.has(EventName.pcmEnable): - self.selfdrive.events.remove(EventName.pcmEnable) - if self.selfdrive.events.has(EventName.buttonEnable): - self.selfdrive.events.remove(EventName.buttonEnable) - - if self.main_enabled_toggle: - if CS.cruiseState.available and not self.selfdrive.CS_prev.cruiseState.available: - self.selfdrive.events.add(EventName.lkasEnable) + if self.selfdrive.events.has(EventName.pcmEnable) or self.selfdrive.events.has(EventName.buttonEnable): + if (self.unified_engagement_mode and self.active) or not self.unified_engagement_mode: + if self.selfdrive.events.has(EventName.pcmEnable): + self.selfdrive.events.remove(EventName.pcmEnable) + if self.selfdrive.events.has(EventName.buttonEnable): + self.selfdrive.events.remove(EventName.buttonEnable) + else: + if self.main_enabled_toggle: + if CS.cruiseState.available and not self.selfdrive.CS_prev.cruiseState.available: + self.selfdrive.events.add(EventName.lkasEnable) for be in CS.buttonEvents: if be.type == ButtonType.cancel: