IQ.Pilot Release Commit @ b6534c0

This commit is contained in:
IQ.Lvbs CI [bot]
2026-08-27 20:17:33 -05:00
commit 00f07cac48
4706 changed files with 1257146 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
"""
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos
"""

View File

@@ -0,0 +1,3 @@
"""
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos
"""

View File

@@ -0,0 +1,30 @@
"""
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos
"""
import pyray as rl
from iqpilot.selfdrive.ui.ui_state import ui_state, UIStatus
ACTIVE_CONFIDENCE_TOP = rl.Color(0x22, 0xB8, 0xB9, 0xFF)
ACTIVE_CONFIDENCE_BOTTOM = rl.Color(0x0C, 0x94, 0x96, 0xFF)
MEDIUM_CONFIDENCE_TOP = rl.Color(255, 200, 0, 255)
MEDIUM_CONFIDENCE_BOTTOM = rl.Color(255, 115, 0, 255)
LOW_CONFIDENCE_TOP = rl.Color(255, 0, 21, 255)
LOW_CONFIDENCE_BOTTOM = rl.Color(255, 0, 89, 255)
class IQConfidenceBall:
@staticmethod
def get_animate_status_probs():
if ui_state.status == UIStatus.LAT_ONLY:
return ui_state.sm['modelV2'].meta.disengagePredictions.steerOverrideProbs
return ui_state.sm['modelV2'].meta.disengagePredictions.brakeDisengageProbs
@staticmethod
def get_lat_long_dot_colors(confidence: float) -> tuple[rl.Color, rl.Color]:
if confidence > 0.5:
return ACTIVE_CONFIDENCE_TOP, ACTIVE_CONFIDENCE_BOTTOM
if confidence > 0.2:
return MEDIUM_CONFIDENCE_TOP, MEDIUM_CONFIDENCE_BOTTOM
return LOW_CONFIDENCE_TOP, LOW_CONFIDENCE_BOTTOM

View File

@@ -0,0 +1,43 @@
"""
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos/
"""
import time
import pyray as rl
from iqpilot.common.params import Params
from iqpilot.ui.onroad.big_model_status import SourceState, draw_source_label, resolve_source
from iqpilot.selfdrive.ui.ui_state import ui_state
from iqpilot.system.ui.lib.application import FontWeight, gui_app
from iqpilot.system.ui.lib.text_measure import measure_text_cached
_POLL_S = 1.0
_FONT_SIZE = 44
_WHEEL_H = 50
_MARGIN_R = 12
_MARGIN_B = 14
class EmacSourceIndicator:
def __init__(self):
self._params = Params()
self._font = gui_app.font(FontWeight.SEMI_BOLD)
self._last_poll = 0.0
self._label = ""
self._state = SourceState.HIDDEN
def update(self) -> None:
now = time.monotonic()
if now - self._last_poll < _POLL_S:
return
self._last_poll = now
self._label, self._state = resolve_source(self._params, ui_state.engaged)
def render(self, rect: rl.Rectangle) -> None:
if self._state == SourceState.HIDDEN:
return
size = measure_text_cached(self._font, self._label, _FONT_SIZE)
x = rect.x + rect.width - _MARGIN_R - size.x
y = rect.y + rect.height - _MARGIN_B - (_WHEEL_H + size.y) / 2
draw_source_label(self._font, self._label, self._state, rl.Vector2(x, y), _FONT_SIZE)

View File

@@ -0,0 +1,26 @@
"""
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos
"""
import pyray as rl
from iqpilot.selfdrive.ui.mici.onroad.hud_renderer import HudRenderer
from iqpilot.ui.onroad.hud_overlays import IQBlindSpotOverlay
from iqpilot.ui.mici.onroad.emac_source import EmacSourceIndicator
class IQMiciHudRenderer(HudRenderer):
def __init__(self):
super().__init__()
self._overlays = [IQBlindSpotOverlay(), EmacSourceIndicator()]
def _update_state(self) -> None:
super()._update_state()
for overlay in self._overlays:
overlay.update()
def _render(self, rect: rl.Rectangle) -> None:
super()._render(rect)
for overlay in self._overlays:
overlay.render(rect)
def _has_blind_spot_detected(self) -> bool:
return any(getattr(overlay, "detected", False) for overlay in self._overlays)

View File

@@ -0,0 +1,10 @@
"""
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos/
"""
from iqpilot.ui.onroad.hud_overlays import RoadNameBanner
class RoadNameRendererMici(RoadNameBanner):
TYPE_SIZE = 18
MARGIN = 120
GAP = 2
TORQUE_SCALE = 1.0