IQ.Pilot Release Commit @ d2ce8a8

This commit is contained in:
IQ.Lvbs CI [bot]
2026-08-28 08:35:52 -05:00
parent 9206164707
commit ee1dca77c7
210 changed files with 19726 additions and 455 deletions

View File

@@ -54,5 +54,33 @@
"text": "<b>Unsupported branch!</b> - The current version of <b><u>%1</u></b> is not marked as compatible with the Comma Three (3|tici). Please go to <b>[Device > Software]</b> and install a supported branch such as <b><u>release</u></b> or <b><u>beta</u></b> for the comma three.",
"severity": 1,
"_comment": "Set extra field to the current branch name."
},
"Offroad_EgpuNotDetected": {
"text": "eGPU dock not detected. Check USB and 12V connections.",
"severity": 0
},
"Offroad_EgpuFansObstructed": {
"text": "eGPU dock fans obstructed. Check the fans.",
"severity": 0
},
"Offroad_EgpuOverheated": {
"text": "eGPU dock overheated. Allow it to cool.",
"severity": 0
},
"Offroad_EgpuPcieUnavailable": {
"text": "eGPU dock PCIe unavailable. %1",
"severity": 0
},
"Offroad_EgpuUncompiled": {
"text": "eGPU big model not compiled. Keep ignition on and reboot the device.",
"severity": 0
},
"Offroad_EgpuUpdateFailed": {
"text": "eGPU dock update failed. Check the USB cable.",
"severity": 0
},
"Offroad_EgpuUsbSlow": {
"text": "eGPU dock USB link is slow. Check the USB cable. The current speed is %1.",
"severity": 0
}
}

View File

@@ -253,6 +253,15 @@ EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = {
"Ensure road ahead is clear"),
},
EventName.bigModelLoading: {
ET.NO_ENTRY: NoEntryAlert("Big Model Loading"),
},
EventName.bigModelFailed: {
ET.SOFT_DISABLE: soft_disable_alert("Big Model Failed"),
ET.PERMANENT: NormalPermanentAlert("Big Model Failed ", "Restart the car to retry,\nsmall model is still available", duration=20.),
},
EventName.lateralManeuver: {
ET.WARNING: longitudinal_maneuver_alert,
ET.PERMANENT: NormalPermanentAlert("Lateral Maneuver Mode"),

View File

@@ -143,6 +143,9 @@ class SelfdriveD(GapButtonActions):
self.events = Events()
self.initialized = False
self.big_model_loading = False
self.big_model_active = False
self.big_model_failed = False
self.enabled = False
self.active = False
self.mismatch_counter = 0
@@ -270,6 +273,28 @@ class SelfdriveD(GapButtonActions):
self.events.add(EventName.joystickDebug)
self.startup_event = None
if self.sm['deviceState'].egpuDockPresent or self.params.get_bool("IQEgpuEnabled") or self.big_model_active:
loading = self.params.get_bool("UsbGpuLoading")
self.big_model_loading = loading
if self.big_model_loading:
self.events.add(EventName.bigModelLoading)
big_active = self.params.get("UsbGpuActive")
dock_present = self.sm['deviceState'].egpuDockPresent
mac_active = self.params.get_bool("MacModelActive")
model_unavailable = big_active is True and self.sm.seen['modelV2'] and not self.sm.alive['modelV2']
big_failed = (big_active is False or model_unavailable
or (self.big_model_active and not dock_present)) and not mac_active
if big_failed:
self.events.add(EventName.bigModelFailed)
self.big_model_failed = big_failed
# soft disable if the big model fails
if big_active:
self.big_model_active = True
if mac_active or (not self.enabled and not model_unavailable):
self.big_model_active = False
if self.sm.recv_frame['lateralManeuverPlan'] > 0:
self.events.add(EventName.lateralManeuver)
self.startup_event = None