mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-09-29 21:33:42 +08:00
use old copy as checks
This commit is contained in:
@@ -13,6 +13,8 @@ class ModifiedAssistDrivingSystem:
|
||||
self.active = False
|
||||
self.available = False
|
||||
self.selfdrive = selfdrive
|
||||
self.selfdrive.enabled_prev = False
|
||||
self.selfdrive.active_prev = False
|
||||
self.state_machine = StateMachine(self)
|
||||
|
||||
self.enabled_toggle = True # TODO-SP: Apply with toggle
|
||||
@@ -34,7 +36,7 @@ class ModifiedAssistDrivingSystem:
|
||||
self.selfdrive.events.remove(EventName.buttonEnable)
|
||||
self.selfdrive.events.remove(EventName.buttonCancel)
|
||||
|
||||
if self.selfdrive.enabled:
|
||||
if self.selfdrive.enabled_prev:
|
||||
if self.selfdrive.events.has(EventName.wrongGear) and CS.vEgo < 5:
|
||||
self.selfdrive.events.add(EventName.silentWrongGear)
|
||||
self.selfdrive.events.remove(EventName.wrongGear)
|
||||
@@ -57,16 +59,16 @@ class ModifiedAssistDrivingSystem:
|
||||
|
||||
for be in CS.buttonEvents:
|
||||
if be.type == ButtonType.cancel:
|
||||
if self.selfdrive.enabled:
|
||||
if self.selfdrive.enabled_prev:
|
||||
self.selfdrive.events.add(EventName.manualLongitudinalRequired)
|
||||
if be.type == ButtonType.lkas and be.pressed:
|
||||
if self.active:
|
||||
if self.selfdrive.enabled:
|
||||
if self.selfdrive.enabled_prev:
|
||||
self.selfdrive.events.add(EventName.manualSteeringRequired)
|
||||
else:
|
||||
self.selfdrive.events.add(EventName.buttonCancel)
|
||||
else:
|
||||
if not self.selfdrive.enabled:
|
||||
if not self.selfdrive.enabled_prev:
|
||||
self.selfdrive.events.add(EventName.buttonEnable)
|
||||
|
||||
self.selfdrive.events.remove(EventName.pedalPressed)
|
||||
@@ -81,3 +83,6 @@ class ModifiedAssistDrivingSystem:
|
||||
|
||||
if not self.selfdrive.CP.passive and self.selfdrive.initialized:
|
||||
self.enabled, self.active = self.state_machine.update(self.selfdrive.events)
|
||||
|
||||
# Copy of previous SelfdriveD states for MADS events handling
|
||||
self.selfdrive.enabled_prev, self.selfdrive.active_prev = self.selfdrive.enabled, self.selfdrive.active
|
||||
|
||||
@@ -19,7 +19,7 @@ class StateMachine:
|
||||
self.state = State.disabled
|
||||
|
||||
def add_current_alert_types(self, alert_type):
|
||||
if not self.selfdrive.active:
|
||||
if not self.selfdrive.active_prev:
|
||||
self.ss_state_machine.current_alert_types.append(alert_type)
|
||||
|
||||
def update(self, events: Events):
|
||||
@@ -46,7 +46,7 @@ class StateMachine:
|
||||
if self.state == State.enabled:
|
||||
if events.contains(ET.SOFT_DISABLE):
|
||||
self.state = State.softDisabling
|
||||
if not self.selfdrive.active:
|
||||
if not self.selfdrive.active_prev:
|
||||
self.ss_state_machine.soft_disable_timer = int(SOFT_DISABLE_TIME / DT_CTRL)
|
||||
self.ss_state_machine.current_alert_types.append(ET.SOFT_DISABLE)
|
||||
|
||||
@@ -83,7 +83,7 @@ class StateMachine:
|
||||
elif self.state == State.overriding:
|
||||
if events.contains(ET.SOFT_DISABLE):
|
||||
self.state = State.softDisabling
|
||||
if not self.selfdrive.active:
|
||||
if not self.selfdrive.active_prev:
|
||||
self.ss_state_machine.soft_disable_timer = int(SOFT_DISABLE_TIME / DT_CTRL)
|
||||
self.ss_state_machine.current_alert_types.append(ET.SOFT_DISABLE)
|
||||
elif not events.contains(ET.OVERRIDE_LATERAL):
|
||||
|
||||
Reference in New Issue
Block a user