From fc4a0fb944de619e64e1ee9b312bdd6c03509a02 Mon Sep 17 00:00:00 2001 From: dzid26 Date: Sat, 24 Jan 2026 07:11:38 +0000 Subject: [PATCH 1/2] [TIZI/TICI] ui: Blue "Exit Always Offroad" button (#1655) Blue "Exit Always Offroad" button Co-authored-by: Jason Wen --- selfdrive/ui/sunnypilot/layouts/settings/device.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/selfdrive/ui/sunnypilot/layouts/settings/device.py b/selfdrive/ui/sunnypilot/layouts/settings/device.py index 448a4faab6..8f9d0ae22b 100644 --- a/selfdrive/ui/sunnypilot/layouts/settings/device.py +++ b/selfdrive/ui/sunnypilot/layouts/settings/device.py @@ -193,7 +193,7 @@ class DeviceLayoutSP(DeviceLayout): # Text & Color offroad_mode_btn_text = tr("Exit Always Offroad") if always_offroad else tr("Enable Always Offroad") - offroad_mode_btn_style = ButtonStyle.NORMAL if always_offroad else ButtonStyle.DANGER + offroad_mode_btn_style = ButtonStyle.PRIMARY if always_offroad else ButtonStyle.DANGER self._always_offroad_btn.action_item.left_button.set_text(offroad_mode_btn_text) self._always_offroad_btn.action_item.left_button.set_button_style(offroad_mode_btn_style) From 5dea009113b5946e8f13aa62471f461930c13d50 Mon Sep 17 00:00:00 2001 From: Candy0707 <93701039+Candy0707@users.noreply.github.com> Date: Sun, 25 Jan 2026 11:50:39 +0800 Subject: [PATCH 2/2] [TIZI/TICI] ui: Fix misaligned turn signals and blindspot indicators with sidebar (#1659) * Fix Bug Turn and blind * use separate y coord for left and right signals --------- Co-authored-by: Jason Wen --- .../ui/sunnypilot/onroad/hud_renderer.py | 2 +- selfdrive/ui/sunnypilot/onroad/turn_signal.py | 32 +++++++++---------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/selfdrive/ui/sunnypilot/onroad/hud_renderer.py b/selfdrive/ui/sunnypilot/onroad/hud_renderer.py index 933b573bf1..0ea008f4e6 100644 --- a/selfdrive/ui/sunnypilot/onroad/hud_renderer.py +++ b/selfdrive/ui/sunnypilot/onroad/hud_renderer.py @@ -32,7 +32,7 @@ class HudRendererSP(HudRenderer): self.developer_ui.render(rect) self.road_name_renderer.render(rect) - self.turn_signal_controller.render() + self.turn_signal_controller.render(rect) if ui_state.rocket_fuel: self.rocket_fuel.render(rect, ui_state.sm) diff --git a/selfdrive/ui/sunnypilot/onroad/turn_signal.py b/selfdrive/ui/sunnypilot/onroad/turn_signal.py index 4e5f1183d8..3a66ffeb03 100644 --- a/selfdrive/ui/sunnypilot/onroad/turn_signal.py +++ b/selfdrive/ui/sunnypilot/onroad/turn_signal.py @@ -17,10 +17,10 @@ from openpilot.common.filter_simple import FirstOrderFilter @dataclass(frozen=True) class TurnSignalConfig: - left_x: int = 870 - left_y: int = 220 - right_x: int = 1140 - right_y: int = 220 + left_x: int = 80 + left_y: int = 190 + right_x: int = 80 + right_y: int = 190 size: int = 150 @@ -136,22 +136,20 @@ class TurnSignalController: else: self._right_signal.deactivate() - def render(self): + def render(self, rect: rl.Rectangle): + x = rect.x + rect.width / 2 + + left_x = x - self._config.left_x - self._config.size + left_y = rect.y + self._config.left_y + + right_x = x + self._config.right_x + right_y = rect.y + self._config.right_y + if self._left_signal._active: - self._left_signal.render(rl.Rectangle( - self._config.left_x, - self._config.left_y, - self._config.size, - self._config.size - )) + self._left_signal.render(rl.Rectangle(left_x, left_y, self._config.size, self._config.size)) if self._right_signal._active: - self._right_signal.render(rl.Rectangle( - self._config.right_x, - self._config.right_y, - self._config.size, - self._config.size - )) + self._right_signal.render(rl.Rectangle(right_x, right_y, self._config.size, self._config.size)) @property def config(self) -> TurnSignalConfig: