buttonAOl

This commit is contained in:
firestar5683
2026-07-13 09:55:10 -05:00
parent 1d982da86e
commit f81099af79
2 changed files with 20 additions and 2 deletions
+3 -2
View File
@@ -118,7 +118,8 @@ class StarPilotCard:
def update(self, carState, starpilotCarState, sm, starpilot_toggles):
self.switchback_mode_enabled = self.params_memory.get_bool("SwitchbackModeEnabled")
button_event_types = [self._button_type_raw(be) for be in carState.buttonEvents]
button_managed_aol = starpilot_toggles.always_on_lateral_lkas or starpilot_toggles.main_cruise_aol_toggle
button_aol_supported = self.CP.brand == "hyundai" or starpilot_toggles.lkas_allowed_for_aol
button_managed_aol = starpilot_toggles.always_on_lateral_lkas or (button_aol_supported and starpilot_toggles.main_cruise_aol_toggle)
if self.hyundai_aol_needs_engagement:
if carState.gearShifter in NON_DRIVING_GEARS:
@@ -136,7 +137,7 @@ class StarPilotCard:
elif sm["selfdriveState"].active:
self.nissan_aol_ready = True
if self.CP.brand == "hyundai" or starpilot_toggles.lkas_allowed_for_aol:
if button_aol_supported:
for be, be_type in zip(carState.buttonEvents, button_event_types, strict=False):
if be_type == ButtonType.lkas and be.pressed and starpilot_toggles.always_on_lateral_lkas:
if self.hyundai_aol_needs_engagement:
@@ -486,6 +486,23 @@ def test_hyundai_main_aol_persists_after_brake_disengage_without_manual_aol_butt
assert ret.alwaysOnLateralEnabled is True
def test_non_button_aol_platform_keeps_main_aol_when_main_cruise_is_mapped(monkeypatch, tmp_path):
monkeypatch.setattr(spc, "Params", FakeParams)
monkeypatch.setattr(spc, "is_FrogsGoMoo", lambda: False)
monkeypatch.setattr(spc, "ERROR_LOGS_PATH", tmp_path)
card = spc.StarPilotCard(
SimpleNamespace(brand="gm"),
SimpleNamespace(alternativeExperience=spc.ALTERNATIVE_EXPERIENCE.ALWAYS_ON_LATERAL),
)
toggles = make_toggles(always_on_lateral_main=True, main_cruise_aol_toggle=True)
ret = card.update(make_car_state(available=True), SimpleNamespace(distancePressed=False), make_sm(), toggles)
assert ret.alwaysOnLateralAllowed is True
assert ret.alwaysOnLateralEnabled is True
def test_main_aol_still_follows_cruise_main_for_other_platforms(monkeypatch, tmp_path):
monkeypatch.setattr(spc, "Params", FakeParams)
monkeypatch.setattr(spc, "is_FrogsGoMoo", lambda: False)