This commit is contained in:
Jason Wen
2024-09-29 22:43:18 -04:00
parent c27b112bbc
commit 676702ae3c
4 changed files with 12 additions and 13 deletions
+2 -3
View File
@@ -123,7 +123,8 @@ class Car:
self.mads_enabled_toggle = True # TODO-SP: Apply with toggle
data_services = list(self.sm.data.keys()) + ['selfdriveStateSP']
self.sm = messaging.SubMaster(data_services, poll='selfdriveStateSP')
self.CP.alternativeExperience |= ModifiedAssistDrivingSystem(self).set_alternative_experience()
if self.mads_enabled_toggle:
self.CP.alternativeExperience |= ModifiedAssistDrivingSystem().set_alternative_experience()
openpilot_enabled_toggle = self.params.get_bool("OpenpilotEnabledToggle")
@@ -258,8 +259,6 @@ class Car:
if self.mads_enabled_toggle:
self.CI.mads_enabled = self.sm['selfdriveStateSP'].mads.enabled
else:
self.CI.mads_enabled = self.sm['carControl'].enabled
if self.sm.all_alive(['carControl']):
# send car controls over can
+1 -1
View File
@@ -442,7 +442,7 @@ class SelfdriveD:
def publish_selfdriveStateSP(self):
# selfdriveStateSP
ss_sp_msg = messaging.new_message('selfdriveStateSP')
ss_sp_msg.valid = self.sm.all_checks(['selfdriveState'])
ss_sp_msg.valid = True
ss_sp = ss_sp_msg.selfdriveStateSP
# mads
+7 -7
View File
@@ -10,9 +10,7 @@ EventName = car.OnroadEvent.EventName
class ModifiedAssistDrivingSystem:
def __init__(self, selfdrive):
self.selfdrive = selfdrive
def __init__(self, selfdrive=None):
self.current_state = State.disabled
self.enabled = False
self.active = False
@@ -24,6 +22,9 @@ class ModifiedAssistDrivingSystem:
State.overriding: Overriding(self),
}
if selfdrive is not None:
self.selfdrive = selfdrive
self.enabled_toggle = True # TODO-SP: Apply with toggle
self.main_enabled_toggle = True # TODO-SP: Apply with toggle
self.disengage_lateral_on_brake_toggle = False # TODO-SP: Apply with toggle
@@ -32,10 +33,9 @@ class ModifiedAssistDrivingSystem:
self.mads_alt_button_enabled = False
def set_alternative_experience(self, alt_experience: int = 0):
if self.enabled_toggle:
alt_experience |= ALTERNATIVE_EXPERIENCE.ENABLE_MADS
if not self.disengage_lateral_on_brake_toggle:
alt_experience |= ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_LATERAL_ON_BRAKE
alt_experience |= ALTERNATIVE_EXPERIENCE.ENABLE_MADS
if not self.disengage_lateral_on_brake_toggle:
alt_experience |= ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_LATERAL_ON_BRAKE
return alt_experience
+2 -2
View File
@@ -16,7 +16,7 @@ class StateMachineBase(ABC):
def __init__(self, mads):
self.mads = mads
self.selfdrive = mads.selfdrive
self.ss_state_machine = mads.selfdrive.ss_state_machine
self.ss_state_machine = mads.selfdrive.state_machine
self.state = State.disabled
@@ -48,7 +48,7 @@ class StateMachineBase(ABC):
def add_current_alert_types(self, alert_type):
if not self.selfdrive.active:
self.add_current_alert_types(alert_type)
self.ss_state_machine.current_alert_types(alert_type)
@abstractmethod
def handle(self, events: Events):