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
pull/35428/head
Dean Lee 3 months ago committed by GitHub
parent bb36b6687c
commit 29afd667cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 0
      selfdrive/ui/onroad/__init__.py
  2. 2
      selfdrive/ui/onroad/alert_renderer.py
  3. 13
      selfdrive/ui/onroad/augmented_road_view.py
  4. 0
      selfdrive/ui/onroad/cameraview.py
  5. 4
      selfdrive/ui/onroad/driver_camera_view.py
  6. 2
      selfdrive/ui/onroad/driver_state.py
  7. 2
      selfdrive/ui/onroad/hud_renderer.py
  8. 2
      selfdrive/ui/onroad/model_renderer.py
  9. 0
      selfdrive/ui/ui_state.py
  10. 16
      system/ui/lib/application.py

@ -5,7 +5,7 @@ from cereal import messaging, log
from openpilot.system.hardware import TICI from openpilot.system.hardware import TICI
from openpilot.system.ui.lib.application import gui_app, FontWeight 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.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 ALERT_MARGIN = 40

@ -3,12 +3,12 @@ import pyray as rl
from cereal import log from cereal import log
from msgq.visionipc import VisionStreamType from msgq.visionipc import VisionStreamType
from openpilot.system.ui.lib.ui_state import ui_state, UIStatus, UI_BORDER_SIZE from openpilot.selfdrive.ui.ui_state import ui_state, UIStatus, UI_BORDER_SIZE
from openpilot.system.ui.onroad.alert_renderer import AlertRenderer from openpilot.selfdrive.ui.onroad.alert_renderer import AlertRenderer
from openpilot.system.ui.onroad.driver_state import DriverStateRenderer from openpilot.selfdrive.ui.onroad.driver_state import DriverStateRenderer
from openpilot.system.ui.onroad.hud_renderer import HudRenderer from openpilot.selfdrive.ui.onroad.hud_renderer import HudRenderer
from openpilot.system.ui.onroad.model_renderer import ModelRenderer from openpilot.selfdrive.ui.onroad.model_renderer import ModelRenderer
from openpilot.system.ui.widgets.cameraview import CameraView from openpilot.selfdrive.ui.onroad.cameraview import CameraView
from openpilot.system.ui.lib.application import gui_app 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.camera import DEVICE_CAMERAS, DeviceCameraConfig, view_frame_from_device_frame
from openpilot.common.transformations.orientation import rot_from_euler from openpilot.common.transformations.orientation import rot_from_euler
@ -175,6 +175,7 @@ if __name__ == "__main__":
print("***press space to switch camera view***") print("***press space to switch camera view***")
try: try:
for _ in gui_app.render(): for _ in gui_app.render():
ui_state.update()
if rl.is_key_released(rl.KeyboardKey.KEY_SPACE): if rl.is_key_released(rl.KeyboardKey.KEY_SPACE):
is_wide = road_camera_view.stream_type == VisionStreamType.VISION_STREAM_WIDE_ROAD 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) 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 numpy as np
import pyray as rl import pyray as rl
from cereal import messaging from cereal import messaging
from openpilot.system.ui.widgets.cameraview import CameraView
from msgq.visionipc import VisionStreamType 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.application import gui_app, FontWeight
from openpilot.system.ui.lib.label import gui_label from openpilot.system.ui.lib.label import gui_label
from openpilot.system.ui.onroad.driver_state import DriverStateRenderer
class DriverCameraView(CameraView): class DriverCameraView(CameraView):

@ -1,8 +1,8 @@
import numpy as np import numpy as np
import pyray as rl import pyray as rl
from dataclasses import dataclass 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.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 # Default 3D coordinates for face keypoints as a NumPy array

@ -1,7 +1,7 @@
import pyray as rl import pyray as rl
from dataclasses import dataclass from dataclasses import dataclass
from cereal.messaging import SubMaster 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.system.ui.lib.application import gui_app, FontWeight
from openpilot.common.conversions import Conversions as CV from openpilot.common.conversions import Conversions as CV

@ -4,8 +4,8 @@ import pyray as rl
from cereal import messaging, car from cereal import messaging, car
from dataclasses import dataclass, field from dataclasses import dataclass, field
from openpilot.common.params import Params 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.application import DEFAULT_FPS
from openpilot.system.ui.lib.ui_state import ui_state
from openpilot.system.ui.lib.shader_polygon import draw_polygon from openpilot.system.ui.lib.shader_polygon import draw_polygon

@ -36,16 +36,6 @@ class FontWeight(IntEnum):
BLACK = 8 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: class GuiApplication:
def __init__(self, width: int, height: int): def __init__(self, width: int, height: int):
self._fonts: dict[FontWeight, rl.Font] = {} self._fonts: dict[FontWeight, rl.Font] = {}
@ -149,7 +139,6 @@ class GuiApplication:
rl.close_window() rl.close_window()
def render(self): def render(self):
ui_state = _get_ui_state()
try: try:
while not (self._window_close_requested or rl.window_should_close()): while not (self._window_close_requested or rl.window_should_close()):
if self._render_texture: if self._render_texture:
@ -159,9 +148,6 @@ class GuiApplication:
rl.begin_drawing() rl.begin_drawing()
rl.clear_background(rl.BLACK) rl.clear_background(rl.BLACK)
if ui_state is not None:
ui_state.update()
yield yield
if self._render_texture: if self._render_texture:
@ -206,7 +192,7 @@ class GuiApplication:
# Create a character set from our keyboard layouts # Create a character set from our keyboard layouts
from openpilot.system.ui.widgets.keyboard import 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() all_chars = set()
for layout in KEYBOARD_LAYOUTS.values(): for layout in KEYBOARD_LAYOUTS.values():
all_chars.update(key for row in layout for key in row) all_chars.update(key for row in layout for key in row)

Loading…
Cancel
Save