Daz Alot of Toggies

This commit is contained in:
firestar5683
2026-08-06 18:25:47 -05:00
parent 48d6adab46
commit bbbfc46601
16 changed files with 113 additions and 43 deletions
@@ -334,11 +334,6 @@ class StarPilotAppearanceLayout(_SettingsPage):
subtitle="",
get_state=lambda: self._params.get_bool("HideMaxSpeed"),
set_state=lambda s: self._params.put_bool("HideMaxSpeed", s)),
SettingRow("HideSpeedLimit", "toggle", tr_noop("Hide Speed Limit"),
subtitle="",
get_state=lambda: self._params.get_bool("HideSpeedLimit"),
set_state=lambda s: self._params.put_bool("HideSpeedLimit", s),
visible=lambda: ol() and self._params.get_bool("SpeedLimitController")),
SettingRow("HideAlerts", "toggle", tr_noop("Hide Alerts"),
subtitle="",
get_state=lambda: self._params.get_bool("HideAlerts"),
@@ -384,16 +379,15 @@ class StarPilotAppearanceLayout(_SettingsPage):
subtitle="",
get_state=lambda: self._params.get_bool("RoadNameUI"),
set_state=lambda s: self._params.put_bool("RoadNameUI", s)),
SettingRow("ShowSpeedLimits", "toggle", tr_noop("Speed Limits"),
SettingRow("ShowSpeedLimits", "toggle", tr_noop("Show Speed Limits"),
subtitle="",
get_state=lambda: self._params.get_bool("ShowSpeedLimits"),
set_state=lambda s: self._params.put_bool("ShowSpeedLimits", s),
visible=lambda: not (self._params.get_bool("SpeedLimitController") and ol())),
set_state=lambda s: self._params.put_bool("ShowSpeedLimits", s)),
SettingRow("UseVienna", "toggle", tr_noop("Vienna Signs"),
subtitle="",
get_state=lambda: self._params.get_bool("UseVienna"),
set_state=lambda s: self._params.put_bool("UseVienna", s),
visible=lambda: self._params.get_bool("ShowSpeedLimits") or self._params.get_bool("SpeedLimitController")),
visible=lambda: self._params.get_bool("ShowSpeedLimits")),
SettingRow("QOLVisuals", "toggle", tr_noop("Quality of Life"),
subtitle=tr_noop("Convenience features for everyday driving."),
get_state=lambda: self._params.get_bool("QOLVisuals"),
@@ -63,7 +63,7 @@ class VisualsLayoutMici(NavScroller):
self._torque_bar_btn = BigParamControl("torque bar", "EnableTorqueBarWidget")
self._rainbow_path_btn = BigParamControl("rainbow road", "RainbowPath")
self._lead_indicator_btn = LeadIndicatorBigButton()
self._speed_limit_signs_btn = BigParamControl("speed limit signs", "ShowSpeedLimits")
self._speed_limit_signs_btn = BigParamControl("show speed limits", "ShowSpeedLimits")
self._slc_confirmation_btn = BigParamControl("confirm new speed limits", "SLCConfirmation")
self._slc_confirmation_lower_btn = BigParamControl("confirm lower limits", "SLCConfirmationLower")
self._slc_confirmation_higher_btn = BigParamControl("confirm higher limits", "SLCConfirmationHigher")
+1 -1
View File
@@ -202,7 +202,7 @@ class HudRenderer(Widget):
if sm.recv_frame["starpilotPlan"] >= ui_state.started_frame:
starpilot_plan = sm["starpilotPlan"]
self._show_speed_limit = ui_state.params.get_bool("ShowSpeedLimits") or ui_state.params.get_bool("SpeedLimitController")
self._show_speed_limit = ui_state.params.get_bool("ShowSpeedLimits")
if self._show_speed_limit:
dashboard_speed_limit = sm["starpilotCarState"].dashboardSpeedLimit if sm.valid.get("starpilotCarState", False) else 0.0
vision_speed_limit = ui_state.params_memory.get_float("VisionSpeedLimit") if ui_state.params.get_bool("VisionSpeedLimitDetection") else 0.0
@@ -124,13 +124,10 @@ def _get_slc_state():
speed_limit_changed = plan.speedLimitChanged
params = ui_state.ui_params
show_slc = params.get_bool("ShowSpeedLimits") or params.get_bool("SpeedLimitController")
hide_sl = params.get_bool("HideSpeedLimit")
show_slc = params.get_bool("ShowSpeedLimits")
unconfirmed_valid = plan.unconfirmedSlcSpeedLimit > 1
# A pending (unconfirmed) limit overrides HideSpeedLimit so the prompt always shows.
hide = not (speed_limit_changed and unconfirmed_valid) and hide_sl
if not show_slc and not speed_limit_changed:
if not show_slc:
_reset_pulse()
return None
@@ -170,7 +167,6 @@ def _get_slc_state():
'unconfirmed_speed_limit': max(0.0, plan.unconfirmedSlcSpeedLimit * speed_conversion),
'unconfirmed_valid': unconfirmed_valid,
'speed_limit_changed': speed_limit_changed,
'hide': hide,
'show_offset': show_offset,
'use_vienna': params.get_bool("UseVienna"),
'offset_str': offset_str,
@@ -479,9 +475,6 @@ def render_speed_limit_at(state: dict, rect: rl.Rectangle, expanded: bool = Fals
_draw_sign(state, rect, pending=True)
return None
if state['hide']:
return None
_draw_sign(state, rect, pending=False)
use_vienna = state['use_vienna']
@@ -22,8 +22,7 @@ class SpeedLimitWidget(LayoutWidget):
if self._slc_state is None:
self._pill_rect = None
return False
flashing_pending = self._slc_state['speed_limit_changed'] and self._slc_state['unconfirmed_valid']
return flashing_pending or not self._slc_state['hide']
return True
def get_size(self) -> tuple[float, float]:
if self._slc_state is None:
@@ -5,7 +5,7 @@ def test_tesla_hardware_specific_docs_are_available_for_manual_fingerprinting():
tesla_models = _extract_fingerprint_models_for_make("tesla")
assert ("TESLA_MODEL_3", "Tesla Model 3 (with HW3) 2019-23", "Tesla") in tesla_models
assert ("TESLA_MODEL_3", "Tesla Model 3 (with HW4) 2024-25", "Tesla") in tesla_models
assert ("TESLA_MODEL_3", "Tesla Model 3 (with HW4) 2024-26", "Tesla") in tesla_models
assert ("TESLA_MODEL_Y", "Tesla Model Y (with HW3) 2020-23", "Tesla") in tesla_models
assert ("TESLA_MODEL_X", "Tesla Model X (with HW4) 2024", "Tesla") in tesla_models
@@ -16,5 +16,5 @@ def test_tesla_model_3_hardware_variants_remain_distinct_menu_options():
assert [option.label for option in model_3_options] == [
"Tesla Model 3 (with HW3) 2019-23",
"Tesla Model 3 (with HW4) 2024-25",
"Tesla Model 3 (with HW4) 2024-26",
]