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

@@ -131,6 +131,7 @@ struct IQModelManager @0xe91d6987759290bb {
policy @3;
offPolicy @4;
onPolicy @5;
usbeMac @6;
}
}
@@ -440,6 +441,9 @@ struct IQCarState @0xb1c39318bb6bc2b3 {
# VW PQ stock ACC radar feedback for the IQ.Dynamics radar_manager (Blend feature)
accRadarStaAdr @4 :UInt8; # ACC_System.ACS_Sta_ADR (0 not-active, 1 active, 2 passive, 3 irrev_Fehler)
accRadarFehler @5 :Bool; # ACC_System.ACS_Fehler (stored fault -> radar dead for the drive)
slcSetSpeedRequestId @6 :UInt32;
slcSetSpeedGestureId @7 :UInt32;
slcSetSpeedRequestKph @8 :Float32;
}
struct IQLiveData @0xf2e2b608e51f4b0e {

View File

@@ -135,6 +135,8 @@ struct OnroadEvent @0xc4fa6047f024e718 {
userBookmark @95;
excessiveActuation @96;
audioFeedback @97;
bigModelLoading @101;
bigModelFailed @102;
soundsUnavailableDEPRECATED @47;
}
@@ -491,6 +493,13 @@ struct DeviceState @0xa4d8b5af2aa492eb {
started @11 :Bool;
startedMonoTime @13 :UInt64;
# ordinals track commaai/openpilot exactly (@50 bottomSocTempC, @51 dock
# presence, @52 usbState) so upstream tooling stays able to read our logs;
# only the field NAME differs, we do not use comma's internal dock codename.
bottomSocTempC @50 :Float32;
egpuDockPresent @51 :Bool;
usbState @52 :UsbState;
# system utilization
freeSpacePercent @7 :Float32;
memoryUsagePercent @19 :Int8;
@@ -586,6 +595,37 @@ struct DeviceState @0xa4d8b5af2aa492eb {
nvmeTempCDEPRECATED @35 :List(Float32);
}
struct UsbState {
devices @0 :List(Device);
# IQ extension (no upstream equivalent): controller-level link errors, needed
# because portli is a CONTROLLER counter and in peripheral mode (eMac gadget
# link) the peer never enumerates, so no Device row can carry it.
linkErrorCount @1 :UInt32;
# IQ extension, same reason: CC orientation describes the PORT, so it is
# readable while the link is in peripheral mode. The per-device field below
# matches upstream but only populates when something enumerates on that
# controller (host mode, e.g. the eGPU dock) — never during an eMac session.
usb3Lane @2 :Device.Usb3Lane;
struct Device {
busnum @0 :UInt8;
devnum @1 :UInt8;
vendorId @2 :UInt16;
productId @3 :UInt16;
speedMbps @4 :UInt16;
manufacturer @6 :Text;
product @5 :Text;
linkErrorCount @7 :UInt16;
usb3Lane @8 :Usb3Lane;
enum Usb3Lane {
unknown @0;
a @1;
b @2;
}
}
}
struct PandaState @0xa7649e2575e4591e {
ignitionLine @2 :Bool;
rxBufferOverflow @7 :UInt32;
@@ -745,6 +785,20 @@ struct PeripheralState {
}
}
struct EgpuDockState {
tempC @0 :Float32;
memoryTempC @1 :Float32;
powerDrawW @2 :Float32;
powerLimitW @3 :Float32;
gpuUsagePercent @4 :UInt8;
gpuClockMhz @5 :UInt16;
fanSpeedRpm @6 :UInt16;
pcieLtssm @7 :UInt8;
supplyVoltage @8 :UInt16; # mV
supplyCurrent @9 :Int16; # mA
supplyFault @10 :Bool;
}
struct RadarState @0x9a185389d6fdd05f {
mdMonoTime @6 :UInt64;
carStateMonoTime @11 :UInt64;
@@ -1078,6 +1132,7 @@ struct ModelDataV2 {
timestampEof @3 :UInt64;
modelExecutionTime @15 :Float32;
rawPredictions @16 :Data;
big @27 :Bool;
# predicted future position, orientation, etc..
position @4 :XYZTData;
@@ -2668,6 +2723,7 @@ struct Event {
iqState @153 :Custom.IQState;
iqModelManager @154 :Custom.IQModelManager;
iqPlan @155 :Custom.IQPlan;
egpuDockState @166 :EgpuDockState;
iqOnroadEvents @156 :Custom.IQOnroadEvent;
iqCarParams @157 :Custom.IQCarParams;
iqCarControl @158 :Custom.IQCarControl;

View File

@@ -108,6 +108,7 @@ _services: dict[str, tuple] = {
"iqRoadIncidentFeed": (True, 0.2, 1),
"iqNavRenderState": (True, 5., 10, QueueSize.MEDIUM),
"iqState": (True, 100., 10),
"egpuDockState": (True, 10., 10),
"iqPlan": (True, 20., 10),
"iqOnroadEvents": (True, 1., 1),
"iqDriveModelData": (True, 20., None, QueueSize.MEDIUM),