From 87718a3c219ce7d34cea7328c1df9d6cc5f5e2bf Mon Sep 17 00:00:00 2001 From: nayan Date: Sun, 5 Oct 2025 14:42:52 -0400 Subject: [PATCH] add Display panel --- .../ui/sunnypilot/layouts/settings/display.py | 21 +++++++++++++++++++ .../sunnypilot/layouts/settings/settings.py | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 selfdrive/ui/sunnypilot/layouts/settings/display.py diff --git a/selfdrive/ui/sunnypilot/layouts/settings/display.py b/selfdrive/ui/sunnypilot/layouts/settings/display.py new file mode 100644 index 0000000000..355e983d23 --- /dev/null +++ b/selfdrive/ui/sunnypilot/layouts/settings/display.py @@ -0,0 +1,21 @@ +from openpilot.system.ui.widgets.scroller import Scroller +from openpilot.system.ui.widgets import Widget +from openpilot.common.params import Params + + +class DisplayLayout(Widget): + def __init__(self): + super().__init__() + + self._params = Params() + items = self._init_items() + self._scroller = Scroller(items, line_separator=True, spacing=0) + + def _init_items(self): + items = [ + + ] + return items + + def _render(self, rect): + self._scroller.render(rect) diff --git a/selfdrive/ui/sunnypilot/layouts/settings/settings.py b/selfdrive/ui/sunnypilot/layouts/settings/settings.py index ef27d60308..265ed86dd8 100644 --- a/selfdrive/ui/sunnypilot/layouts/settings/settings.py +++ b/selfdrive/ui/sunnypilot/layouts/settings/settings.py @@ -21,6 +21,7 @@ from openpilot.selfdrive.ui.sunnypilot.layouts.settings.vehicle import VehicleLa from openpilot.selfdrive.ui.sunnypilot.layouts.settings.steering import SteeringLayout from openpilot.selfdrive.ui.sunnypilot.layouts.settings.cruise import CruiseLayout from openpilot.selfdrive.ui.sunnypilot.layouts.settings.visuals import VisualsLayout +from selfdrive.ui.sunnypilot.layouts.settings.display import DisplayLayout OP.PANEL_COLOR = rl.Color(10, 10, 10, 255) ICON_SIZE = 70 @@ -33,6 +34,7 @@ OP.PanelType = IntEnum( # type: ignore "STEERING", "CRUISE", "VISUALS", + "DISPLAY", "OSM", "TRIPS", "VEHICLE", @@ -67,6 +69,7 @@ class SettingsLayoutSP(OP.SettingsLayout): OP.PanelType.STEERING: PanelInfo("Steering", SteeringLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_lateral.png"), OP.PanelType.CRUISE: PanelInfo("Cruise", CruiseLayout(), icon="icons/speed_limit.png"), OP.PanelType.VISUALS: PanelInfo("Visuals", VisualsLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_visuals.png"), + OP.PanelType.DISPLAY: PanelInfo("Display", DisplayLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_display.png"), OP.PanelType.OSM: PanelInfo("OSM", OSMLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_map.png"), OP.PanelType.TRIPS: PanelInfo("Trips", TripsLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_trips.png"), OP.PanelType.VEHICLE: PanelInfo("Vehicle", VehicleLayout(), icon="../../sunnypilot/selfdrive/assets/offroad/icon_vehicle.png"),