diff --git a/selfdrive/ui/layouts/home.py b/selfdrive/ui/layouts/home.py index 55e990c809..c759346f60 100644 --- a/selfdrive/ui/layouts/home.py +++ b/selfdrive/ui/layouts/home.py @@ -2,6 +2,7 @@ import time import pyray as rl from collections.abc import Callable from enum import IntEnum +from openpilot.common.params import Params from openpilot.selfdrive.ui.ui_state import ui_state from openpilot.selfdrive.ui.widgets.offroad_alerts import UpdateAlert, OffroadAlert from openpilot.selfdrive.ui.widgets.exp_mode_button import ExperimentalModeButton @@ -31,7 +32,7 @@ class HomeLayoutState(IntEnum): class HomeLayout(Widget): def __init__(self): super().__init__() - self.params = ui_state.params + self.params = Params() self.update_alert = UpdateAlert() self.offroad_alert = OffroadAlert() diff --git a/selfdrive/ui/layouts/settings/developer.py b/selfdrive/ui/layouts/settings/developer.py index 984fbfe5f0..437376d949 100644 --- a/selfdrive/ui/layouts/settings/developer.py +++ b/selfdrive/ui/layouts/settings/developer.py @@ -1,3 +1,4 @@ +from openpilot.common.params import Params from openpilot.selfdrive.ui.widgets.ssh_key import ssh_key_item from openpilot.selfdrive.ui.ui_state import ui_state from openpilot.system.ui.widgets import Widget @@ -8,7 +9,6 @@ from openpilot.system.ui.lib.application import gui_app from openpilot.system.ui.lib.multilang import tr, tr_noop from openpilot.system.ui.widgets import DialogResult - # Description constants DESCRIPTIONS = { 'enable_adb': tr_noop( @@ -35,7 +35,7 @@ DESCRIPTIONS = { class DeveloperLayout(Widget): def __init__(self): super().__init__() - self._params = ui_state.params + self._params = Params() # Build items and keep references for callbacks/state updates self._adb_toggle = toggle_item( diff --git a/selfdrive/ui/layouts/settings/device.py b/selfdrive/ui/layouts/settings/device.py index ca2da9220e..dc9a6c3fe3 100644 --- a/selfdrive/ui/layouts/settings/device.py +++ b/selfdrive/ui/layouts/settings/device.py @@ -11,6 +11,7 @@ import pyray as rl import qrcode from openpilot.common.basedir import BASEDIR +from openpilot.common.params import Params from openpilot.common.swaglog import cloudlog from openpilot.selfdrive.ui.onroad.driver_camera_dialog import DriverCameraDialog from openpilot.selfdrive.ui.ui_state import ui_state @@ -111,7 +112,7 @@ class DeviceLayout(Widget): def __init__(self): super().__init__() - self._params = ui_state.params + self._params = Params() self._select_language_dialog: MultiOptionDialog | None = None self._driver_camera: DriverCameraDialog | None = None self._pair_device_dialog: PairingDialog | None = None diff --git a/selfdrive/ui/layouts/settings/starpilot/aethergrid.py b/selfdrive/ui/layouts/settings/starpilot/aethergrid.py index 5d3f33c760..bb8f0486e3 100644 --- a/selfdrive/ui/layouts/settings/starpilot/aethergrid.py +++ b/selfdrive/ui/layouts/settings/starpilot/aethergrid.py @@ -3538,8 +3538,8 @@ class AetherCategoryDrawer(AetherSettingsView): # Read driving side dynamically for ergonomic layout (LHD vs RHD) try: - from openpilot.selfdrive.ui.ui_state import ui_state - self._is_rhd = ui_state.params.get_bool("IsRHD") + from openpilot.common.params import Params + self._is_rhd = Params().get_bool("IsRHD") except Exception: self._is_rhd = False diff --git a/selfdrive/ui/layouts/settings/starpilot/panel.py b/selfdrive/ui/layouts/settings/starpilot/panel.py index 1e1c6a18d4..e377dc64b3 100644 --- a/selfdrive/ui/layouts/settings/starpilot/panel.py +++ b/selfdrive/ui/layouts/settings/starpilot/panel.py @@ -5,7 +5,7 @@ from enum import IntEnum import pyray as rl -from openpilot.selfdrive.ui.ui_state import ui_state +from openpilot.common.params import Params from openpilot.starpilot.common.starpilot_variables import update_starpilot_toggles from openpilot.system.ui.lib.multilang import tr from openpilot.system.ui.lib.application import gui_app @@ -18,7 +18,7 @@ import time class FrameCachedParams: def __init__(self): - self._params = ui_state.params + self._params = Params() self._cache = {} self._last_frame_time = 0.0 diff --git a/selfdrive/ui/layouts/settings/toggles.py b/selfdrive/ui/layouts/settings/toggles.py index 9cd7b056c8..08800c698f 100644 --- a/selfdrive/ui/layouts/settings/toggles.py +++ b/selfdrive/ui/layouts/settings/toggles.py @@ -38,7 +38,7 @@ DESCRIPTIONS = { class TogglesLayout(Widget): def __init__(self): super().__init__() - self._params = ui_state.params + self._params = Params() self._sync_rhd_toggle() # param, title, desc, icon, needs_restart diff --git a/selfdrive/ui/mici/layouts/settings/visuals.py b/selfdrive/ui/mici/layouts/settings/visuals.py index e3c95fd5bd..84f9edf6ef 100644 --- a/selfdrive/ui/mici/layouts/settings/visuals.py +++ b/selfdrive/ui/mici/layouts/settings/visuals.py @@ -1,4 +1,4 @@ -from openpilot.selfdrive.ui.ui_state import ui_state +from openpilot.common.params import Params from openpilot.selfdrive.ui.lib.starpilot_visuals import lead_indicator_enabled from openpilot.selfdrive.ui.mici.widgets.button import BigButton, BigParamControl, BigToggle from openpilot.selfdrive.ui.mici.widgets.dialog import BigDialog, BigMultiOptionDialog @@ -11,7 +11,7 @@ CAMERA_VIEW_LABELS = ["Auto", "Driver", "Standard", "Wide", "None"] class CameraViewBigButton(BigButton): def __init__(self): super().__init__("camera view", "", gui_app.texture("icons_mici/onroad/eye_fill.png", 64, 64)) - self._params = ui_state.params + self._params = Params() self.set_click_callback(self._show_selector) self.refresh() @@ -42,7 +42,7 @@ class CameraViewBigButton(BigButton): class LeadIndicatorBigButton(BigToggle): def __init__(self): super().__init__("lead indicator") - self.params = ui_state.params + self.params = Params() self.refresh() def _handle_mouse_release(self, mouse_pos): diff --git a/selfdrive/ui/mici/onroad/model_renderer.py b/selfdrive/ui/mici/onroad/model_renderer.py index 133eded9cb..e8336727a7 100644 --- a/selfdrive/ui/mici/onroad/model_renderer.py +++ b/selfdrive/ui/mici/onroad/model_renderer.py @@ -3,6 +3,7 @@ import numpy as np import pyray as rl from cereal import messaging, car from dataclasses import dataclass, field +from openpilot.common.params import Params from openpilot.common.constants import CV from openpilot.common.filter_simple import FirstOrderFilter from openpilot.selfdrive.locationd.calibrationd import HEIGHT_INIT @@ -91,7 +92,7 @@ class ModelRenderer(Widget): self._rainbow_path = RainbowPath() # Get longitudinal control setting from car parameters - self._params = ui_state.params + self._params = Params() if car_params := self._params.get("CarParams"): cp = messaging.log_from_bytes(car_params, car.CarParams) self._longitudinal_control = cp.openpilotLongitudinalControl diff --git a/selfdrive/ui/mici/widgets/button.py b/selfdrive/ui/mici/widgets/button.py index ea109a7ea9..3ad6efde34 100644 --- a/selfdrive/ui/mici/widgets/button.py +++ b/selfdrive/ui/mici/widgets/button.py @@ -9,8 +9,10 @@ from openpilot.system.ui.widgets.scroller import DO_ZOOM from openpilot.system.ui.lib.application import gui_app, FontWeight, MousePos from openpilot.common.filter_simple import BounceFilter -from openpilot.selfdrive.ui.ui_state import ui_state -from openpilot.common.params import Params +try: + from openpilot.common.params import Params +except ImportError: + Params = None SCROLLING_SPEED_PX_S = 50 COMPLICATION_SIZE = 36 @@ -392,7 +394,7 @@ class BigParamControl(BigToggle): def __init__(self, text: str, param: str, toggle_callback: Callable | None = None): super().__init__(text, "", toggle_callback=toggle_callback) self.param = param - self.params = ui_state.params + self.params = Params() self.set_checked(self.params.get_bool(self.param, False)) def _handle_mouse_release(self, mouse_pos: MousePos): @@ -409,7 +411,7 @@ class BigCircleParamControl(BigCircleToggle): icon_offset: tuple[int, int] = (0, 0)): super().__init__(icon, toggle_callback, icon_offset=icon_offset) self._param = param - self.params = ui_state.params + self.params = Params() self.set_checked(self.params.get_bool(self._param, False)) def _handle_mouse_release(self, mouse_pos: MousePos):