@blueyerobotics/protocol-definitions 3.2.0-dfb1977f → 3.2.0-dfffd4a8

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;
@@ -184,6 +186,8 @@ export declare enum Model {
184
186
  MODEL_X3 = 3,
185
187
  /** MODEL_X3_ULTRA - Blueye X3 Ultra. */
186
188
  MODEL_X3_ULTRA = 6,
189
+ /** MODEL_X7 - Blueye X7. */
190
+ MODEL_X7 = 7,
187
191
  /** MODEL_NEXT - Blueye ? */
188
192
  MODEL_NEXT = 5,
189
193
  UNRECOGNIZED = -1
@@ -206,6 +210,24 @@ export declare enum PressureSensorType {
206
210
  }
207
211
  export declare function pressureSensorTypeFromJSON(object: any): PressureSensorType;
208
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;
209
231
  /** Available camera resolutions. */
210
232
  export declare enum Resolution {
211
233
  /** RESOLUTION_UNSPECIFIED - Resolution not specified. */
@@ -218,11 +240,18 @@ export declare enum Resolution {
218
240
  RESOLUTION_FULLHD_1080P = 1,
219
241
  /** RESOLUTION_UHD_4K - 4K Ultra HD (3840x2160, Only supported on X3 Ultra). */
220
242
  RESOLUTION_UHD_4K = 3,
243
+ /** RESOLUTION_QHD_2K - 2K QHD (2560x1440, Only supported on X3 Ultra). */
244
+ RESOLUTION_QHD_2K = 5,
221
245
  UNRECOGNIZED = -1
222
246
  }
223
247
  export declare function resolutionFromJSON(object: any): Resolution;
224
248
  export declare function resolutionToJSON(object: Resolution): string;
225
- /** Available camera frame rates. */
249
+ /**
250
+ * Available camera frame rates.
251
+ *
252
+ * If the requested frame rate is higher than what is supported at the current resolution,
253
+ * the frame rate will be reduced while the resolution is respected.
254
+ */
226
255
  export declare enum Framerate {
227
256
  /** FRAMERATE_UNSPECIFIED - Framerate not specified. */
228
257
  FRAMERATE_UNSPECIFIED = 0,
@@ -230,6 +259,8 @@ export declare enum Framerate {
230
259
  FRAMERATE_FPS_30 = 1,
231
260
  /** FRAMERATE_FPS_25 - 25 frames per second. (Only supported on Pioneer/Pro/X1/X3) */
232
261
  FRAMERATE_FPS_25 = 2,
262
+ /** FRAMERATE_FPS_60 - 60 frames per second. (Only supported on X3 Ultra at QHD, 1080p and 720p) */
263
+ FRAMERATE_FPS_60 = 3,
233
264
  UNRECOGNIZED = -1
234
265
  }
235
266
  export declare function framerateFromJSON(object: any): Framerate;
@@ -257,6 +288,18 @@ export declare enum StreamingProtocol {
257
288
  }
258
289
  export declare function streamingProtocolFromJSON(object: any): StreamingProtocol;
259
290
  export declare function streamingProtocolToJSON(object: StreamingProtocol): string;
291
+ /** Recording video codec. */
292
+ export declare enum RecordingCodec {
293
+ /** RECORDING_CODEC_UNSPECIFIED - Use platform default (H.264). */
294
+ RECORDING_CODEC_UNSPECIFIED = 0,
295
+ /** RECORDING_CODEC_H264 - H.264/AVC codec. Wider compatibility with players/editors. */
296
+ RECORDING_CODEC_H264 = 1,
297
+ /** RECORDING_CODEC_H265 - H.265/HEVC codec. Better compression, limited compatibility. Ultra only. */
298
+ RECORDING_CODEC_H265 = 2,
299
+ UNRECOGNIZED = -1
300
+ }
301
+ export declare function recordingCodecFromJSON(object: any): RecordingCodec;
302
+ export declare function recordingCodecToJSON(object: RecordingCodec): string;
260
303
  /** Available temperature units. */
261
304
  export declare enum TemperatureUnit {
262
305
  /** TEMPERATURE_UNIT_UNSPECIFIED - Temperature unit not specified. */
@@ -323,6 +366,8 @@ export declare enum FontSize {
323
366
  FONT_SIZE_PX35 = 5,
324
367
  /** FONT_SIZE_PX40 - 40 px. */
325
368
  FONT_SIZE_PX40 = 6,
369
+ /** FONT_SIZE_PX50 - 50 px. */
370
+ FONT_SIZE_PX50 = 7,
326
371
  UNRECOGNIZED = -1
327
372
  }
328
373
  export declare function fontSizeFromJSON(object: any): FontSize;
@@ -425,6 +470,8 @@ export declare enum GuestPortDeviceID {
425
470
  GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 = 46,
426
471
  /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT - Cerulean Omniscan 450 Compact. */
427
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,
428
475
  UNRECOGNIZED = -1
429
476
  }
430
477
  export declare function guestPortDeviceIDFromJSON(object: any): GuestPortDeviceID;
@@ -439,6 +486,12 @@ export declare enum GuestPortNumber {
439
486
  GUEST_PORT_NUMBER_PORT_2 = 2,
440
487
  /** GUEST_PORT_NUMBER_PORT_3 - Guest port 3. */
441
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,
442
495
  UNRECOGNIZED = -1
443
496
  }
444
497
  export declare function guestPortNumberFromJSON(object: any): GuestPortNumber;
@@ -510,6 +563,34 @@ export declare enum MultibeamFrequencyMode {
510
563
  }
511
564
  export declare function multibeamFrequencyModeFromJSON(object: any): MultibeamFrequencyMode;
512
565
  export declare function multibeamFrequencyModeToJSON(object: MultibeamFrequencyMode): string;
566
+ /** Thermal zone identifiers. */
567
+ export declare enum ThermalZoneId {
568
+ /** THERMAL_ZONE_ID_UNSPECIFIED - Unspecified thermal zone. */
569
+ THERMAL_ZONE_ID_UNSPECIFIED = 0,
570
+ /** THERMAL_ZONE_ID_TJ - Junction temperature (Tj). */
571
+ THERMAL_ZONE_ID_TJ = 1,
572
+ /** THERMAL_ZONE_ID_CANISTER - Canister temperature. */
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,
590
+ UNRECOGNIZED = -1
591
+ }
592
+ export declare function thermalZoneIdFromJSON(object: any): ThermalZoneId;
593
+ export declare function thermalZoneIdToJSON(object: ThermalZoneId): string;
513
594
  /**
514
595
  * Wrapper message for each entry in the drone telemetry logfile.
515
596
  *
@@ -643,6 +724,46 @@ export interface Lights {
643
724
  export interface Laser {
644
725
  /** Laser intensity, any value above 0 turns the laser on (0..1). */
645
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;
646
767
  }
647
768
  /** Latitude and longitude position in WGS 84 decimal degrees format. */
648
769
  export interface LatLongPosition {
@@ -829,7 +950,7 @@ export interface WaterTemperature {
829
950
  /** Water temperature (°C). */
830
951
  value: number;
831
952
  }
832
- /** CPU temperature. */
953
+ /** CPU temperature (deprecated, use SystemPerformanceInfo.thermal_zones instead). */
833
954
  export interface CPUTemperature {
834
955
  /** CPU temperature (°C). */
835
956
  value: number;
@@ -1402,6 +1523,31 @@ export interface TiltVelocity {
1402
1523
  /**
1403
1524
  * Information about the drone.
1404
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
+ /**
1405
1551
  * This message contains serial numbers and version information for
1406
1552
  * internal components in the drone. Primarily used for diagnostics, or to
1407
1553
  * determine the origin of a logfile.
@@ -1429,6 +1575,10 @@ export interface DroneInfo {
1429
1575
  gp: GuestPortInfo | undefined;
1430
1576
  /** Type of depth sensor that is connected to the drone. */
1431
1577
  depthSensor: PressureSensorType;
1578
+ /** List of loaded computer vision models. */
1579
+ cvModels: CvModelInfo[];
1580
+ /** How the drone is powered. */
1581
+ powerSource: PowerSource;
1432
1582
  }
1433
1583
  /** Known error states for the drone. */
1434
1584
  export interface ErrorFlags {
@@ -1454,30 +1604,60 @@ export interface ErrorFlags {
1454
1604
  gp2Read: boolean;
1455
1605
  /** Guest port 3 read error. */
1456
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;
1457
1613
  /** Guest port 1 not flashed. */
1458
1614
  gp1NotFlashed: boolean;
1459
1615
  /** Guest port 2 not flashed. */
1460
1616
  gp2NotFlashed: boolean;
1461
1617
  /** Guest port 3 not flashed. */
1462
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;
1463
1625
  /** Unknown device on guest port 1. */
1464
1626
  gp1UnknownDevice: boolean;
1465
1627
  /** Unknown device on guest port 2. */
1466
1628
  gp2UnknownDevice: boolean;
1467
1629
  /** Unknown device on guest port 3. */
1468
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;
1469
1637
  /** Guest port 1 connection error. */
1470
1638
  gp1DeviceConnection: boolean;
1471
1639
  /** Guest port 2 connection error. */
1472
1640
  gp2DeviceConnection: boolean;
1473
1641
  /** Guest port 3 connection error. */
1474
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;
1475
1649
  /** Guest port 1 device error. */
1476
1650
  gp1Device: boolean;
1477
1651
  /** Guest port 2 device error. */
1478
1652
  gp2Device: boolean;
1479
1653
  /** Guest port 3 device error. */
1480
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;
1481
1661
  /** Drone serial number not set. */
1482
1662
  droneSerialNotSet: boolean;
1483
1663
  /** Drone serial number error. */
@@ -1508,14 +1688,44 @@ export interface ErrorFlags {
1508
1688
  gpCurrentRead: boolean;
1509
1689
  /** Max GP current exceeded. */
1510
1690
  gpCurrent: boolean;
1511
- /** Max battery current exceeded on GP1. */
1691
+ /** Max battery current exceeded on guest port 1. */
1512
1692
  gp1BatCurrent: boolean;
1513
- /** Max battery current exceeded on GP2. */
1693
+ /** Max battery current exceeded on guest port 2. */
1514
1694
  gp2BatCurrent: boolean;
1515
- /** Max battery current exceeded on GP3. */
1695
+ /** Max battery current exceeded on guest port 3. */
1516
1696
  gp3BatCurrent: boolean;
1517
- /** Max 20V current exceeded on GP. */
1518
- 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;
1519
1729
  /** DVL is in thermal protection mode. */
1520
1730
  dvlThermalProtectionMode: boolean;
1521
1731
  /** GP protection has been triggered at boot or faulty DVL. */
@@ -1579,6 +1789,13 @@ export interface CameraParameters {
1579
1789
  * The Blueye App allows users to set values between 500 and 1460.
1580
1790
  */
1581
1791
  mtuSize: number;
1792
+ /** Recording video codec. If unset, uses platform default. */
1793
+ recordingCodec: RecordingCodec;
1794
+ /**
1795
+ * Recording bitrate in bits/sec. If 0 or unset, a default is computed based
1796
+ * on resolution, framerate, and encoding. Set explicitly to override.
1797
+ */
1798
+ recordingBitrate: number;
1582
1799
  }
1583
1800
  /**
1584
1801
  * Overlay parameters.
@@ -1691,6 +1908,12 @@ export interface GuestPortInfo {
1691
1908
  gp2: GuestPortConnectorInfo | undefined;
1692
1909
  /** Information about guest port 3. */
1693
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;
1694
1917
  }
1695
1918
  /** GuestPort restart information. */
1696
1919
  export interface GuestPortRestartInfo {
@@ -1735,8 +1958,38 @@ export interface GuestPortCurrent {
1735
1958
  gp2Bat: number;
1736
1959
  /** Current on GP3 battery voltage (A). */
1737
1960
  gp3Bat: number;
1738
- /** Current on common 20V supply (A). */
1739
- 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;
1740
1993
  }
1741
1994
  /** Vector with 3 elements. */
1742
1995
  export interface Vector3 {
@@ -1944,7 +2197,7 @@ export interface PersistentStorageSettings {
1944
2197
  accCalibration: boolean;
1945
2198
  }
1946
2199
  /**
1947
- * CPU information.
2200
+ * CPU information (deprecated, use SystemPerformanceInfo instead).
1948
2201
  *
1949
2202
  * Contains information about the CPU load and memory usage of the drone.
1950
2203
  */
@@ -1960,6 +2213,127 @@ export interface CPUInfo {
1960
2213
  /** Communication queue load (0..1). */
1961
2214
  commQueueLoad: number;
1962
2215
  }
2216
+ /** Per-core CPU utilization. */
2217
+ export interface CpuCoreLoad {
2218
+ /** Core index (0-based). */
2219
+ coreIndex: number;
2220
+ /** Core load (0..1). */
2221
+ load: number;
2222
+ /** Current clock frequency (MHz). */
2223
+ frequencyMhz: number;
2224
+ }
2225
+ /** GPU utilization and status. */
2226
+ export interface GpuInfo {
2227
+ /** GPU load (0..1). */
2228
+ load: number;
2229
+ /** Current GPU clock frequency (MHz). */
2230
+ frequencyMhz: number;
2231
+ }
2232
+ /**
2233
+ * Deep Learning Accelerator (DLA) utilization.
2234
+ *
2235
+ * Jetson Orin NX has two DLA engines used for inference offload.
2236
+ */
2237
+ export interface DlaInfo {
2238
+ /** DLA engine index (0-based). */
2239
+ engineIndex: number;
2240
+ /** DLA engine load (0..1). */
2241
+ load: number;
2242
+ /** Core clock frequency (MHz). 0 when disabled. */
2243
+ frequencyMhz: number;
2244
+ /** True when the DLA engine is actively processing. */
2245
+ enabled: boolean;
2246
+ /** Falcon microcontroller clock frequency (MHz). 0 when disabled. */
2247
+ falconFrequencyMhz: number;
2248
+ }
2249
+ /** System memory information. */
2250
+ export interface MemoryInfo {
2251
+ /** Total RAM (bytes). */
2252
+ totalBytes: number;
2253
+ /** Used RAM (bytes). */
2254
+ usedBytes: number;
2255
+ /** Cached RAM (bytes). */
2256
+ cachedBytes: number;
2257
+ /** Memory bus utilization (0..1). i.MX only. */
2258
+ busLoad: number;
2259
+ }
2260
+ /** Thermal zone reading. */
2261
+ export interface ThermalZone {
2262
+ /** Thermal zone identifier. */
2263
+ zone: ThermalZoneId;
2264
+ /** Temperature (°C). */
2265
+ temperature: number;
2266
+ }
2267
+ /** Video codec engine status. */
2268
+ export interface VideoCodecInfo {
2269
+ /** Jetson only (NVENC/NVDEC/NVJPG/VIC devfreq). */
2270
+ encoderActive: boolean;
2271
+ /** Video encoder clock frequency (MHz). */
2272
+ encoderFrequencyMhz: number;
2273
+ /** Video decoder (NVDEC) is active. */
2274
+ decoderActive: boolean;
2275
+ /** Video decoder clock frequency (MHz). */
2276
+ decoderFrequencyMhz: number;
2277
+ /** JPEG engine (NVJPG) is active. */
2278
+ nvjpgActive: boolean;
2279
+ /** JPEG engine clock frequency (MHz). */
2280
+ nvjpgFrequencyMhz: number;
2281
+ /** Video Image Compositor (VIC) is active. */
2282
+ vicActive: boolean;
2283
+ /** VIC clock frequency (MHz). */
2284
+ vicFrequencyMhz: number;
2285
+ /** i.MX only (CODA VPU). */
2286
+ vpuActive: boolean;
2287
+ /** VPU AXI clock frequency (MHz). */
2288
+ vpuFrequencyMhz: number;
2289
+ /** Cumulative VPU_CODEC_IRQ count. */
2290
+ vpuCodecIrqCount: number;
2291
+ /** Cumulative VPU_JPG_IRQ count. */
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
+ * System performance information.
2304
+ *
2305
+ * Comprehensive performance metrics for the drone's compute platform.
2306
+ * Covers CPU, GPU, DLA, memory, thermals, and video codec utilization.
2307
+ * Fields not applicable to a platform are left at their zero/empty defaults.
2308
+ */
2309
+ export interface SystemPerformanceInfo {
2310
+ /** Per-core CPU utilization. */
2311
+ cpuCores: CpuCoreLoad[];
2312
+ /** Mean CPU utilization across all cores (0..1). */
2313
+ cpuUtilization: number;
2314
+ /** GPU utilization. */
2315
+ gpu: GpuInfo | undefined;
2316
+ /** DLA engine utilization (Jetson only). */
2317
+ dlaEngines: DlaInfo[];
2318
+ /** RAM usage. */
2319
+ memory: MemoryInfo | undefined;
2320
+ /** All thermal zone readings. */
2321
+ thermalZones: ThermalZone[];
2322
+ /** Video encoder/decoder status. */
2323
+ videoCodec: VideoCodecInfo | undefined;
2324
+ /** Main queue load (0..1). */
2325
+ mainQueueLoad: number;
2326
+ /** Guestport queue load (0..1). */
2327
+ guestportQueueLoad: number;
2328
+ /** Communication queue load (0..1). */
2329
+ commQueueLoad: number;
2330
+ /** Camera queue load (0..1). */
2331
+ cameraQueueLoad: number;
2332
+ /** Overlay queue load (0..1). */
2333
+ overlayQueueLoad: number;
2334
+ /** Position observer queue load (0..1). */
2335
+ positionObserverQueueLoad: number;
2336
+ }
1963
2337
  /**
1964
2338
  * Surface Unit battery information.
1965
2339
  *
@@ -1991,6 +2365,66 @@ export interface SurfaceUnitVersionInfo {
1991
2365
  /** Surface Unit firmware version (x.y.z). */
1992
2366
  version: string;
1993
2367
  }
2368
+ /**
2369
+ * Bounding box for object detection.
2370
+ *
2371
+ * Coordinates are in pixels relative to the camera image,
2372
+ * where (x, y) is the top-left corner of the bounding box.
2373
+ */
2374
+ export interface BoundingBox {
2375
+ /** Horizontal offset of the top-left corner (px). */
2376
+ x: number;
2377
+ /** Vertical offset of the top-left corner (px). */
2378
+ y: number;
2379
+ /** Width of the bounding box (px). */
2380
+ width: number;
2381
+ /** Height of the bounding box (px). */
2382
+ height: number;
2383
+ }
2384
+ /**
2385
+ * RLE-encoded binary segmentation mask relative to the bounding box.
2386
+ *
2387
+ * The mask bitmap has dimensions (mask_width x mask_height) covering the
2388
+ * detection's bounding box area. The counts field stores run-length encoded
2389
+ * data as packed uint16 little-endian: alternating background/foreground
2390
+ * pixel runs starting with background.
2391
+ */
2392
+ export interface SegmentationMask {
2393
+ /** Width of the RLE bitmap. */
2394
+ maskWidth: number;
2395
+ /** Height of the RLE bitmap. */
2396
+ maskHeight: number;
2397
+ /** RLE counts as packed uint16 little-endian. */
2398
+ counts: Uint8Array;
2399
+ }
2400
+ /** A single object detection from a computer vision model. */
2401
+ export interface ObjectDetection {
2402
+ /** Bounding box of the detected object. */
2403
+ boundingBox: BoundingBox | undefined;
2404
+ /** Detection confidence score (0..1). */
2405
+ confidence: number;
2406
+ /** Numeric class identifier from the model. */
2407
+ classId: number;
2408
+ /** Human-readable class name. */
2409
+ className: string;
2410
+ /** Unique ID for tracking the same object across frames. */
2411
+ trackingId: number;
2412
+ /** Instance segmentation mask (absent if model has no segmentation). */
2413
+ mask: SegmentationMask | undefined;
2414
+ }
2415
+ /** A list of object detections from a single model for a single video frame. */
2416
+ export interface ModelDetections {
2417
+ /** List of detections in the frame. */
2418
+ detections: ObjectDetection[];
2419
+ /** Which camera the detections are from. */
2420
+ camera: Camera;
2421
+ /** Width of the source image (px). */
2422
+ imageWidth: number;
2423
+ /** Height of the source image (px). */
2424
+ imageHeight: number;
2425
+ /** Name of the computer vision model that produced the detections. */
2426
+ modelName: string;
2427
+ }
1994
2428
  /** Generic filter settings. */
1995
2429
  export interface FilterMessage {
1996
2430
  /** If the filter is enabled. */
@@ -1998,6 +2432,56 @@ export interface FilterMessage {
1998
2432
  /** Intensity of the filter (0..1). */
1999
2433
  intensity: number;
2000
2434
  }
2435
+ /**
2436
+ * Digital pan, tilt, and zoom state for the main camera.
2437
+ *
2438
+ * Only supported on X3 Ultra. Controls digital (not mechanical) zoom.
2439
+ */
2440
+ export interface CameraPanTiltZoom {
2441
+ /** Horizontal pan (-1.0..1.0), where 0.0 is center. */
2442
+ pan: number;
2443
+ /** Vertical tilt (-1.0..1.0), where 0.0 is center. */
2444
+ tilt: number;
2445
+ /** Zoom level (0.0..1.0), where 0.0 is no zoom and 1.0 is maximum zoom. */
2446
+ zoom: number;
2447
+ }
2448
+ /**
2449
+ * Information about the operator controlling the drone.
2450
+ *
2451
+ * Used to identify who started a dive, for reporting and when importing
2452
+ * dives to Blueye Cloud.
2453
+ */
2454
+ export interface OperatorInfo {
2455
+ /** Full name of the operator. */
2456
+ name: string;
2457
+ /** E-mail address of the operator. */
2458
+ email: string;
2459
+ }
2460
+ /** Single-object tracking (SOT) state reported by the computer vision pipeline. */
2461
+ export interface SotState {
2462
+ /** Current tracking state. */
2463
+ state: SotState_State;
2464
+ /** Current tracked bounding box (valid when TRACKING). */
2465
+ boundingBox: BoundingBox | undefined;
2466
+ /** Width of the source frame in pixels. */
2467
+ imageWidth: number;
2468
+ /** Height of the source frame in pixels. */
2469
+ imageHeight: number;
2470
+ }
2471
+ /** Current state of the SOT tracker. */
2472
+ export declare enum SotState_State {
2473
+ /** STATE_UNSPECIFIED - Unspecified state. */
2474
+ STATE_UNSPECIFIED = 0,
2475
+ /** STATE_IDLE - No target selected, waiting for a target bounding box. */
2476
+ STATE_IDLE = 1,
2477
+ /** STATE_TRACKING - Actively tracking a target. */
2478
+ STATE_TRACKING = 2,
2479
+ /** STATE_LOST - Target was lost (tracker failed to follow the object). */
2480
+ STATE_LOST = 3,
2481
+ UNRECOGNIZED = -1
2482
+ }
2483
+ export declare function sotState_StateFromJSON(object: any): SotState_State;
2484
+ export declare function sotState_StateToJSON(object: SotState_State): string;
2001
2485
  export declare const BinlogRecord: MessageFns<BinlogRecord>;
2002
2486
  export declare const LogEntry: MessageFns<LogEntry>;
2003
2487
  export declare const KernelLogEntry: MessageFns<KernelLogEntry>;
@@ -2005,6 +2489,8 @@ export declare const KernelLogEntry_KeyValuePair: MessageFns<KernelLogEntry_KeyV
2005
2489
  export declare const MotionInput: MessageFns<MotionInput>;
2006
2490
  export declare const Lights: MessageFns<Lights>;
2007
2491
  export declare const Laser: MessageFns<Laser>;
2492
+ export declare const Point2D: MessageFns<Point2D>;
2493
+ export declare const LaserDetection: MessageFns<LaserDetection>;
2008
2494
  export declare const LatLongPosition: MessageFns<LatLongPosition>;
2009
2495
  export declare const ConnectionDuration: MessageFns<ConnectionDuration>;
2010
2496
  export declare const AutoHeadingState: MessageFns<AutoHeadingState>;
@@ -2061,6 +2547,7 @@ export declare const IperfStatus: MessageFns<IperfStatus>;
2061
2547
  export declare const NStreamers: MessageFns<NStreamers>;
2062
2548
  export declare const TiltAngle: MessageFns<TiltAngle>;
2063
2549
  export declare const TiltVelocity: MessageFns<TiltVelocity>;
2550
+ export declare const CvModelInfo: MessageFns<CvModelInfo>;
2064
2551
  export declare const DroneInfo: MessageFns<DroneInfo>;
2065
2552
  export declare const ErrorFlags: MessageFns<ErrorFlags>;
2066
2553
  export declare const CameraParameters: MessageFns<CameraParameters>;
@@ -2087,9 +2574,23 @@ export declare const MultibeamFrameOffset: MessageFns<MultibeamFrameOffset>;
2087
2574
  export declare const MutltibeamRecordingIndex: MessageFns<MutltibeamRecordingIndex>;
2088
2575
  export declare const PersistentStorageSettings: MessageFns<PersistentStorageSettings>;
2089
2576
  export declare const CPUInfo: MessageFns<CPUInfo>;
2577
+ export declare const CpuCoreLoad: MessageFns<CpuCoreLoad>;
2578
+ export declare const GpuInfo: MessageFns<GpuInfo>;
2579
+ export declare const DlaInfo: MessageFns<DlaInfo>;
2580
+ export declare const MemoryInfo: MessageFns<MemoryInfo>;
2581
+ export declare const ThermalZone: MessageFns<ThermalZone>;
2582
+ export declare const VideoCodecInfo: MessageFns<VideoCodecInfo>;
2583
+ export declare const SystemPerformanceInfo: MessageFns<SystemPerformanceInfo>;
2090
2584
  export declare const SurfaceUnitBatteryInfo: MessageFns<SurfaceUnitBatteryInfo>;
2091
2585
  export declare const SurfaceUnitVersionInfo: MessageFns<SurfaceUnitVersionInfo>;
2586
+ export declare const BoundingBox: MessageFns<BoundingBox>;
2587
+ export declare const SegmentationMask: MessageFns<SegmentationMask>;
2588
+ export declare const ObjectDetection: MessageFns<ObjectDetection>;
2589
+ export declare const ModelDetections: MessageFns<ModelDetections>;
2092
2590
  export declare const FilterMessage: MessageFns<FilterMessage>;
2591
+ export declare const CameraPanTiltZoom: MessageFns<CameraPanTiltZoom>;
2592
+ export declare const OperatorInfo: MessageFns<OperatorInfo>;
2593
+ export declare const SotState: MessageFns<SotState>;
2093
2594
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
2094
2595
  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 {} ? {
2095
2596
  [K in keyof T]?: DeepPartial<T[K]>;