diff --git a/selfdrive/ui/onroad/hud_renderer.py b/selfdrive/ui/onroad/hud_renderer.py index afd7f01cf6..79f150deea 100644 --- a/selfdrive/ui/onroad/hud_renderer.py +++ b/selfdrive/ui/onroad/hud_renderer.py @@ -3,7 +3,6 @@ from dataclasses import dataclass from openpilot.common.constants import CV from openpilot.selfdrive.ui.onroad.exp_button import ExpButton from openpilot.selfdrive.ui.ui_state import ui_state, UIStatus -from openpilot.selfdrive.ui.sunnypilot.onroad.speed_limit_ui import SpeedLimitRenderer from openpilot.system.ui.lib.application import gui_app, FontWeight from openpilot.system.ui.lib.multilang import tr from openpilot.system.ui.lib.text_measure import measure_text_cached @@ -67,8 +66,6 @@ class HudRenderer(Widget): self.speed: float = 0.0 self.v_ego_cluster_seen: bool = False - self._speed_limit_renderer = SpeedLimitRenderer() - self._font_semi_bold: rl.Font = gui_app.font(FontWeight.SEMI_BOLD) self._font_bold: rl.Font = gui_app.font(FontWeight.BOLD) self._font_medium: rl.Font = gui_app.font(FontWeight.MEDIUM) @@ -77,9 +74,6 @@ class HudRenderer(Widget): def _update_state(self) -> None: """Update HUD state based on car state and controls state.""" - - self._speed_limit_renderer._update_state() - sm = ui_state.sm if sm.recv_frame["carState"] < ui_state.started_frame: self.is_cruise_set = False @@ -123,8 +117,6 @@ class HudRenderer(Widget): self._draw_current_speed(rect) - self._speed_limit_renderer.render(rect) - button_x = rect.x + rect.width - UI_CONFIG.border_size - UI_CONFIG.button_size button_y = rect.y + UI_CONFIG.border_size self._exp_button.render(rl.Rectangle(button_x, button_y, UI_CONFIG.button_size, UI_CONFIG.button_size)) diff --git a/selfdrive/ui/sunnypilot/onroad/hud_renderer.py b/selfdrive/ui/sunnypilot/onroad/hud_renderer.py index 0155e38a6e..abc1ec5697 100644 --- a/selfdrive/ui/sunnypilot/onroad/hud_renderer.py +++ b/selfdrive/ui/sunnypilot/onroad/hud_renderer.py @@ -10,6 +10,7 @@ from openpilot.selfdrive.ui.ui_state import ui_state from openpilot.selfdrive.ui.onroad.hud_renderer import HudRenderer from openpilot.selfdrive.ui.sunnypilot.onroad.developer_ui import DeveloperUiRenderer from openpilot.selfdrive.ui.sunnypilot.onroad.rocket_fuel import RocketFuel +from openpilot.selfdrive.ui.sunnypilot.onroad.speed_limit_ui import SpeedLimitRenderer from openpilot.selfdrive.ui.sunnypilot.onroad.turn_signal import TurnSignalController @@ -18,16 +19,18 @@ class HudRendererSP(HudRenderer): super().__init__() self.developer_ui = DeveloperUiRenderer() self.rocket_fuel = RocketFuel() + self.speed_limit_renderer = SpeedLimitRenderer() self.turn_signal_controller = TurnSignalController() def _update_state(self) -> None: super()._update_state() + self.speed_limit_renderer.update() self.turn_signal_controller.update() def _render(self, rect: rl.Rectangle) -> None: super()._render(rect) self.developer_ui.render(rect) - + self.speed_limit_renderer.render(rect) self.turn_signal_controller.render() if ui_state.rocket_fuel: diff --git a/selfdrive/ui/sunnypilot/onroad/speed_limit_ui.py b/selfdrive/ui/sunnypilot/onroad/speed_limit_ui.py index 5e8d17dc88..413778418d 100644 --- a/selfdrive/ui/sunnypilot/onroad/speed_limit_ui.py +++ b/selfdrive/ui/sunnypilot/onroad/speed_limit_ui.py @@ -1,3 +1,9 @@ +""" +Copyright (c) 2021-, Haibin Wen, sunnypilot, and a number of other contributors. + +This file is part of sunnypilot and is licensed under the MIT License. +See the LICENSE.md file in the root directory for more details. +""" from enum import IntEnum from dataclasses import dataclass import math @@ -72,7 +78,7 @@ class SpeedLimitRenderer(Widget): def speed_conv(self): return CV.MS_TO_KPH if self.is_metric else CV.MS_TO_MPH - def _update_state(self): + def update(self): sm = ui_state.sm if sm.recv_frame["carState"] < ui_state.started_frame: return