diff --git a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/cruise.py b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/cruise.py index d6c12c8ae..c6468bc5c 100644 --- a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/cruise.py +++ b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/cruise.py @@ -7,9 +7,10 @@ See the LICENSE.md file in the root directory for more details. from enum import IntEnum from openpilot.selfdrive.ui.sunnypilot.layouts.settings.cruise_sub_layouts.speed_limit_settings import SpeedLimitSettingsLayout +from openpilot.selfdrive.ui.layouts.settings.toggles import TogglesLayout from openpilot.selfdrive.ui.ui_state import ui_state from openpilot.system.ui.lib.multilang import tr, tr_noop -from openpilot.system.ui.sunnypilot.widgets.list_view import toggle_item_sp, option_item_sp, simple_button_item_sp +from openpilot.system.ui.sunnypilot.widgets.list_view import toggle_item_sp, option_item_sp, simple_button_item_sp, LineSeparatorSP from openpilot.system.ui.widgets import Widget from openpilot.system.ui.widgets.scroller_tici import Scroller @@ -36,6 +37,7 @@ class CruiseLayout(Widget): super().__init__() self._current_panel = PanelType.CRUISE self._speed_limit_layout = SpeedLimitSettingsLayout(lambda: self._set_current_panel(PanelType.CRUISE)) + self._toggles_layout = TogglesLayout() items = self._initialize_items() self._scroller = Scroller(items, line_separator=True, spacing=0) @@ -88,6 +90,11 @@ class CruiseLayout(Widget): param="DynamicExperimentalControl") items = [ + self._toggles_layout._toggles["ExperimentalMode"], + self._toggles_layout._toggles["LongitudinalPersonality"], + self._toggles_layout._toggles["IsLdwEnabled"], + self._toggles_layout._toggles["IsMetric"], + LineSeparatorSP(40), self.dec_toggle, self.scc_v_toggle, self.custom_acc_toggle, @@ -105,6 +112,7 @@ class CruiseLayout(Widget): def show_event(self): self._set_current_panel(PanelType.CRUISE) self._scroller.show_event() + self._toggles_layout._update_toggles() self.icbm_toggle.show_description(True) self.custom_acc_toggle.show_description(True) @@ -115,6 +123,8 @@ class CruiseLayout(Widget): def _update_state(self): super()._update_state() + self._toggles_layout._update_state() + self._toggles_layout._update_toggles() if ui_state.CP is not None and ui_state.CP_SP is not None: has_icbm = ui_state.has_icbm diff --git a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/settings.py b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/settings.py index 8a9bdab83..a5b66b3d3 100644 --- a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/settings.py +++ b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/settings.py @@ -113,7 +113,7 @@ class SettingsLayoutSP(OP.SettingsLayout): OP.PanelType.DEVICE: PanelInfo(tr_noop("Device"), DeviceLayoutSP(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_home.png"), OP.PanelType.NETWORK: PanelInfo(tr_noop("Network"), NetworkUISP(wifi_manager), icon="icons/network.png"), # OP.PanelType.SUNNYLINK: PanelInfo(tr_noop("sunnylink"), SunnylinkLayout(), icon="icons/wifi_strength_full.png"), # hidden - OP.PanelType.TOGGLES: PanelInfo(tr_noop("Toggles"), TogglesLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_toggle.png"), + # OP.PanelType.TOGGLES: PanelInfo(tr_noop("Toggles"), TogglesLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_toggle.png"), # hidden, moved into Cruise OP.PanelType.SOFTWARE: PanelInfo(tr_noop("Software"), SoftwareLayoutSP(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_software.png"), OP.PanelType.MODELS: PanelInfo(tr_noop("Models"), ModelsLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_models.png"), OP.PanelType.STEERING: PanelInfo(tr_noop("Steering"), SteeringLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_lateral.png"),