@blueyerobotics/protocol-definitions 3.2.0-dc5787fd → 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;
@@ -154,6 +156,22 @@ export declare enum NotificationLevel {
154
156
  }
155
157
  export declare function notificationLevelFromJSON(object: any): NotificationLevel;
156
158
  export declare function notificationLevelToJSON(object: NotificationLevel): string;
159
+ /**
160
+ * Storage location.
161
+ *
162
+ * Used to specify which storage location to use for recording photos and videos.
163
+ */
164
+ export declare enum StorageLocation {
165
+ /** STORAGE_LOCATION_UNSPECIFIED - Unspecified. */
166
+ STORAGE_LOCATION_UNSPECIFIED = 0,
167
+ /** STORAGE_LOCATION_INTERNAL - Internal storage of the drone. */
168
+ STORAGE_LOCATION_INTERNAL = 1,
169
+ /** STORAGE_LOCATION_REMOVABLE - Removable storage device. */
170
+ STORAGE_LOCATION_REMOVABLE = 2,
171
+ UNRECOGNIZED = -1
172
+ }
173
+ export declare function storageLocationFromJSON(object: any): StorageLocation;
174
+ export declare function storageLocationToJSON(object: StorageLocation): string;
157
175
  /** Drone models produced by Blueye. */
158
176
  export declare enum Model {
159
177
  /** MODEL_UNSPECIFIED - ModelName not specified. */
@@ -168,6 +186,8 @@ export declare enum Model {
168
186
  MODEL_X3 = 3,
169
187
  /** MODEL_X3_ULTRA - Blueye X3 Ultra. */
170
188
  MODEL_X3_ULTRA = 6,
189
+ /** MODEL_X7 - Blueye X7. */
190
+ MODEL_X7 = 7,
171
191
  /** MODEL_NEXT - Blueye ? */
172
192
  MODEL_NEXT = 5,
173
193
  UNRECOGNIZED = -1
@@ -190,28 +210,57 @@ export declare enum PressureSensorType {
190
210
  }
191
211
  export declare function pressureSensorTypeFromJSON(object: any): PressureSensorType;
192
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;
193
231
  /** Available camera resolutions. */
194
232
  export declare enum Resolution {
195
233
  /** RESOLUTION_UNSPECIFIED - Resolution not specified. */
196
234
  RESOLUTION_UNSPECIFIED = 0,
197
- /** RESOLUTION_FULLHD_1080P - 1080p Full HD resolution. */
198
- RESOLUTION_FULLHD_1080P = 1,
199
- /** RESOLUTION_HD_720P - 720p HD resolution. */
235
+ /** RESOLUTION_VGA_480P - VGA (640x480). */
236
+ RESOLUTION_VGA_480P = 4,
237
+ /** RESOLUTION_HD_720P - 720p HD (1280x720). */
200
238
  RESOLUTION_HD_720P = 2,
201
- /** RESOLUTION_UHD_4K - 4K Ultra HD resolution. */
239
+ /** RESOLUTION_FULLHD_1080P - 1080p Full HD (1920x1080). */
240
+ RESOLUTION_FULLHD_1080P = 1,
241
+ /** RESOLUTION_UHD_4K - 4K Ultra HD (3840x2160, Only supported on X3 Ultra). */
202
242
  RESOLUTION_UHD_4K = 3,
243
+ /** RESOLUTION_QHD_2K - 2K QHD (2560x1440, Only supported on X3 Ultra). */
244
+ RESOLUTION_QHD_2K = 5,
203
245
  UNRECOGNIZED = -1
204
246
  }
205
247
  export declare function resolutionFromJSON(object: any): Resolution;
206
248
  export declare function resolutionToJSON(object: Resolution): string;
207
- /** 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
+ */
208
255
  export declare enum Framerate {
209
256
  /** FRAMERATE_UNSPECIFIED - Framerate not specified. */
210
257
  FRAMERATE_UNSPECIFIED = 0,
211
258
  /** FRAMERATE_FPS_30 - 30 frames per second. */
212
259
  FRAMERATE_FPS_30 = 1,
213
- /** FRAMERATE_FPS_25 - 25 frames per second. */
260
+ /** FRAMERATE_FPS_25 - 25 frames per second. (Only supported on Pioneer/Pro/X1/X3) */
214
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,
215
264
  UNRECOGNIZED = -1
216
265
  }
217
266
  export declare function framerateFromJSON(object: any): Framerate;
@@ -228,6 +277,29 @@ export declare enum Camera {
228
277
  }
229
278
  export declare function cameraFromJSON(object: any): Camera;
230
279
  export declare function cameraToJSON(object: Camera): string;
280
+ export declare enum StreamingProtocol {
281
+ /** STREAMING_PROTOCOL_UNSPECIFIED - Streaming protocol not specified. */
282
+ STREAMING_PROTOCOL_UNSPECIFIED = 0,
283
+ /** STREAMING_PROTOCOL_RTSP_H264 - RTSP streaming protocol using H264 codec. */
284
+ STREAMING_PROTOCOL_RTSP_H264 = 1,
285
+ /** STREAMING_PROTOCOL_RTSP_MJPEG - RTSP streaming protocol using MJPEG codec. No recording when activated. */
286
+ STREAMING_PROTOCOL_RTSP_MJPEG = 2,
287
+ UNRECOGNIZED = -1
288
+ }
289
+ export declare function streamingProtocolFromJSON(object: any): StreamingProtocol;
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;
231
303
  /** Available temperature units. */
232
304
  export declare enum TemperatureUnit {
233
305
  /** TEMPERATURE_UNIT_UNSPECIFIED - Temperature unit not specified. */
@@ -294,6 +366,8 @@ export declare enum FontSize {
294
366
  FONT_SIZE_PX35 = 5,
295
367
  /** FONT_SIZE_PX40 - 40 px. */
296
368
  FONT_SIZE_PX40 = 6,
369
+ /** FONT_SIZE_PX50 - 50 px. */
370
+ FONT_SIZE_PX50 = 7,
297
371
  UNRECOGNIZED = -1
298
372
  }
299
373
  export declare function fontSizeFromJSON(object: any): FontSize;
@@ -390,6 +464,14 @@ export declare enum GuestPortDeviceID {
390
464
  GUEST_PORT_DEVICE_ID_WATERLINKED_SONAR_3D15 = 43,
391
465
  /** GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 - Cerulean Tracker 650. */
392
466
  GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 = 44,
467
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE - Blueye External USB Storage. */
468
+ GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE = 45,
469
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 - Blueye Multibeam Skid Servo V2. */
470
+ GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 = 46,
471
+ /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT - Cerulean Omniscan 450 Compact. */
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,
393
475
  UNRECOGNIZED = -1
394
476
  }
395
477
  export declare function guestPortDeviceIDFromJSON(object: any): GuestPortDeviceID;
@@ -404,6 +486,12 @@ export declare enum GuestPortNumber {
404
486
  GUEST_PORT_NUMBER_PORT_2 = 2,
405
487
  /** GUEST_PORT_NUMBER_PORT_3 - Guest port 3. */
406
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,
407
495
  UNRECOGNIZED = -1
408
496
  }
409
497
  export declare function guestPortNumberFromJSON(object: any): GuestPortNumber;
@@ -475,6 +563,34 @@ export declare enum MultibeamFrequencyMode {
475
563
  }
476
564
  export declare function multibeamFrequencyModeFromJSON(object: any): MultibeamFrequencyMode;
477
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;
478
594
  /**
479
595
  * Wrapper message for each entry in the drone telemetry logfile.
480
596
  *
@@ -491,6 +607,89 @@ export interface BinlogRecord {
491
607
  /** Posix CLOCK_MONOTONIC timestamp. */
492
608
  clockMonotonic: Date | undefined;
493
609
  }
610
+ /**
611
+ * Log entry
612
+ *
613
+ * Used to store ROS log entries in the bez file
614
+ */
615
+ export interface LogEntry {
616
+ /** Timestamp of the log entry. */
617
+ timestamp: Date | undefined;
618
+ /** Name of the process that generated the log entry. */
619
+ processName: string;
620
+ /** Process ID of the log entry. */
621
+ processId: number;
622
+ /** Thread ID of the log entry. */
623
+ threadId: number;
624
+ /** Source of the log entry (specific class or named logger). */
625
+ source: string;
626
+ /** Log level, info, warning, error, etc. */
627
+ level: LogEntry_LogLevel;
628
+ /** Log message. */
629
+ message: string;
630
+ }
631
+ export declare enum LogEntry_LogLevel {
632
+ /** LOG_LEVEL_UNSPECIFIED - Unspecified log level. */
633
+ LOG_LEVEL_UNSPECIFIED = 0,
634
+ /** LOG_LEVEL_TRACE - Trace log level. */
635
+ LOG_LEVEL_TRACE = 1,
636
+ /** LOG_LEVEL_DEBUG - Debug log level. */
637
+ LOG_LEVEL_DEBUG = 2,
638
+ /** LOG_LEVEL_INFO - Info log level. */
639
+ LOG_LEVEL_INFO = 3,
640
+ /** LOG_LEVEL_WARNING - Warning log level. */
641
+ LOG_LEVEL_WARNING = 4,
642
+ /** LOG_LEVEL_ERROR - Error log level. */
643
+ LOG_LEVEL_ERROR = 5,
644
+ /** LOG_LEVEL_CRITICAL - Critical log level. */
645
+ LOG_LEVEL_CRITICAL = 6,
646
+ UNRECOGNIZED = -1
647
+ }
648
+ export declare function logEntry_LogLevelFromJSON(object: any): LogEntry_LogLevel;
649
+ export declare function logEntry_LogLevelToJSON(object: LogEntry_LogLevel): string;
650
+ export interface KernelLogEntry {
651
+ /** Log level, info, warning, error, etc. */
652
+ level: KernelLogEntry_KernelLogLevel;
653
+ /** Sequence number of the log entry. */
654
+ seqnum: number;
655
+ /** Timestamp of the log entry. */
656
+ timestamp: Date | undefined;
657
+ /** Log messages. */
658
+ messages: string[];
659
+ /** List of key-value pairs. */
660
+ fields: KernelLogEntry_KeyValuePair[];
661
+ }
662
+ /** Kernel log level. */
663
+ export declare enum KernelLogEntry_KernelLogLevel {
664
+ /** KERNEL_LOG_LEVEL_UNSPECIFIED - Unspecified log level. */
665
+ KERNEL_LOG_LEVEL_UNSPECIFIED = 0,
666
+ /** KERNEL_LOG_LEVEL_EMERG - Emergency log level. */
667
+ KERNEL_LOG_LEVEL_EMERG = 1,
668
+ /** KERNEL_LOG_LEVEL_ALERT - Alert log level. */
669
+ KERNEL_LOG_LEVEL_ALERT = 2,
670
+ /** KERNEL_LOG_LEVEL_CRIT - Critical log level. */
671
+ KERNEL_LOG_LEVEL_CRIT = 3,
672
+ /** KERNEL_LOG_LEVEL_ERR - Error log level. */
673
+ KERNEL_LOG_LEVEL_ERR = 4,
674
+ /** KERNEL_LOG_LEVEL_WARNING - Warning log level. */
675
+ KERNEL_LOG_LEVEL_WARNING = 5,
676
+ /** KERNEL_LOG_LEVEL_NOTICE - Notice log level. */
677
+ KERNEL_LOG_LEVEL_NOTICE = 6,
678
+ /** KERNEL_LOG_LEVEL_INFO - Informational log level. */
679
+ KERNEL_LOG_LEVEL_INFO = 7,
680
+ /** KERNEL_LOG_LEVEL_DEBUG - Debug log level. */
681
+ KERNEL_LOG_LEVEL_DEBUG = 8,
682
+ UNRECOGNIZED = -1
683
+ }
684
+ export declare function kernelLogEntry_KernelLogLevelFromJSON(object: any): KernelLogEntry_KernelLogLevel;
685
+ export declare function kernelLogEntry_KernelLogLevelToJSON(object: KernelLogEntry_KernelLogLevel): string;
686
+ /** Key-value pair used for structured logging. */
687
+ export interface KernelLogEntry_KeyValuePair {
688
+ /** Key of the key-value pair. */
689
+ key: string;
690
+ /** Value of the key-value pair. */
691
+ value: string;
692
+ }
494
693
  /** If you use both values at the same time they cancel each other out. */
495
694
  export interface MotionInput {
496
695
  /** Forward (positive) and backwards (negative) movement. (-1..1). */
@@ -525,6 +724,46 @@ export interface Lights {
525
724
  export interface Laser {
526
725
  /** Laser intensity, any value above 0 turns the laser on (0..1). */
527
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;
528
767
  }
529
768
  /** Latitude and longitude position in WGS 84 decimal degrees format. */
530
769
  export interface LatLongPosition {
@@ -660,6 +899,12 @@ export interface RecordState {
660
899
  multibeamSeconds: number;
661
900
  /** Multibeam record fps. */
662
901
  multibeamFps: number;
902
+ /** Storage location used for main camera recording. */
903
+ mainStorageLocation: StorageLocation;
904
+ /** Storage location used for guestport camera recording. */
905
+ guestportStorageLocation: StorageLocation;
906
+ /** Storage location used for multibeam recording. */
907
+ multibeamStorageLocation: StorageLocation;
663
908
  }
664
909
  /** Time-lapse state published if time-lapse mission is running. */
665
910
  export interface TimeLapseState {
@@ -705,7 +950,7 @@ export interface WaterTemperature {
705
950
  /** Water temperature (°C). */
706
951
  value: number;
707
952
  }
708
- /** CPU temperature. */
953
+ /** CPU temperature (deprecated, use SystemPerformanceInfo.thermal_zones instead). */
709
954
  export interface CPUTemperature {
710
955
  /** CPU temperature (°C). */
711
956
  value: number;
@@ -1127,7 +1372,7 @@ export interface DiveTime {
1127
1372
  /** Number of seconds the drone has been submerged. */
1128
1373
  value: number;
1129
1374
  }
1130
- /** Which cameras are supposed to be recording. */
1375
+ /** Which cameras or multibeam are supposed to be recording. */
1131
1376
  export interface RecordOn {
1132
1377
  /** Record the main camera. */
1133
1378
  main: boolean;
@@ -1143,6 +1388,65 @@ export interface StorageSpace {
1143
1388
  /** Available bytes of storage space (B). */
1144
1389
  freeSpace: number;
1145
1390
  }
1391
+ /** Storage partition. */
1392
+ export interface StoragePartition {
1393
+ /** The amount of storage space on the device. */
1394
+ storageSpace: StorageSpace | undefined;
1395
+ /** File system type of the removable storage device. */
1396
+ fileSystemType: string;
1397
+ /** Partition device path */
1398
+ devicePath: string;
1399
+ /** Mount path of the partition. */
1400
+ mountPath: string;
1401
+ /** Label of the partition. */
1402
+ label: string;
1403
+ }
1404
+ /** Removable storage device. */
1405
+ export interface RemovableStorageDevice {
1406
+ /** USB vendor name. */
1407
+ vendorName: string;
1408
+ /** Model name of the USB storage device. */
1409
+ modelName: string;
1410
+ /** Mount path of the storage device. */
1411
+ devicePath: string;
1412
+ /** Status of the storage device. */
1413
+ status: RemovableStorageDevice_Status;
1414
+ /** Any active error flags for the storage device. */
1415
+ errorFlags: RemovableStorageErrorFlags | undefined;
1416
+ /** List of partitions on the storage device. */
1417
+ partitions: StoragePartition[];
1418
+ }
1419
+ /** Overall status of the storage device. */
1420
+ export declare enum RemovableStorageDevice_Status {
1421
+ /** STATUS_UNSPECIFIED - Unspecified. */
1422
+ STATUS_UNSPECIFIED = 0,
1423
+ /** STATUS_READY - The storage device is valid and ready for use. */
1424
+ STATUS_READY = 1,
1425
+ /** STATUS_FORMATTING - The storage device is being formatted. */
1426
+ STATUS_FORMATTING = 2,
1427
+ /** STATUS_ERROR - The storage device is in an error state. */
1428
+ STATUS_ERROR = 3,
1429
+ /** STATUS_UNPLUGGED - The storage device is not present. */
1430
+ STATUS_UNPLUGGED = 4,
1431
+ UNRECOGNIZED = -1
1432
+ }
1433
+ export declare function removableStorageDevice_StatusFromJSON(object: any): RemovableStorageDevice_Status;
1434
+ export declare function removableStorageDevice_StatusToJSON(object: RemovableStorageDevice_Status): string;
1435
+ /** Error flags related to a removable storage device. */
1436
+ export interface RemovableStorageErrorFlags {
1437
+ /** Optional error message to give additional information from the drone to a client about active error flags. */
1438
+ errorMessage: string;
1439
+ /** Device is attached but no partitions are found. */
1440
+ noPartitionsFound: boolean;
1441
+ /** Multiple partitions are found. */
1442
+ multiplePartitionsFound: boolean;
1443
+ /** The wrong file system is found. */
1444
+ wrongFileSystemFound: boolean;
1445
+ /** The device is in read-only mode. */
1446
+ deviceIsReadOnly: boolean;
1447
+ /** Formatting of the device failed. */
1448
+ formattingFailed: boolean;
1449
+ }
1146
1450
  /** Compass calibration state. */
1147
1451
  export interface CalibrationState {
1148
1452
  /** Current calibration status. */
@@ -1165,7 +1469,7 @@ export interface CalibrationState {
1165
1469
  /**
1166
1470
  * Status of the compass calibration procedure.
1167
1471
  *
1168
- * When calibration is started, the status will indicate the active (upfacing) axis.
1472
+ * When calibration is started, the status will indicate the active (up facing) axis.
1169
1473
  */
1170
1474
  export declare enum CalibrationState_Status {
1171
1475
  /** STATUS_UNSPECIFIED - Unspecified status. */
@@ -1186,7 +1490,7 @@ export declare enum CalibrationState_Status {
1186
1490
  STATUS_CALIBRATING_Z_POSITIVE = 7,
1187
1491
  /** STATUS_CALIBRATING_Z_NEGATIVE - Compass is calibrating and the negative Z axis is active. */
1188
1492
  STATUS_CALIBRATING_Z_NEGATIVE = 8,
1189
- /** STATUS_CALIBRATING_THRUSTER - Compass is calibrating for thruster interferance. */
1493
+ /** STATUS_CALIBRATING_THRUSTER - Compass is calibrating for thruster interference. */
1190
1494
  STATUS_CALIBRATING_THRUSTER = 9,
1191
1495
  UNRECOGNIZED = -1
1192
1496
  }
@@ -1219,6 +1523,31 @@ export interface TiltVelocity {
1219
1523
  /**
1220
1524
  * Information about the drone.
1221
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
+ /**
1222
1551
  * This message contains serial numbers and version information for
1223
1552
  * internal components in the drone. Primarily used for diagnostics, or to
1224
1553
  * determine the origin of a logfile.
@@ -1246,6 +1575,10 @@ export interface DroneInfo {
1246
1575
  gp: GuestPortInfo | undefined;
1247
1576
  /** Type of depth sensor that is connected to the drone. */
1248
1577
  depthSensor: PressureSensorType;
1578
+ /** List of loaded computer vision models. */
1579
+ cvModels: CvModelInfo[];
1580
+ /** How the drone is powered. */
1581
+ powerSource: PowerSource;
1249
1582
  }
1250
1583
  /** Known error states for the drone. */
1251
1584
  export interface ErrorFlags {
@@ -1271,30 +1604,60 @@ export interface ErrorFlags {
1271
1604
  gp2Read: boolean;
1272
1605
  /** Guest port 3 read error. */
1273
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;
1274
1613
  /** Guest port 1 not flashed. */
1275
1614
  gp1NotFlashed: boolean;
1276
1615
  /** Guest port 2 not flashed. */
1277
1616
  gp2NotFlashed: boolean;
1278
1617
  /** Guest port 3 not flashed. */
1279
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;
1280
1625
  /** Unknown device on guest port 1. */
1281
1626
  gp1UnknownDevice: boolean;
1282
1627
  /** Unknown device on guest port 2. */
1283
1628
  gp2UnknownDevice: boolean;
1284
1629
  /** Unknown device on guest port 3. */
1285
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;
1286
1637
  /** Guest port 1 connection error. */
1287
1638
  gp1DeviceConnection: boolean;
1288
1639
  /** Guest port 2 connection error. */
1289
1640
  gp2DeviceConnection: boolean;
1290
1641
  /** Guest port 3 connection error. */
1291
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;
1292
1649
  /** Guest port 1 device error. */
1293
1650
  gp1Device: boolean;
1294
1651
  /** Guest port 2 device error. */
1295
1652
  gp2Device: boolean;
1296
1653
  /** Guest port 3 device error. */
1297
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;
1298
1661
  /** Drone serial number not set. */
1299
1662
  droneSerialNotSet: boolean;
1300
1663
  /** Drone serial number error. */
@@ -1325,14 +1688,44 @@ export interface ErrorFlags {
1325
1688
  gpCurrentRead: boolean;
1326
1689
  /** Max GP current exceeded. */
1327
1690
  gpCurrent: boolean;
1328
- /** Max battery current exceeded on GP1. */
1691
+ /** Max battery current exceeded on guest port 1. */
1329
1692
  gp1BatCurrent: boolean;
1330
- /** Max battery current exceeded on GP2. */
1693
+ /** Max battery current exceeded on guest port 2. */
1331
1694
  gp2BatCurrent: boolean;
1332
- /** Max battery current exceeded on GP3. */
1695
+ /** Max battery current exceeded on guest port 3. */
1333
1696
  gp3BatCurrent: boolean;
1334
- /** Max 20V current exceeded on GP. */
1335
- 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;
1336
1729
  /** DVL is in thermal protection mode. */
1337
1730
  dvlThermalProtectionMode: boolean;
1338
1731
  /** GP protection has been triggered at boot or faulty DVL. */
@@ -1352,22 +1745,57 @@ export interface CameraParameters {
1352
1745
  mjpgBitrate: number;
1353
1746
  /** Shutter speed (1/10000 * s), -1 for automatic exposure. */
1354
1747
  exposure: number;
1355
- /** White balance temperature (2800..9300), -1 for automatic white balance. */
1748
+ /** White balance temp (Pioneer/Pro/X1/X3: 2800..9300, Ultra: 2300..15000), -1 for auto. */
1356
1749
  whiteBalance: number;
1357
- /** Hue (-40..40), 0 as default. */
1750
+ /** Hue (-40..40), 0 as default. Only available on Pioneer/Pro/X1/X3. */
1358
1751
  hue: number;
1359
- /** Iso gain (0..1). */
1752
+ /** Iso gain (0..1). Only available on Pioneer/Pro/X1/X3. */
1360
1753
  gain: number;
1754
+ /** Brightness (-10..10), 0 as default. Only available on Ultra */
1755
+ brightness: number;
1756
+ /** Contrast (-50..50), 0 as default. Only available on Ultra. */
1757
+ contrast: number;
1758
+ /** Saturation (0..50), 8 as default. Only available on Ultra. */
1759
+ saturation: number;
1760
+ /** Gamma (4..79), 22 as default. Only available on Ultra. */
1761
+ gamma: number;
1762
+ /** Sharpness (-20..20), -20 as default. Only available on Ultra. */
1763
+ sharpness: number;
1764
+ /** Backlight compensation (-150..150), 10 as default. Only available on Ultra. */
1765
+ backlightCompensation: number;
1766
+ /** Noise reduction (-20..20), -20 as default. Only available on Ultra. */
1767
+ denoise: number;
1768
+ /** Enable eHDR mode. Default true. Only available on Ultra. */
1769
+ ehdrEnabled: boolean;
1770
+ /** Minimum number of eHDR frames. (1..4), default 1. Only available on Ultra. */
1771
+ ehdrExposureMinNumber: number;
1772
+ /** Maximum number of eHDR frames. (1..4), default 2. Only on Ultra. Setting larger than 2 can reduce the framerate. */
1773
+ ehdrExposureMaxNumber: number;
1361
1774
  /** Stream, recording and image resolution (deprecated). */
1362
1775
  resolution: Resolution;
1363
1776
  /** Stream resolution. */
1364
1777
  streamResolution: Resolution;
1365
1778
  /** Recording and image resolution. */
1366
1779
  recordingResolution: Resolution;
1780
+ /** Streaming protocol. */
1781
+ streamingProtocol: StreamingProtocol;
1367
1782
  /** Stream and recording framerate. */
1368
1783
  framerate: Framerate;
1369
1784
  /** Which camera the parameters belong to. */
1370
1785
  camera: Camera;
1786
+ /**
1787
+ * Network MTU (Maximum Transmission Unit) size for video streaming in bytes (68..65535).
1788
+ * If 0 or unset, the system will use a default of 1400.
1789
+ * The Blueye App allows users to set values between 500 and 1460.
1790
+ */
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;
1371
1799
  }
1372
1800
  /**
1373
1801
  * Overlay parameters.
@@ -1480,6 +1908,12 @@ export interface GuestPortInfo {
1480
1908
  gp2: GuestPortConnectorInfo | undefined;
1481
1909
  /** Information about guest port 3. */
1482
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;
1483
1917
  }
1484
1918
  /** GuestPort restart information. */
1485
1919
  export interface GuestPortRestartInfo {
@@ -1524,8 +1958,38 @@ export interface GuestPortCurrent {
1524
1958
  gp2Bat: number;
1525
1959
  /** Current on GP3 battery voltage (A). */
1526
1960
  gp3Bat: number;
1527
- /** Current on common 20V supply (A). */
1528
- 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;
1529
1993
  }
1530
1994
  /** Vector with 3 elements. */
1531
1995
  export interface Vector3 {
@@ -1593,8 +2057,7 @@ export interface MultibeamPing {
1593
2057
  /** Size in bytes of each row in the ping data image. */
1594
2058
  step: number;
1595
2059
  /**
1596
- * Bearing angle of each column of the sonar data
1597
- * (in 100th of a degree, multiply by 0.01 to get a value in degrees).
2060
+ * Bearing angle of each column of the sonar data in degrees.
1598
2061
  * The sonar image is not sampled uniformly in the bearing direction.
1599
2062
  */
1600
2063
  bearings: number[];
@@ -1734,7 +2197,7 @@ export interface PersistentStorageSettings {
1734
2197
  accCalibration: boolean;
1735
2198
  }
1736
2199
  /**
1737
- * CPU information.
2200
+ * CPU information (deprecated, use SystemPerformanceInfo instead).
1738
2201
  *
1739
2202
  * Contains information about the CPU load and memory usage of the drone.
1740
2203
  */
@@ -1747,11 +2210,287 @@ export interface CPUInfo {
1747
2210
  mainQueueLoad: number;
1748
2211
  /** Guestport queue load (0..1). */
1749
2212
  guestportQueueLoad: number;
2213
+ /** Communication queue load (0..1). */
2214
+ commQueueLoad: number;
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
+ }
2337
+ /**
2338
+ * Surface Unit battery information.
2339
+ *
2340
+ * This message is published by the Surface Unit, and re-published by
2341
+ * the drone over the communication protocol.
2342
+ */
2343
+ export interface SurfaceUnitBatteryInfo {
2344
+ /** Battery charge status. */
2345
+ status: SurfaceUnitBatteryInfo_ChargeStatus;
2346
+ /** Battery level (0..1). */
2347
+ level: number;
2348
+ }
2349
+ export declare enum SurfaceUnitBatteryInfo_ChargeStatus {
2350
+ CHARGE_STATUS_UNSPECIFIED = 0,
2351
+ CHARGE_STATUS_DISCHARGE = 1,
2352
+ CHARGE_STATUS_CHARGE = 2,
2353
+ CHARGE_STATUS_CHARGE_ERROR = 3,
2354
+ UNRECOGNIZED = -1
2355
+ }
2356
+ export declare function surfaceUnitBatteryInfo_ChargeStatusFromJSON(object: any): SurfaceUnitBatteryInfo_ChargeStatus;
2357
+ export declare function surfaceUnitBatteryInfo_ChargeStatusToJSON(object: SurfaceUnitBatteryInfo_ChargeStatus): string;
2358
+ /**
2359
+ * Surface Unit version information.
2360
+ *
2361
+ * This message is published by the Surface Unit, and re-published by
2362
+ * the drone over the communication protocol.
2363
+ */
2364
+ export interface SurfaceUnitVersionInfo {
2365
+ /** Surface Unit firmware version (x.y.z). */
2366
+ version: string;
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
+ }
2428
+ /** Generic filter settings. */
2429
+ export interface FilterMessage {
2430
+ /** If the filter is enabled. */
2431
+ enabled: boolean;
2432
+ /** Intensity of the filter (0..1). */
2433
+ intensity: number;
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
1750
2482
  }
2483
+ export declare function sotState_StateFromJSON(object: any): SotState_State;
2484
+ export declare function sotState_StateToJSON(object: SotState_State): string;
1751
2485
  export declare const BinlogRecord: MessageFns<BinlogRecord>;
2486
+ export declare const LogEntry: MessageFns<LogEntry>;
2487
+ export declare const KernelLogEntry: MessageFns<KernelLogEntry>;
2488
+ export declare const KernelLogEntry_KeyValuePair: MessageFns<KernelLogEntry_KeyValuePair>;
1752
2489
  export declare const MotionInput: MessageFns<MotionInput>;
1753
2490
  export declare const Lights: MessageFns<Lights>;
1754
2491
  export declare const Laser: MessageFns<Laser>;
2492
+ export declare const Point2D: MessageFns<Point2D>;
2493
+ export declare const LaserDetection: MessageFns<LaserDetection>;
1755
2494
  export declare const LatLongPosition: MessageFns<LatLongPosition>;
1756
2495
  export declare const ConnectionDuration: MessageFns<ConnectionDuration>;
1757
2496
  export declare const AutoHeadingState: MessageFns<AutoHeadingState>;
@@ -1800,11 +2539,15 @@ export declare const ControllerHealth: MessageFns<ControllerHealth>;
1800
2539
  export declare const DiveTime: MessageFns<DiveTime>;
1801
2540
  export declare const RecordOn: MessageFns<RecordOn>;
1802
2541
  export declare const StorageSpace: MessageFns<StorageSpace>;
2542
+ export declare const StoragePartition: MessageFns<StoragePartition>;
2543
+ export declare const RemovableStorageDevice: MessageFns<RemovableStorageDevice>;
2544
+ export declare const RemovableStorageErrorFlags: MessageFns<RemovableStorageErrorFlags>;
1803
2545
  export declare const CalibrationState: MessageFns<CalibrationState>;
1804
2546
  export declare const IperfStatus: MessageFns<IperfStatus>;
1805
2547
  export declare const NStreamers: MessageFns<NStreamers>;
1806
2548
  export declare const TiltAngle: MessageFns<TiltAngle>;
1807
2549
  export declare const TiltVelocity: MessageFns<TiltVelocity>;
2550
+ export declare const CvModelInfo: MessageFns<CvModelInfo>;
1808
2551
  export declare const DroneInfo: MessageFns<DroneInfo>;
1809
2552
  export declare const ErrorFlags: MessageFns<ErrorFlags>;
1810
2553
  export declare const CameraParameters: MessageFns<CameraParameters>;
@@ -1831,22 +2574,33 @@ export declare const MultibeamFrameOffset: MessageFns<MultibeamFrameOffset>;
1831
2574
  export declare const MutltibeamRecordingIndex: MessageFns<MutltibeamRecordingIndex>;
1832
2575
  export declare const PersistentStorageSettings: MessageFns<PersistentStorageSettings>;
1833
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>;
2584
+ export declare const SurfaceUnitBatteryInfo: MessageFns<SurfaceUnitBatteryInfo>;
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>;
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>;
1834
2594
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
1835
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 {} ? {
1836
2596
  [K in keyof T]?: DeepPartial<T[K]>;
1837
2597
  } : Partial<T>;
1838
- type KeysOfUnion<T> = T extends T ? keyof T : never;
1839
- type Exact<P, I extends P> = P extends Builtin ? P : P & {
1840
- [K in keyof P]: Exact<P[K], I[K]>;
1841
- } & {
1842
- [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
1843
- };
1844
2598
  interface MessageFns<T> {
1845
2599
  encode(message: T, writer?: BinaryWriter): BinaryWriter;
1846
2600
  decode(input: BinaryReader | Uint8Array, length?: number): T;
1847
2601
  fromJSON(object: any): T;
1848
2602
  toJSON(message: T): unknown;
1849
- create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
1850
- fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
2603
+ create(base?: DeepPartial<T>): T;
2604
+ fromPartial(object: DeepPartial<T>): T;
1851
2605
  }
1852
2606
  export {};