@blueyerobotics/protocol-definitions 3.2.0-d3c78945 → 3.2.0-d7dd459b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -136,6 +136,8 @@ export declare enum NotificationType {
136
136
  NOTIFICATION_TYPE_DVL_HIGH_TEMPERATURE_DETECTED = 31,
137
137
  /** NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED - DVL thermal protection mode detected. */
138
138
  NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED = 32,
139
+ /** NOTIFICATION_TYPE_VIDEO_PARTITION_NOT_MOUNTED - Video partition not mounted. */
140
+ NOTIFICATION_TYPE_VIDEO_PARTITION_NOT_MOUNTED = 33,
139
141
  UNRECOGNIZED = -1
140
142
  }
141
143
  export declare function notificationTypeFromJSON(object: any): NotificationType;
@@ -208,6 +210,24 @@ export declare enum PressureSensorType {
208
210
  }
209
211
  export declare function pressureSensorTypeFromJSON(object: any): PressureSensorType;
210
212
  export declare function pressureSensorTypeToJSON(object: PressureSensorType): string;
213
+ /**
214
+ * How the drone is powered.
215
+ *
216
+ * Lets clients determine the power configuration (e.g. parallel batteries on the
217
+ * X7) directly from DroneInfo, without waiting for telemetry. May be extended in
218
+ * the future, e.g. with topside power.
219
+ */
220
+ export declare enum PowerSource {
221
+ /** POWER_SOURCE_UNSPECIFIED - Power source unknown / not determined. */
222
+ POWER_SOURCE_UNSPECIFIED = 0,
223
+ /** POWER_SOURCE_SINGLE_BATTERY - A single battery. */
224
+ POWER_SOURCE_SINGLE_BATTERY = 1,
225
+ /** POWER_SOURCE_PARALLEL_BATTERIES - Two batteries running in parallel (e.g. X7). */
226
+ POWER_SOURCE_PARALLEL_BATTERIES = 2,
227
+ UNRECOGNIZED = -1
228
+ }
229
+ export declare function powerSourceFromJSON(object: any): PowerSource;
230
+ export declare function powerSourceToJSON(object: PowerSource): string;
211
231
  /** Available camera resolutions. */
212
232
  export declare enum Resolution {
213
233
  /** RESOLUTION_UNSPECIFIED - Resolution not specified. */
@@ -346,6 +366,8 @@ export declare enum FontSize {
346
366
  FONT_SIZE_PX35 = 5,
347
367
  /** FONT_SIZE_PX40 - 40 px. */
348
368
  FONT_SIZE_PX40 = 6,
369
+ /** FONT_SIZE_PX50 - 50 px. */
370
+ FONT_SIZE_PX50 = 7,
349
371
  UNRECOGNIZED = -1
350
372
  }
351
373
  export declare function fontSizeFromJSON(object: any): FontSize;
@@ -448,6 +470,8 @@ export declare enum GuestPortDeviceID {
448
470
  GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 = 46,
449
471
  /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT - Cerulean Omniscan 450 Compact. */
450
472
  GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT = 47,
473
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_SCALING_LASER - Blueye Scaling Laser. */
474
+ GUEST_PORT_DEVICE_ID_BLUEYE_SCALING_LASER = 48,
451
475
  UNRECOGNIZED = -1
452
476
  }
453
477
  export declare function guestPortDeviceIDFromJSON(object: any): GuestPortDeviceID;
@@ -462,6 +486,12 @@ export declare enum GuestPortNumber {
462
486
  GUEST_PORT_NUMBER_PORT_2 = 2,
463
487
  /** GUEST_PORT_NUMBER_PORT_3 - Guest port 3. */
464
488
  GUEST_PORT_NUMBER_PORT_3 = 3,
489
+ /** GUEST_PORT_NUMBER_PORT_4 - Guest port 4. */
490
+ GUEST_PORT_NUMBER_PORT_4 = 4,
491
+ /** GUEST_PORT_NUMBER_PORT_5 - Guest port 5. */
492
+ GUEST_PORT_NUMBER_PORT_5 = 5,
493
+ /** GUEST_PORT_NUMBER_PORT_6 - Guest port 6. */
494
+ GUEST_PORT_NUMBER_PORT_6 = 6,
465
495
  UNRECOGNIZED = -1
466
496
  }
467
497
  export declare function guestPortNumberFromJSON(object: any): GuestPortNumber;
@@ -541,6 +571,22 @@ export declare enum ThermalZoneId {
541
571
  THERMAL_ZONE_ID_TJ = 1,
542
572
  /** THERMAL_ZONE_ID_CANISTER - Canister temperature. */
543
573
  THERMAL_ZONE_ID_CANISTER = 2,
574
+ /** THERMAL_ZONE_ID_CPU - CPU thermal zone. */
575
+ THERMAL_ZONE_ID_CPU = 3,
576
+ /** THERMAL_ZONE_ID_GPU - GPU thermal zone. */
577
+ THERMAL_ZONE_ID_GPU = 4,
578
+ /** THERMAL_ZONE_ID_CV0 - Vision accelerator 0 thermal zone. */
579
+ THERMAL_ZONE_ID_CV0 = 5,
580
+ /** THERMAL_ZONE_ID_CV1 - Vision accelerator 1 thermal zone. */
581
+ THERMAL_ZONE_ID_CV1 = 6,
582
+ /** THERMAL_ZONE_ID_CV2 - Vision accelerator 2 thermal zone. */
583
+ THERMAL_ZONE_ID_CV2 = 7,
584
+ /** THERMAL_ZONE_ID_SOC0 - SoC 0 thermal zone. */
585
+ THERMAL_ZONE_ID_SOC0 = 8,
586
+ /** THERMAL_ZONE_ID_SOC1 - SoC 1 thermal zone. */
587
+ THERMAL_ZONE_ID_SOC1 = 9,
588
+ /** THERMAL_ZONE_ID_SOC2 - SoC 2 thermal zone. */
589
+ THERMAL_ZONE_ID_SOC2 = 10,
544
590
  UNRECOGNIZED = -1
545
591
  }
546
592
  export declare function thermalZoneIdFromJSON(object: any): ThermalZoneId;
@@ -678,6 +724,46 @@ export interface Lights {
678
724
  export interface Laser {
679
725
  /** Laser intensity, any value above 0 turns the laser on (0..1). */
680
726
  value: number;
727
+ /** Modulate the laser at 5Hz for tracking. Only available on Ultra. */
728
+ modulated: boolean;
729
+ }
730
+ /** Point in 2D space. */
731
+ export interface Point2D {
732
+ /** X coordinate of the point (px). */
733
+ x: number;
734
+ /** Y coordinate of the point (px). */
735
+ y: number;
736
+ }
737
+ /**
738
+ * Message representing the detection of scaling lasers in the main camera.
739
+ *
740
+ * The message contains the centroids of the detected dots, the distance between them in pixels,
741
+ * and the confidence of the detection. The dots are detected through temporal DFT analysis of
742
+ * 5 Hz laser modulation, isolating flickering pixels from the static scene background.
743
+ *
744
+ * Only available on Ultra.
745
+ */
746
+ export interface LaserDetection {
747
+ /** True if the laser is detected by the drone. */
748
+ detected: boolean;
749
+ /** First dot centroid (leftmost). */
750
+ dot1: Point2D | undefined;
751
+ /** Second dot centroid (rightmost). */
752
+ dot2: Point2D | undefined;
753
+ /** Distance between dots in pixels. */
754
+ pixelDistance: number;
755
+ /** Confidence of the detection (0..1). */
756
+ confidence: number;
757
+ /** Source frame width. */
758
+ imageWidth: number;
759
+ /** Source frame height. */
760
+ imageHeight: number;
761
+ /** Real world distance between the two laser dots (m). */
762
+ laserWidth: number;
763
+ /** Distance after lens undistortion (px). */
764
+ correctedPixelDistance: number;
765
+ /** Estimated subject distance (m). */
766
+ estimatedDistance: number;
681
767
  }
682
768
  /** Latitude and longitude position in WGS 84 decimal degrees format. */
683
769
  export interface LatLongPosition {
@@ -1437,6 +1523,31 @@ export interface TiltVelocity {
1437
1523
  /**
1438
1524
  * Information about the drone.
1439
1525
  *
1526
+ * Information about a loaded computer vision model.
1527
+ */
1528
+ export interface CvModelInfo {
1529
+ /** Human-readable model name (from model_meta.json). */
1530
+ name: string;
1531
+ /** Type of CV model. */
1532
+ type: CvModelInfo_ModelType;
1533
+ /** Whether the model is currently running. */
1534
+ running: boolean;
1535
+ /** Execution provider (e.g. "cuda", "tensorrt"). */
1536
+ device: string;
1537
+ /** Package directory name (e.g. "tinyyolov2_package"). Stable identifier. */
1538
+ packageId: string;
1539
+ /** Class names the model can detect (indexed by class_id). */
1540
+ labels: string[];
1541
+ }
1542
+ export declare enum CvModelInfo_ModelType {
1543
+ MODEL_TYPE_UNSPECIFIED = 0,
1544
+ MODEL_TYPE_DETECTION = 1,
1545
+ MODEL_TYPE_SOT = 2,
1546
+ UNRECOGNIZED = -1
1547
+ }
1548
+ export declare function cvModelInfo_ModelTypeFromJSON(object: any): CvModelInfo_ModelType;
1549
+ export declare function cvModelInfo_ModelTypeToJSON(object: CvModelInfo_ModelType): string;
1550
+ /**
1440
1551
  * This message contains serial numbers and version information for
1441
1552
  * internal components in the drone. Primarily used for diagnostics, or to
1442
1553
  * determine the origin of a logfile.
@@ -1464,6 +1575,10 @@ export interface DroneInfo {
1464
1575
  gp: GuestPortInfo | undefined;
1465
1576
  /** Type of depth sensor that is connected to the drone. */
1466
1577
  depthSensor: PressureSensorType;
1578
+ /** List of loaded computer vision models. */
1579
+ cvModels: CvModelInfo[];
1580
+ /** How the drone is powered. */
1581
+ powerSource: PowerSource;
1467
1582
  }
1468
1583
  /** Known error states for the drone. */
1469
1584
  export interface ErrorFlags {
@@ -1489,30 +1604,60 @@ export interface ErrorFlags {
1489
1604
  gp2Read: boolean;
1490
1605
  /** Guest port 3 read error. */
1491
1606
  gp3Read: boolean;
1607
+ /** Guest port 4 read error. */
1608
+ gp4Read: boolean;
1609
+ /** Guest port 5 read error. */
1610
+ gp5Read: boolean;
1611
+ /** Guest port 6 read error. */
1612
+ gp6Read: boolean;
1492
1613
  /** Guest port 1 not flashed. */
1493
1614
  gp1NotFlashed: boolean;
1494
1615
  /** Guest port 2 not flashed. */
1495
1616
  gp2NotFlashed: boolean;
1496
1617
  /** Guest port 3 not flashed. */
1497
1618
  gp3NotFlashed: boolean;
1619
+ /** Guest port 4 not flashed. */
1620
+ gp4NotFlashed: boolean;
1621
+ /** Guest port 5 not flashed. */
1622
+ gp5NotFlashed: boolean;
1623
+ /** Guest port 6 not flashed. */
1624
+ gp6NotFlashed: boolean;
1498
1625
  /** Unknown device on guest port 1. */
1499
1626
  gp1UnknownDevice: boolean;
1500
1627
  /** Unknown device on guest port 2. */
1501
1628
  gp2UnknownDevice: boolean;
1502
1629
  /** Unknown device on guest port 3. */
1503
1630
  gp3UnknownDevice: boolean;
1631
+ /** Unknown device on guest port 4. */
1632
+ gp4UnknownDevice: boolean;
1633
+ /** Unknown device on guest port 5. */
1634
+ gp5UnknownDevice: boolean;
1635
+ /** Unknown device on guest port 6. */
1636
+ gp6UnknownDevice: boolean;
1504
1637
  /** Guest port 1 connection error. */
1505
1638
  gp1DeviceConnection: boolean;
1506
1639
  /** Guest port 2 connection error. */
1507
1640
  gp2DeviceConnection: boolean;
1508
1641
  /** Guest port 3 connection error. */
1509
1642
  gp3DeviceConnection: boolean;
1643
+ /** Guest port 4 connection error. */
1644
+ gp4DeviceConnection: boolean;
1645
+ /** Guest port 5 connection error. */
1646
+ gp5DeviceConnection: boolean;
1647
+ /** Guest port 6 connection error. */
1648
+ gp6DeviceConnection: boolean;
1510
1649
  /** Guest port 1 device error. */
1511
1650
  gp1Device: boolean;
1512
1651
  /** Guest port 2 device error. */
1513
1652
  gp2Device: boolean;
1514
1653
  /** Guest port 3 device error. */
1515
1654
  gp3Device: boolean;
1655
+ /** Guest port 4 device error. */
1656
+ gp4Device: boolean;
1657
+ /** Guest port 5 device error. */
1658
+ gp5Device: boolean;
1659
+ /** Guest port 6 device error. */
1660
+ gp6Device: boolean;
1516
1661
  /** Drone serial number not set. */
1517
1662
  droneSerialNotSet: boolean;
1518
1663
  /** Drone serial number error. */
@@ -1543,14 +1688,44 @@ export interface ErrorFlags {
1543
1688
  gpCurrentRead: boolean;
1544
1689
  /** Max GP current exceeded. */
1545
1690
  gpCurrent: boolean;
1546
- /** Max battery current exceeded on GP1. */
1691
+ /** Max battery current exceeded on guest port 1. */
1547
1692
  gp1BatCurrent: boolean;
1548
- /** Max battery current exceeded on GP2. */
1693
+ /** Max battery current exceeded on guest port 2. */
1549
1694
  gp2BatCurrent: boolean;
1550
- /** Max battery current exceeded on GP3. */
1695
+ /** Max battery current exceeded on guest port 3. */
1551
1696
  gp3BatCurrent: boolean;
1552
- /** Max 20V current exceeded on GP. */
1553
- gp20vCurrent: boolean;
1697
+ /** Max battery current exceeded on guest port 4. */
1698
+ gp4BatCurrent: boolean;
1699
+ /** Max battery current exceeded on guest port 5. */
1700
+ gp5BatCurrent: boolean;
1701
+ /** Max battery current exceeded on guest port 6. */
1702
+ gp6BatCurrent: boolean;
1703
+ /** Max 24V current exceeded on GP. Only present on X1/X3 (not X3 Ultra or X7). */
1704
+ gp24vCurrent: boolean;
1705
+ /** Max 24V current exceeded on guest port 1. */
1706
+ gp124vCurrent: boolean;
1707
+ /** Max 24V current exceeded on guest port 2. */
1708
+ gp224vCurrent: boolean;
1709
+ /** Max 24V current exceeded on guest port 3. */
1710
+ gp324vCurrent: boolean;
1711
+ /** Max 24V current exceeded on guest port 4. */
1712
+ gp424vCurrent: boolean;
1713
+ /** Max 24V current exceeded on guest port 5. */
1714
+ gp524vCurrent: boolean;
1715
+ /** Max 24V current exceeded on guest port 6. */
1716
+ gp624vCurrent: boolean;
1717
+ /** Max 5V current exceeded on guest port 1. */
1718
+ gp15vCurrent: boolean;
1719
+ /** Max 5V current exceeded on guest port 2. */
1720
+ gp25vCurrent: boolean;
1721
+ /** Max 5V current exceeded on guest port 3. */
1722
+ gp35vCurrent: boolean;
1723
+ /** Max 5V current exceeded on guest port 4. */
1724
+ gp45vCurrent: boolean;
1725
+ /** Max 5V current exceeded on guest port 5. */
1726
+ gp55vCurrent: boolean;
1727
+ /** Max 5V current exceeded on guest port 6. */
1728
+ gp65vCurrent: boolean;
1554
1729
  /** DVL is in thermal protection mode. */
1555
1730
  dvlThermalProtectionMode: boolean;
1556
1731
  /** GP protection has been triggered at boot or faulty DVL. */
@@ -1733,6 +1908,12 @@ export interface GuestPortInfo {
1733
1908
  gp2: GuestPortConnectorInfo | undefined;
1734
1909
  /** Information about guest port 3. */
1735
1910
  gp3: GuestPortConnectorInfo | undefined;
1911
+ /** Information about guest port 4. */
1912
+ gp4: GuestPortConnectorInfo | undefined;
1913
+ /** Information about guest port 5. */
1914
+ gp5: GuestPortConnectorInfo | undefined;
1915
+ /** Information about guest port 6. */
1916
+ gp6: GuestPortConnectorInfo | undefined;
1736
1917
  }
1737
1918
  /** GuestPort restart information. */
1738
1919
  export interface GuestPortRestartInfo {
@@ -1777,8 +1958,38 @@ export interface GuestPortCurrent {
1777
1958
  gp2Bat: number;
1778
1959
  /** Current on GP3 battery voltage (A). */
1779
1960
  gp3Bat: number;
1780
- /** Current on common 20V supply (A). */
1781
- gp20v: number;
1961
+ /** Current on common/input 24V supply (A). Only present on X1/X3 (not X3 Ultra or X7). */
1962
+ gp24v: number;
1963
+ /** Current on GP4 battery voltage (A). */
1964
+ gp4Bat: number;
1965
+ /** Current on GP5 battery voltage (A). */
1966
+ gp5Bat: number;
1967
+ /** Current on GP6 battery voltage (A). */
1968
+ gp6Bat: number;
1969
+ /** Current on GP1 24V supply (A). */
1970
+ gp124v: number;
1971
+ /** Current on GP2 24V supply (A). */
1972
+ gp224v: number;
1973
+ /** Current on GP3 24V supply (A). */
1974
+ gp324v: number;
1975
+ /** Current on GP4 24V supply (A). */
1976
+ gp424v: number;
1977
+ /** Current on GP5 24V supply (A). */
1978
+ gp524v: number;
1979
+ /** Current on GP6 24V supply (A). */
1980
+ gp624v: number;
1981
+ /** Current on GP1 5V supply (A). */
1982
+ gp15v: number;
1983
+ /** Current on GP2 5V supply (A). */
1984
+ gp25v: number;
1985
+ /** Current on GP3 5V supply (A). */
1986
+ gp35v: number;
1987
+ /** Current on GP4 5V supply (A). */
1988
+ gp45v: number;
1989
+ /** Current on GP5 5V supply (A). */
1990
+ gp55v: number;
1991
+ /** Current on GP6 5V supply (A). */
1992
+ gp65v: number;
1782
1993
  }
1783
1994
  /** Vector with 3 elements. */
1784
1995
  export interface Vector3 {
@@ -2079,13 +2290,78 @@ export interface VideoCodecInfo {
2079
2290
  vpuCodecIrqCount: number;
2080
2291
  /** Cumulative VPU_JPG_IRQ count. */
2081
2292
  vpuJpgIrqCount: number;
2293
+ /** Jetson only (host1x actmon engine utilization, 0..1). */
2294
+ encoderLoad: number;
2295
+ /** Video decoder (NVDEC) utilization (0..1). */
2296
+ decoderLoad: number;
2297
+ /** JPEG engine (NVJPG) utilization (0..1). */
2298
+ nvjpgLoad: number;
2299
+ /** Video Image Compositor (VIC) utilization (0..1). */
2300
+ vicLoad: number;
2301
+ }
2302
+ /**
2303
+ * NVMe SSD health, wear and identity (Jetson only; i.MX drones boot/store on
2304
+ * an SD card and have no NVMe device, so this message is omitted there).
2305
+ */
2306
+ export interface NvmeInfo {
2307
+ /** Tier 1 — health & safety. */
2308
+ compositeTemperature: number;
2309
+ /** NVMe critical-warning bitfield. */
2310
+ criticalWarning: number;
2311
+ /** Wear indicator (%, may exceed 100). */
2312
+ percentageUsed: number;
2313
+ /** Remaining spare capacity (%). */
2314
+ availableSpare: number;
2315
+ /** Spare alarm threshold (%). */
2316
+ availableSpareThreshold: number;
2317
+ /** Uncorrected data-integrity errors. */
2318
+ mediaErrors: number;
2319
+ /** Power-loss / unsafe shutdown count. */
2320
+ unsafeShutdowns: number;
2321
+ /** Tier 2 — thermal throttling. */
2322
+ warningTempTimeMin: number;
2323
+ /** Minutes above the critical temperature. */
2324
+ criticalTempTimeMin: number;
2325
+ /** Times entered light throttling. */
2326
+ thermalMgmtT1TransCount: number;
2327
+ /** Times entered heavy throttling. */
2328
+ thermalMgmtT2TransCount: number;
2329
+ /** Total seconds in light throttling. */
2330
+ thermalMgmtT1TotalTimeS: number;
2331
+ /** Total seconds in heavy throttling. */
2332
+ thermalMgmtT2TotalTimeS: number;
2333
+ /** Tier 3 — endurance / workload. */
2334
+ dataUnitsWrittenBytes: number;
2335
+ /** Host data read (B). */
2336
+ dataUnitsReadBytes: number;
2337
+ /** Host write command count. */
2338
+ hostWriteCommands: number;
2339
+ /** Host read command count. */
2340
+ hostReadCommands: number;
2341
+ /** Power-on hours. */
2342
+ powerOnHours: number;
2343
+ /** Power cycle count. */
2344
+ powerCycles: number;
2345
+ /** Controller busy time (min). */
2346
+ controllerBusyTimeMin: number;
2347
+ /** Error-log entry count. */
2348
+ numErrLogEntries: number;
2349
+ /** Tier 4 — identity & capacity. */
2350
+ model: string;
2351
+ /** Drive serial number. */
2352
+ serial: string;
2353
+ /** Firmware revision. */
2354
+ firmwareRev: string;
2355
+ /** Total drive capacity (B). Partition used/free is */
2356
+ capacityBytes: number;
2082
2357
  }
2083
2358
  /**
2084
2359
  * System performance information.
2085
2360
  *
2086
2361
  * Comprehensive performance metrics for the drone's compute platform.
2087
- * Covers CPU, GPU, DLA, memory, thermals, and video codec utilization.
2088
- * Fields not applicable to a platform are left at their zero/empty defaults.
2362
+ * Covers CPU, GPU, DLA, memory, thermals, video codec utilization and NVMe
2363
+ * SSD state. Fields not applicable to a platform are left at their
2364
+ * zero/empty defaults.
2089
2365
  */
2090
2366
  export interface SystemPerformanceInfo {
2091
2367
  /** Per-core CPU utilization. */
@@ -2114,6 +2390,8 @@ export interface SystemPerformanceInfo {
2114
2390
  overlayQueueLoad: number;
2115
2391
  /** Position observer queue load (0..1). */
2116
2392
  positionObserverQueueLoad: number;
2393
+ /** NVMe SSD health/identity (Jetson only). */
2394
+ nvme: NvmeInfo | undefined;
2117
2395
  }
2118
2396
  /**
2119
2397
  * Surface Unit battery information.
@@ -2162,6 +2440,22 @@ export interface BoundingBox {
2162
2440
  /** Height of the bounding box (px). */
2163
2441
  height: number;
2164
2442
  }
2443
+ /**
2444
+ * RLE-encoded binary segmentation mask relative to the bounding box.
2445
+ *
2446
+ * The mask bitmap has dimensions (mask_width x mask_height) covering the
2447
+ * detection's bounding box area. The counts field stores run-length encoded
2448
+ * data as packed uint16 little-endian: alternating background/foreground
2449
+ * pixel runs starting with background.
2450
+ */
2451
+ export interface SegmentationMask {
2452
+ /** Width of the RLE bitmap. */
2453
+ maskWidth: number;
2454
+ /** Height of the RLE bitmap. */
2455
+ maskHeight: number;
2456
+ /** RLE counts as packed uint16 little-endian. */
2457
+ counts: Uint8Array;
2458
+ }
2165
2459
  /** A single object detection from a computer vision model. */
2166
2460
  export interface ObjectDetection {
2167
2461
  /** Bounding box of the detected object. */
@@ -2174,13 +2468,21 @@ export interface ObjectDetection {
2174
2468
  className: string;
2175
2469
  /** Unique ID for tracking the same object across frames. */
2176
2470
  trackingId: number;
2471
+ /** Instance segmentation mask (absent if model has no segmentation). */
2472
+ mask: SegmentationMask | undefined;
2177
2473
  }
2178
- /** A list of object detections from a single video frame. */
2179
- export interface ObjectDetections {
2474
+ /** A list of object detections from a single model for a single video frame. */
2475
+ export interface ModelDetections {
2180
2476
  /** List of detections in the frame. */
2181
2477
  detections: ObjectDetection[];
2182
2478
  /** Which camera the detections are from. */
2183
2479
  camera: Camera;
2480
+ /** Width of the source image (px). */
2481
+ imageWidth: number;
2482
+ /** Height of the source image (px). */
2483
+ imageHeight: number;
2484
+ /** Name of the computer vision model that produced the detections. */
2485
+ modelName: string;
2184
2486
  }
2185
2487
  /** Generic filter settings. */
2186
2488
  export interface FilterMessage {
@@ -2214,6 +2516,31 @@ export interface OperatorInfo {
2214
2516
  /** E-mail address of the operator. */
2215
2517
  email: string;
2216
2518
  }
2519
+ /** Single-object tracking (SOT) state reported by the computer vision pipeline. */
2520
+ export interface SotState {
2521
+ /** Current tracking state. */
2522
+ state: SotState_State;
2523
+ /** Current tracked bounding box (valid when TRACKING). */
2524
+ boundingBox: BoundingBox | undefined;
2525
+ /** Width of the source frame in pixels. */
2526
+ imageWidth: number;
2527
+ /** Height of the source frame in pixels. */
2528
+ imageHeight: number;
2529
+ }
2530
+ /** Current state of the SOT tracker. */
2531
+ export declare enum SotState_State {
2532
+ /** STATE_UNSPECIFIED - Unspecified state. */
2533
+ STATE_UNSPECIFIED = 0,
2534
+ /** STATE_IDLE - No target selected, waiting for a target bounding box. */
2535
+ STATE_IDLE = 1,
2536
+ /** STATE_TRACKING - Actively tracking a target. */
2537
+ STATE_TRACKING = 2,
2538
+ /** STATE_LOST - Target was lost (tracker failed to follow the object). */
2539
+ STATE_LOST = 3,
2540
+ UNRECOGNIZED = -1
2541
+ }
2542
+ export declare function sotState_StateFromJSON(object: any): SotState_State;
2543
+ export declare function sotState_StateToJSON(object: SotState_State): string;
2217
2544
  export declare const BinlogRecord: MessageFns<BinlogRecord>;
2218
2545
  export declare const LogEntry: MessageFns<LogEntry>;
2219
2546
  export declare const KernelLogEntry: MessageFns<KernelLogEntry>;
@@ -2221,6 +2548,8 @@ export declare const KernelLogEntry_KeyValuePair: MessageFns<KernelLogEntry_KeyV
2221
2548
  export declare const MotionInput: MessageFns<MotionInput>;
2222
2549
  export declare const Lights: MessageFns<Lights>;
2223
2550
  export declare const Laser: MessageFns<Laser>;
2551
+ export declare const Point2D: MessageFns<Point2D>;
2552
+ export declare const LaserDetection: MessageFns<LaserDetection>;
2224
2553
  export declare const LatLongPosition: MessageFns<LatLongPosition>;
2225
2554
  export declare const ConnectionDuration: MessageFns<ConnectionDuration>;
2226
2555
  export declare const AutoHeadingState: MessageFns<AutoHeadingState>;
@@ -2277,6 +2606,7 @@ export declare const IperfStatus: MessageFns<IperfStatus>;
2277
2606
  export declare const NStreamers: MessageFns<NStreamers>;
2278
2607
  export declare const TiltAngle: MessageFns<TiltAngle>;
2279
2608
  export declare const TiltVelocity: MessageFns<TiltVelocity>;
2609
+ export declare const CvModelInfo: MessageFns<CvModelInfo>;
2280
2610
  export declare const DroneInfo: MessageFns<DroneInfo>;
2281
2611
  export declare const ErrorFlags: MessageFns<ErrorFlags>;
2282
2612
  export declare const CameraParameters: MessageFns<CameraParameters>;
@@ -2309,15 +2639,18 @@ export declare const DlaInfo: MessageFns<DlaInfo>;
2309
2639
  export declare const MemoryInfo: MessageFns<MemoryInfo>;
2310
2640
  export declare const ThermalZone: MessageFns<ThermalZone>;
2311
2641
  export declare const VideoCodecInfo: MessageFns<VideoCodecInfo>;
2642
+ export declare const NvmeInfo: MessageFns<NvmeInfo>;
2312
2643
  export declare const SystemPerformanceInfo: MessageFns<SystemPerformanceInfo>;
2313
2644
  export declare const SurfaceUnitBatteryInfo: MessageFns<SurfaceUnitBatteryInfo>;
2314
2645
  export declare const SurfaceUnitVersionInfo: MessageFns<SurfaceUnitVersionInfo>;
2315
2646
  export declare const BoundingBox: MessageFns<BoundingBox>;
2647
+ export declare const SegmentationMask: MessageFns<SegmentationMask>;
2316
2648
  export declare const ObjectDetection: MessageFns<ObjectDetection>;
2317
- export declare const ObjectDetections: MessageFns<ObjectDetections>;
2649
+ export declare const ModelDetections: MessageFns<ModelDetections>;
2318
2650
  export declare const FilterMessage: MessageFns<FilterMessage>;
2319
2651
  export declare const CameraPanTiltZoom: MessageFns<CameraPanTiltZoom>;
2320
2652
  export declare const OperatorInfo: MessageFns<OperatorInfo>;
2653
+ export declare const SotState: MessageFns<SotState>;
2321
2654
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
2322
2655
  type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
2323
2656
  [K in keyof T]?: DeepPartial<T[K]>;