move onroad/driving stuff from system/ui to selfdrive/ui (#35425)

* mv system/ui/onroad->selfdrive/ui/onroad

* mv ui_state

* fix import path

* fix imports

* mv cameraview

* remove from application
This commit is contained in:
Dean Lee
2025-06-03 04:27:17 +08:00
committed by GitHub
parent bb36b6687c
commit 29afd667cc
10 changed files with 14 additions and 27 deletions
View File
@@ -5,7 +5,7 @@ from cereal import messaging, log
from openpilot.system.hardware import TICI
from openpilot.system.ui.lib.application import gui_app, FontWeight
from openpilot.system.ui.lib.label import gui_text_box
from openpilot.system.ui.lib.ui_state import ui_state
from openpilot.selfdrive.ui.ui_state import ui_state
ALERT_MARGIN = 40
@@ -3,12 +3,12 @@ import pyray as rl
from cereal import log
from msgq.visionipc import VisionStreamType
from openpilot.system.ui.lib.ui_state import ui_state, UIStatus, UI_BORDER_SIZE
from openpilot.system.ui.onroad.alert_renderer import AlertRenderer
from openpilot.system.ui.onroad.driver_state import DriverStateRenderer
from openpilot.system.ui.onroad.hud_renderer import HudRenderer
from openpilot.system.ui.onroad.model_renderer import ModelRenderer
from openpilot.system.ui.widgets.cameraview import CameraView
from openpilot.selfdrive.ui.ui_state import ui_state, UIStatus, UI_BORDER_SIZE
from openpilot.selfdrive.ui.onroad.alert_renderer import AlertRenderer
from openpilot.selfdrive.ui.onroad.driver_state import DriverStateRenderer
from openpilot.selfdrive.ui.onroad.hud_renderer import HudRenderer
from openpilot.selfdrive.ui.onroad.model_renderer import ModelRenderer
from openpilot.selfdrive.ui.onroad.cameraview import CameraView
from openpilot.system.ui.lib.application import gui_app
from openpilot.common.transformations.camera import DEVICE_CAMERAS, DeviceCameraConfig, view_frame_from_device_frame
from openpilot.common.transformations.orientation import rot_from_euler
@@ -175,6 +175,7 @@ if __name__ == "__main__":
print("***press space to switch camera view***")
try:
for _ in gui_app.render():
ui_state.update()
if rl.is_key_released(rl.KeyboardKey.KEY_SPACE):
is_wide = road_camera_view.stream_type == VisionStreamType.VISION_STREAM_WIDE_ROAD
road_camera_view.switch_stream(VisionStreamType.VISION_STREAM_ROAD if is_wide else VisionStreamType.VISION_STREAM_WIDE_ROAD)
@@ -1,11 +1,11 @@
import numpy as np
import pyray as rl
from cereal import messaging
from openpilot.system.ui.widgets.cameraview import CameraView
from msgq.visionipc import VisionStreamType
from openpilot.selfdrive.ui.onroad.cameraview import CameraView
from openpilot.selfdrive.ui.onroad.driver_state import DriverStateRenderer
from openpilot.system.ui.lib.application import gui_app, FontWeight
from openpilot.system.ui.lib.label import gui_label
from openpilot.system.ui.onroad.driver_state import DriverStateRenderer
class DriverCameraView(CameraView):
@@ -1,8 +1,8 @@
import numpy as np
import pyray as rl
from dataclasses import dataclass
from openpilot.selfdrive.ui.ui_state import ui_state, UI_BORDER_SIZE
from openpilot.system.ui.lib.application import gui_app
from openpilot.system.ui.lib.ui_state import ui_state, UI_BORDER_SIZE
# Default 3D coordinates for face keypoints as a NumPy array
@@ -1,7 +1,7 @@
import pyray as rl
from dataclasses import dataclass
from cereal.messaging import SubMaster
from openpilot.system.ui.lib.ui_state import ui_state, UIStatus
from openpilot.selfdrive.ui.ui_state import ui_state, UIStatus
from openpilot.system.ui.lib.application import gui_app, FontWeight
from openpilot.common.conversions import Conversions as CV
@@ -4,8 +4,8 @@ import pyray as rl
from cereal import messaging, car
from dataclasses import dataclass, field
from openpilot.common.params import Params
from openpilot.selfdrive.ui.ui_state import ui_state
from openpilot.system.ui.lib.application import DEFAULT_FPS
from openpilot.system.ui.lib.ui_state import ui_state
from openpilot.system.ui.lib.shader_polygon import draw_polygon
+1 -15
View File
@@ -36,16 +36,6 @@ class FontWeight(IntEnum):
BLACK = 8
def _get_ui_state():
"""Safely import and return ui_state, or None if unavailable."""
try:
from openpilot.system.ui.lib.ui_state import ui_state
return ui_state
except ImportError:
return None
class GuiApplication:
def __init__(self, width: int, height: int):
self._fonts: dict[FontWeight, rl.Font] = {}
@@ -149,7 +139,6 @@ class GuiApplication:
rl.close_window()
def render(self):
ui_state = _get_ui_state()
try:
while not (self._window_close_requested or rl.window_should_close()):
if self._render_texture:
@@ -159,9 +148,6 @@ class GuiApplication:
rl.begin_drawing()
rl.clear_background(rl.BLACK)
if ui_state is not None:
ui_state.update()
yield
if self._render_texture:
@@ -206,7 +192,7 @@ class GuiApplication:
# Create a character set from our keyboard layouts
from openpilot.system.ui.widgets.keyboard import KEYBOARD_LAYOUTS
from openpilot.system.ui.onroad.hud_renderer import CRUISE_DISABLED_CHAR
from openpilot.selfdrive.ui.onroad.hud_renderer import CRUISE_DISABLED_CHAR
all_chars = set()
for layout in KEYBOARD_LAYOUTS.values():
all_chars.update(key for row in layout for key in row)