This commit is contained in:
firestar5683
2026-04-29 11:22:58 -05:00
parent aac395ccd2
commit f27069f2d2
5 changed files with 18 additions and 22 deletions
@@ -102,7 +102,7 @@ def test_slc_coast_window_uses_effective_target_with_offset_and_cluster_diff():
assert accel.min_accel == pytest.approx(-0.02, abs=1e-3)
def test_slc_coast_window_disabled_when_set_speed_limit_is_off():
def test_slc_coast_window_still_applies_when_set_speed_limit_is_off():
raw_target = 58.0 * CV.MPH_TO_MS
slc_target = 45.0 * CV.MPH_TO_MS
slc_offset = 3.0 * CV.MPH_TO_MS
@@ -112,7 +112,7 @@ def test_slc_coast_window_disabled_when_set_speed_limit_is_off():
accel.update(v_ego, sm, make_toggles(deceleration_profile=DECELERATION_PROFILES["ECO"], set_speed_limit=False))
assert accel.min_accel == pytest.approx(A_CRUISE_MIN_ECO)
assert accel.min_accel == pytest.approx(-0.02, abs=1e-3)
def test_slc_coast_window_scales_by_profile_strength():
@@ -4,23 +4,21 @@ from openpilot.common.constants import CV
from openpilot.starpilot.controls.lib.starpilot_vcruise import get_active_slc_control_target
def test_active_slc_control_target_requires_set_speed_limit():
def test_active_slc_control_target_ignores_set_speed_limit_toggle():
target = get_active_slc_control_target(
speed_limit_controller=True,
slc_target=45.0 * CV.MPH_TO_MS,
slc_offset=3.0 * CV.MPH_TO_MS,
overridden_speed=0.0,
v_ego_diff=0.4,
)
assert target == pytest.approx((48.0 * CV.MPH_TO_MS) - 0.4)
def test_active_slc_control_target_applies_offset_and_cluster_diff():
target = get_active_slc_control_target(
speed_limit_controller=True,
set_speed_limit=False,
slc_target=45.0 * CV.MPH_TO_MS,
slc_offset=3.0 * CV.MPH_TO_MS,
overridden_speed=0.0,
v_ego_diff=0.4,
)
assert target == 0.0
def test_active_slc_control_target_applies_offset_and_cluster_diff():
target = get_active_slc_control_target(
speed_limit_controller=True,
set_speed_limit=True,
slc_target=45.0 * CV.MPH_TO_MS,
slc_offset=3.0 * CV.MPH_TO_MS,
overridden_speed=0.0,
@@ -945,7 +945,7 @@ class StarPilotSLCQOLLayout(StarPilotPanel):
super().__init__()
self.CATEGORIES = [
{
"title": tr_noop("Auto Match Speed Limits"),
"title": tr_noop("Match Speed Limit on Engage"),
"type": "toggle",
"get_state": lambda: self._params.get_bool("SetSpeedLimit"),
"set_state": lambda s: self._params.put_bool("SetSpeedLimit", s),
@@ -204,7 +204,6 @@ class StarPilotAcceleration:
v_ego_diff = v_ego_cluster - v_ego
effective_slc_target = get_active_slc_control_target(
getattr(starpilot_toggles, "speed_limit_controller", False),
getattr(starpilot_toggles, "set_speed_limit", False),
getattr(self.starpilot_planner.starpilot_vcruise, "slc_target", 0.0),
getattr(self.starpilot_planner.starpilot_vcruise, "slc_offset", 0.0),
getattr(getattr(self.starpilot_planner.starpilot_vcruise, "slc", None), "overridden_speed", 0.0),
+2 -3
View File
@@ -27,8 +27,8 @@ OFFSET_FT_MIN = -20
OFFSET_FT_MAX = 20
def get_active_slc_control_target(speed_limit_controller, set_speed_limit, slc_target, slc_offset, overridden_speed, v_ego_diff):
if not speed_limit_controller or not set_speed_limit:
def get_active_slc_control_target(speed_limit_controller, slc_target, slc_offset, overridden_speed, v_ego_diff):
if not speed_limit_controller:
return 0.0
base_target = max(float(overridden_speed), float(slc_target) + float(slc_offset))
@@ -197,7 +197,6 @@ class StarPilotVCruise:
targets = [self.csc_target, v_cruise]
slc_control_target = get_active_slc_control_target(
starpilot_toggles.speed_limit_controller,
getattr(starpilot_toggles, "set_speed_limit", False),
self.slc_target,
self.slc_offset,
self.slc.overridden_speed,