mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-07-23 16:32:04 +08:00
visual
This commit is contained in:
@@ -24,12 +24,12 @@ def draw_circle_gradient(center_x: float, center_y: float, radius: int,
|
||||
|
||||
|
||||
class ConfidenceBall(Widget, ConfidenceBallSP):
|
||||
def __init__(self, demo: bool = False, scale: float = 1.0, bar: bool = False):
|
||||
def __init__(self, demo: bool = False, scale: float = 1.0, visual: int = False):
|
||||
Widget.__init__(self)
|
||||
ConfidenceBallSP.__init__(self)
|
||||
self._demo = demo
|
||||
self._scale = scale
|
||||
self._bar = bar
|
||||
self._visual = visual
|
||||
self._confidence_filter = FirstOrderFilter(-0.5, 0.5, 1 / gui_app.target_fps)
|
||||
|
||||
def update_filter(self, value: float):
|
||||
@@ -83,13 +83,17 @@ class ConfidenceBall(Widget, ConfidenceBallSP):
|
||||
top_dot_color = rl.Color(50, 50, 50, 255)
|
||||
bottom_dot_color = rl.Color(13, 13, 13, 255)
|
||||
|
||||
if (self._bar):
|
||||
if (self._visual == 2):
|
||||
bar_width = int(20 * self._scale)
|
||||
bar_x = content_rect.x + content_rect.width - bar_width
|
||||
fill_h = int(content_rect.height * self._confidence_filter.x)
|
||||
fill_y = int(content_rect.y + (content_rect.height - fill_h))
|
||||
rl.draw_rectangle(int(bar_x), int(content_rect.y), bar_width, int(content_rect.height), rl.Color(20, 20, 20, 180))
|
||||
rl.draw_rectangle_gradient_v(int(bar_x), fill_y, bar_width, fill_h, top_dot_color, bottom_dot_color)
|
||||
elif (self._visual == 1):
|
||||
rl.draw_circle_gradient(int(content_rect.x + content_rect.width - status_dot_radius),
|
||||
int(dot_height), status_dot_radius,
|
||||
top_dot_color, bottom_dot_color)
|
||||
else:
|
||||
draw_circle_gradient(content_rect.x + content_rect.width - status_dot_radius,
|
||||
dot_height, status_dot_radius,
|
||||
|
||||
@@ -58,7 +58,7 @@ class AugmentedRoadView(CameraView, AugmentedRoadViewSP):
|
||||
self.alert_renderer = AlertRenderer()
|
||||
self.driver_state_renderer = DriverStateRenderer()
|
||||
|
||||
self._confidence_visual = ConfidenceBall(scale=1.0, bar=False)
|
||||
self._confidence_visual = ConfidenceBall(scale=1.5, visual=False)
|
||||
|
||||
# debug
|
||||
self._pm = messaging.PubMaster(['uiDebug'])
|
||||
@@ -109,10 +109,10 @@ class AugmentedRoadView(CameraView, AugmentedRoadViewSP):
|
||||
|
||||
mode = ui_state.confidence_visual
|
||||
if mode == 1:
|
||||
self._confidence_visual._bar = False
|
||||
self._confidence_visual._visual = 1
|
||||
self._confidence_visual.render(self._content_rect)
|
||||
elif mode == 2:
|
||||
self._confidence_visual._bar = True
|
||||
self._confidence_visual._visual = 2
|
||||
self._confidence_visual.render(self._content_rect)
|
||||
|
||||
# Draw colored border based on driving state
|
||||
|
||||
Reference in New Issue
Block a user