mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-20 00:32:11 +08:00
fort hey
This commit is contained in:
@@ -85,6 +85,9 @@ class StarPilotCard:
|
||||
|
||||
def update(self, carState, starpilotCarState, sm, starpilot_toggles):
|
||||
self.switchback_mode_enabled = self.params_memory.get_bool("SwitchbackModeEnabled")
|
||||
hyundai_main_cruise_can_toggle_aol = self.CP.brand == "hyundai" and starpilot_toggles.always_on_lateral and (
|
||||
starpilot_toggles.always_on_lateral_lkas or starpilot_toggles.always_on_lateral_main
|
||||
)
|
||||
|
||||
if self.CP.brand == "hyundai" or starpilot_toggles.lkas_allowed_for_aol:
|
||||
for be in carState.buttonEvents:
|
||||
@@ -93,7 +96,10 @@ class StarPilotCard:
|
||||
if carState.cruiseState.enabled or self.pause_lateral:
|
||||
self.pause_lateral = not self.always_on_lateral_allowed
|
||||
elif be.type == ButtonType.mainCruise and be.pressed:
|
||||
if starpilot_toggles.always_on_lateral_main:
|
||||
# Hyundai owners use both the LKAS button and the cruise main button
|
||||
# as AOL engage inputs. Keep the safety-derived LKAS capability while
|
||||
# still honoring the cruise main button as a shared AOL toggle.
|
||||
if hyundai_main_cruise_can_toggle_aol or starpilot_toggles.always_on_lateral_main:
|
||||
self.always_on_lateral_allowed = not self.always_on_lateral_allowed
|
||||
elif starpilot_toggles.speed_limit_controller:
|
||||
self.params_memory.put_bool("SLCAdoptSpeedLimit", True)
|
||||
|
||||
@@ -43,6 +43,7 @@ def make_sm():
|
||||
|
||||
def make_toggles(**overrides):
|
||||
defaults = {
|
||||
"always_on_lateral": False,
|
||||
"always_on_lateral_lkas": False,
|
||||
"always_on_lateral_main": False,
|
||||
"always_on_lateral_pause_speed": 0.0,
|
||||
@@ -107,7 +108,7 @@ def test_hyundai_lkas_button_still_toggles_aol_with_cruise_button_events(monkeyp
|
||||
])
|
||||
starpilot_car_state = SimpleNamespace(distancePressed=False)
|
||||
sm = make_sm()
|
||||
toggles = make_toggles(always_on_lateral_lkas=True)
|
||||
toggles = make_toggles(always_on_lateral=True, always_on_lateral_lkas=True)
|
||||
|
||||
ret = card.update(car_state, starpilot_car_state, sm, toggles)
|
||||
|
||||
@@ -115,6 +116,25 @@ def test_hyundai_lkas_button_still_toggles_aol_with_cruise_button_events(monkeyp
|
||||
assert ret.pauseLateral is False
|
||||
|
||||
|
||||
def test_hyundai_main_cruise_button_toggles_aol_while_lkas_mode_is_enabled(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="hyundai"), SimpleNamespace(alternativeExperience=0))
|
||||
|
||||
car_state = make_car_state(button_events=[SimpleNamespace(type=spc.ButtonType.mainCruise, pressed=True)])
|
||||
starpilot_car_state = SimpleNamespace(distancePressed=False)
|
||||
sm = make_sm()
|
||||
toggles = make_toggles(always_on_lateral=True, always_on_lateral_lkas=True)
|
||||
|
||||
ret = card.update(car_state, starpilot_car_state, sm, toggles)
|
||||
assert ret.alwaysOnLateralAllowed is True
|
||||
|
||||
ret = card.update(car_state, starpilot_car_state, sm, toggles)
|
||||
assert ret.alwaysOnLateralAllowed is False
|
||||
|
||||
|
||||
def test_honda_lkas_button_pauses_lateral_when_cruise_is_active(monkeypatch, tmp_path):
|
||||
monkeypatch.setattr(spc, "Params", FakeParams)
|
||||
monkeypatch.setattr(spc, "is_FrogsGoMoo", lambda: False)
|
||||
|
||||
Reference in New Issue
Block a user