@blueyerobotics/protocol-definitions 3.2.0-5739a6ac → 3.2.0-61128f19

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
@@ -194,24 +214,35 @@ export declare function pressureSensorTypeToJSON(object: PressureSensorType): st
194
214
  export declare enum Resolution {
195
215
  /** RESOLUTION_UNSPECIFIED - Resolution not specified. */
196
216
  RESOLUTION_UNSPECIFIED = 0,
197
- /** RESOLUTION_FULLHD_1080P - 1080p Full HD resolution. */
198
- RESOLUTION_FULLHD_1080P = 1,
199
- /** RESOLUTION_HD_720P - 720p HD resolution. */
217
+ /** RESOLUTION_VGA_480P - VGA (640x480). */
218
+ RESOLUTION_VGA_480P = 4,
219
+ /** RESOLUTION_HD_720P - 720p HD (1280x720). */
200
220
  RESOLUTION_HD_720P = 2,
201
- /** RESOLUTION_UHD_4K - 4K Ultra HD resolution. */
221
+ /** RESOLUTION_FULLHD_1080P - 1080p Full HD (1920x1080). */
222
+ RESOLUTION_FULLHD_1080P = 1,
223
+ /** RESOLUTION_UHD_4K - 4K Ultra HD (3840x2160, Only supported on X3 Ultra). */
202
224
  RESOLUTION_UHD_4K = 3,
225
+ /** RESOLUTION_QHD_2K - 2K QHD (2560x1440, Only supported on X3 Ultra). */
226
+ RESOLUTION_QHD_2K = 5,
203
227
  UNRECOGNIZED = -1
204
228
  }
205
229
  export declare function resolutionFromJSON(object: any): Resolution;
206
230
  export declare function resolutionToJSON(object: Resolution): string;
207
- /** Available camera frame rates. */
231
+ /**
232
+ * Available camera frame rates.
233
+ *
234
+ * If the requested frame rate is higher than what is supported at the current resolution,
235
+ * the frame rate will be reduced while the resolution is respected.
236
+ */
208
237
  export declare enum Framerate {
209
238
  /** FRAMERATE_UNSPECIFIED - Framerate not specified. */
210
239
  FRAMERATE_UNSPECIFIED = 0,
211
240
  /** FRAMERATE_FPS_30 - 30 frames per second. */
212
241
  FRAMERATE_FPS_30 = 1,
213
- /** FRAMERATE_FPS_25 - 25 frames per second. */
242
+ /** FRAMERATE_FPS_25 - 25 frames per second. (Only supported on Pioneer/Pro/X1/X3) */
214
243
  FRAMERATE_FPS_25 = 2,
244
+ /** FRAMERATE_FPS_60 - 60 frames per second. (Only supported on X3 Ultra at QHD, 1080p and 720p) */
245
+ FRAMERATE_FPS_60 = 3,
215
246
  UNRECOGNIZED = -1
216
247
  }
217
248
  export declare function framerateFromJSON(object: any): Framerate;
@@ -228,6 +259,29 @@ export declare enum Camera {
228
259
  }
229
260
  export declare function cameraFromJSON(object: any): Camera;
230
261
  export declare function cameraToJSON(object: Camera): string;
262
+ export declare enum StreamingProtocol {
263
+ /** STREAMING_PROTOCOL_UNSPECIFIED - Streaming protocol not specified. */
264
+ STREAMING_PROTOCOL_UNSPECIFIED = 0,
265
+ /** STREAMING_PROTOCOL_RTSP_H264 - RTSP streaming protocol using H264 codec. */
266
+ STREAMING_PROTOCOL_RTSP_H264 = 1,
267
+ /** STREAMING_PROTOCOL_RTSP_MJPEG - RTSP streaming protocol using MJPEG codec. No recording when activated. */
268
+ STREAMING_PROTOCOL_RTSP_MJPEG = 2,
269
+ UNRECOGNIZED = -1
270
+ }
271
+ export declare function streamingProtocolFromJSON(object: any): StreamingProtocol;
272
+ export declare function streamingProtocolToJSON(object: StreamingProtocol): string;
273
+ /** Recording video codec. */
274
+ export declare enum RecordingCodec {
275
+ /** RECORDING_CODEC_UNSPECIFIED - Use platform default (H.264). */
276
+ RECORDING_CODEC_UNSPECIFIED = 0,
277
+ /** RECORDING_CODEC_H264 - H.264/AVC codec. Wider compatibility with players/editors. */
278
+ RECORDING_CODEC_H264 = 1,
279
+ /** RECORDING_CODEC_H265 - H.265/HEVC codec. Better compression, limited compatibility. Ultra only. */
280
+ RECORDING_CODEC_H265 = 2,
281
+ UNRECOGNIZED = -1
282
+ }
283
+ export declare function recordingCodecFromJSON(object: any): RecordingCodec;
284
+ export declare function recordingCodecToJSON(object: RecordingCodec): string;
231
285
  /** Available temperature units. */
232
286
  export declare enum TemperatureUnit {
233
287
  /** TEMPERATURE_UNIT_UNSPECIFIED - Temperature unit not specified. */
@@ -294,6 +348,8 @@ export declare enum FontSize {
294
348
  FONT_SIZE_PX35 = 5,
295
349
  /** FONT_SIZE_PX40 - 40 px. */
296
350
  FONT_SIZE_PX40 = 6,
351
+ /** FONT_SIZE_PX50 - 50 px. */
352
+ FONT_SIZE_PX50 = 7,
297
353
  UNRECOGNIZED = -1
298
354
  }
299
355
  export declare function fontSizeFromJSON(object: any): FontSize;
@@ -390,6 +446,14 @@ export declare enum GuestPortDeviceID {
390
446
  GUEST_PORT_DEVICE_ID_WATERLINKED_SONAR_3D15 = 43,
391
447
  /** GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 - Cerulean Tracker 650. */
392
448
  GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 = 44,
449
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE - Blueye External USB Storage. */
450
+ GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE = 45,
451
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 - Blueye Multibeam Skid Servo V2. */
452
+ GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 = 46,
453
+ /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT - Cerulean Omniscan 450 Compact. */
454
+ GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT = 47,
455
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_SCALING_LASER - Blueye Scaling Laser. */
456
+ GUEST_PORT_DEVICE_ID_BLUEYE_SCALING_LASER = 48,
393
457
  UNRECOGNIZED = -1
394
458
  }
395
459
  export declare function guestPortDeviceIDFromJSON(object: any): GuestPortDeviceID;
@@ -475,6 +539,18 @@ export declare enum MultibeamFrequencyMode {
475
539
  }
476
540
  export declare function multibeamFrequencyModeFromJSON(object: any): MultibeamFrequencyMode;
477
541
  export declare function multibeamFrequencyModeToJSON(object: MultibeamFrequencyMode): string;
542
+ /** Thermal zone identifiers. */
543
+ export declare enum ThermalZoneId {
544
+ /** THERMAL_ZONE_ID_UNSPECIFIED - Unspecified thermal zone. */
545
+ THERMAL_ZONE_ID_UNSPECIFIED = 0,
546
+ /** THERMAL_ZONE_ID_TJ - Junction temperature (Tj). */
547
+ THERMAL_ZONE_ID_TJ = 1,
548
+ /** THERMAL_ZONE_ID_CANISTER - Canister temperature. */
549
+ THERMAL_ZONE_ID_CANISTER = 2,
550
+ UNRECOGNIZED = -1
551
+ }
552
+ export declare function thermalZoneIdFromJSON(object: any): ThermalZoneId;
553
+ export declare function thermalZoneIdToJSON(object: ThermalZoneId): string;
478
554
  /**
479
555
  * Wrapper message for each entry in the drone telemetry logfile.
480
556
  *
@@ -491,6 +567,89 @@ export interface BinlogRecord {
491
567
  /** Posix CLOCK_MONOTONIC timestamp. */
492
568
  clockMonotonic: Date | undefined;
493
569
  }
570
+ /**
571
+ * Log entry
572
+ *
573
+ * Used to store ROS log entries in the bez file
574
+ */
575
+ export interface LogEntry {
576
+ /** Timestamp of the log entry. */
577
+ timestamp: Date | undefined;
578
+ /** Name of the process that generated the log entry. */
579
+ processName: string;
580
+ /** Process ID of the log entry. */
581
+ processId: number;
582
+ /** Thread ID of the log entry. */
583
+ threadId: number;
584
+ /** Source of the log entry (specific class or named logger). */
585
+ source: string;
586
+ /** Log level, info, warning, error, etc. */
587
+ level: LogEntry_LogLevel;
588
+ /** Log message. */
589
+ message: string;
590
+ }
591
+ export declare enum LogEntry_LogLevel {
592
+ /** LOG_LEVEL_UNSPECIFIED - Unspecified log level. */
593
+ LOG_LEVEL_UNSPECIFIED = 0,
594
+ /** LOG_LEVEL_TRACE - Trace log level. */
595
+ LOG_LEVEL_TRACE = 1,
596
+ /** LOG_LEVEL_DEBUG - Debug log level. */
597
+ LOG_LEVEL_DEBUG = 2,
598
+ /** LOG_LEVEL_INFO - Info log level. */
599
+ LOG_LEVEL_INFO = 3,
600
+ /** LOG_LEVEL_WARNING - Warning log level. */
601
+ LOG_LEVEL_WARNING = 4,
602
+ /** LOG_LEVEL_ERROR - Error log level. */
603
+ LOG_LEVEL_ERROR = 5,
604
+ /** LOG_LEVEL_CRITICAL - Critical log level. */
605
+ LOG_LEVEL_CRITICAL = 6,
606
+ UNRECOGNIZED = -1
607
+ }
608
+ export declare function logEntry_LogLevelFromJSON(object: any): LogEntry_LogLevel;
609
+ export declare function logEntry_LogLevelToJSON(object: LogEntry_LogLevel): string;
610
+ export interface KernelLogEntry {
611
+ /** Log level, info, warning, error, etc. */
612
+ level: KernelLogEntry_KernelLogLevel;
613
+ /** Sequence number of the log entry. */
614
+ seqnum: number;
615
+ /** Timestamp of the log entry. */
616
+ timestamp: Date | undefined;
617
+ /** Log messages. */
618
+ messages: string[];
619
+ /** List of key-value pairs. */
620
+ fields: KernelLogEntry_KeyValuePair[];
621
+ }
622
+ /** Kernel log level. */
623
+ export declare enum KernelLogEntry_KernelLogLevel {
624
+ /** KERNEL_LOG_LEVEL_UNSPECIFIED - Unspecified log level. */
625
+ KERNEL_LOG_LEVEL_UNSPECIFIED = 0,
626
+ /** KERNEL_LOG_LEVEL_EMERG - Emergency log level. */
627
+ KERNEL_LOG_LEVEL_EMERG = 1,
628
+ /** KERNEL_LOG_LEVEL_ALERT - Alert log level. */
629
+ KERNEL_LOG_LEVEL_ALERT = 2,
630
+ /** KERNEL_LOG_LEVEL_CRIT - Critical log level. */
631
+ KERNEL_LOG_LEVEL_CRIT = 3,
632
+ /** KERNEL_LOG_LEVEL_ERR - Error log level. */
633
+ KERNEL_LOG_LEVEL_ERR = 4,
634
+ /** KERNEL_LOG_LEVEL_WARNING - Warning log level. */
635
+ KERNEL_LOG_LEVEL_WARNING = 5,
636
+ /** KERNEL_LOG_LEVEL_NOTICE - Notice log level. */
637
+ KERNEL_LOG_LEVEL_NOTICE = 6,
638
+ /** KERNEL_LOG_LEVEL_INFO - Informational log level. */
639
+ KERNEL_LOG_LEVEL_INFO = 7,
640
+ /** KERNEL_LOG_LEVEL_DEBUG - Debug log level. */
641
+ KERNEL_LOG_LEVEL_DEBUG = 8,
642
+ UNRECOGNIZED = -1
643
+ }
644
+ export declare function kernelLogEntry_KernelLogLevelFromJSON(object: any): KernelLogEntry_KernelLogLevel;
645
+ export declare function kernelLogEntry_KernelLogLevelToJSON(object: KernelLogEntry_KernelLogLevel): string;
646
+ /** Key-value pair used for structured logging. */
647
+ export interface KernelLogEntry_KeyValuePair {
648
+ /** Key of the key-value pair. */
649
+ key: string;
650
+ /** Value of the key-value pair. */
651
+ value: string;
652
+ }
494
653
  /** If you use both values at the same time they cancel each other out. */
495
654
  export interface MotionInput {
496
655
  /** Forward (positive) and backwards (negative) movement. (-1..1). */
@@ -525,6 +684,46 @@ export interface Lights {
525
684
  export interface Laser {
526
685
  /** Laser intensity, any value above 0 turns the laser on (0..1). */
527
686
  value: number;
687
+ /** Modulate the laser at 5Hz for tracking. Only available on Ultra. */
688
+ modulated: boolean;
689
+ }
690
+ /** Point in 2D space. */
691
+ export interface Point2D {
692
+ /** X coordinate of the point (px). */
693
+ x: number;
694
+ /** Y coordinate of the point (px). */
695
+ y: number;
696
+ }
697
+ /**
698
+ * Message representing the detection of scaling lasers in the main camera.
699
+ *
700
+ * The message contains the centroids of the detected dots, the distance between them in pixels,
701
+ * and the confidence of the detection. The dots are detected through temporal DFT analysis of
702
+ * 5 Hz laser modulation, isolating flickering pixels from the static scene background.
703
+ *
704
+ * Only available on Ultra.
705
+ */
706
+ export interface LaserDetection {
707
+ /** True if the laser is detected by the drone. */
708
+ detected: boolean;
709
+ /** First dot centroid (leftmost). */
710
+ dot1: Point2D | undefined;
711
+ /** Second dot centroid (rightmost). */
712
+ dot2: Point2D | undefined;
713
+ /** Distance between dots in pixels. */
714
+ pixelDistance: number;
715
+ /** Confidence of the detection (0..1). */
716
+ confidence: number;
717
+ /** Source frame width. */
718
+ imageWidth: number;
719
+ /** Source frame height. */
720
+ imageHeight: number;
721
+ /** Real world distance between the two laser dots (m). */
722
+ laserWidth: number;
723
+ /** Distance after lens undistortion (px). */
724
+ correctedPixelDistance: number;
725
+ /** Estimated subject distance (m). */
726
+ estimatedDistance: number;
528
727
  }
529
728
  /** Latitude and longitude position in WGS 84 decimal degrees format. */
530
729
  export interface LatLongPosition {
@@ -660,6 +859,12 @@ export interface RecordState {
660
859
  multibeamSeconds: number;
661
860
  /** Multibeam record fps. */
662
861
  multibeamFps: number;
862
+ /** Storage location used for main camera recording. */
863
+ mainStorageLocation: StorageLocation;
864
+ /** Storage location used for guestport camera recording. */
865
+ guestportStorageLocation: StorageLocation;
866
+ /** Storage location used for multibeam recording. */
867
+ multibeamStorageLocation: StorageLocation;
663
868
  }
664
869
  /** Time-lapse state published if time-lapse mission is running. */
665
870
  export interface TimeLapseState {
@@ -705,7 +910,7 @@ export interface WaterTemperature {
705
910
  /** Water temperature (°C). */
706
911
  value: number;
707
912
  }
708
- /** CPU temperature. */
913
+ /** CPU temperature (deprecated, use SystemPerformanceInfo.thermal_zones instead). */
709
914
  export interface CPUTemperature {
710
915
  /** CPU temperature (°C). */
711
916
  value: number;
@@ -1127,7 +1332,7 @@ export interface DiveTime {
1127
1332
  /** Number of seconds the drone has been submerged. */
1128
1333
  value: number;
1129
1334
  }
1130
- /** Which cameras are supposed to be recording. */
1335
+ /** Which cameras or multibeam are supposed to be recording. */
1131
1336
  export interface RecordOn {
1132
1337
  /** Record the main camera. */
1133
1338
  main: boolean;
@@ -1153,6 +1358,8 @@ export interface StoragePartition {
1153
1358
  devicePath: string;
1154
1359
  /** Mount path of the partition. */
1155
1360
  mountPath: string;
1361
+ /** Label of the partition. */
1362
+ label: string;
1156
1363
  }
1157
1364
  /** Removable storage device. */
1158
1365
  export interface RemovableStorageDevice {
@@ -1175,10 +1382,12 @@ export declare enum RemovableStorageDevice_Status {
1175
1382
  STATUS_UNSPECIFIED = 0,
1176
1383
  /** STATUS_READY - The storage device is valid and ready for use. */
1177
1384
  STATUS_READY = 1,
1178
- /** STATUS_FORMATTING - The storage device is being formatted */
1385
+ /** STATUS_FORMATTING - The storage device is being formatted. */
1179
1386
  STATUS_FORMATTING = 2,
1180
1387
  /** STATUS_ERROR - The storage device is in an error state. */
1181
1388
  STATUS_ERROR = 3,
1389
+ /** STATUS_UNPLUGGED - The storage device is not present. */
1390
+ STATUS_UNPLUGGED = 4,
1182
1391
  UNRECOGNIZED = -1
1183
1392
  }
1184
1393
  export declare function removableStorageDevice_StatusFromJSON(object: any): RemovableStorageDevice_Status;
@@ -1274,6 +1483,31 @@ export interface TiltVelocity {
1274
1483
  /**
1275
1484
  * Information about the drone.
1276
1485
  *
1486
+ * Information about a loaded computer vision model.
1487
+ */
1488
+ export interface CvModelInfo {
1489
+ /** Human-readable model name (from model_meta.json). */
1490
+ name: string;
1491
+ /** Type of CV model. */
1492
+ type: CvModelInfo_ModelType;
1493
+ /** Whether the model is currently running. */
1494
+ running: boolean;
1495
+ /** Execution provider (e.g. "cuda", "tensorrt"). */
1496
+ device: string;
1497
+ /** Package directory name (e.g. "tinyyolov2_package"). Stable identifier. */
1498
+ packageId: string;
1499
+ /** Class names the model can detect (indexed by class_id). */
1500
+ labels: string[];
1501
+ }
1502
+ export declare enum CvModelInfo_ModelType {
1503
+ MODEL_TYPE_UNSPECIFIED = 0,
1504
+ MODEL_TYPE_DETECTION = 1,
1505
+ MODEL_TYPE_SOT = 2,
1506
+ UNRECOGNIZED = -1
1507
+ }
1508
+ export declare function cvModelInfo_ModelTypeFromJSON(object: any): CvModelInfo_ModelType;
1509
+ export declare function cvModelInfo_ModelTypeToJSON(object: CvModelInfo_ModelType): string;
1510
+ /**
1277
1511
  * This message contains serial numbers and version information for
1278
1512
  * internal components in the drone. Primarily used for diagnostics, or to
1279
1513
  * determine the origin of a logfile.
@@ -1301,6 +1535,8 @@ export interface DroneInfo {
1301
1535
  gp: GuestPortInfo | undefined;
1302
1536
  /** Type of depth sensor that is connected to the drone. */
1303
1537
  depthSensor: PressureSensorType;
1538
+ /** List of loaded computer vision models. */
1539
+ cvModels: CvModelInfo[];
1304
1540
  }
1305
1541
  /** Known error states for the drone. */
1306
1542
  export interface ErrorFlags {
@@ -1407,22 +1643,57 @@ export interface CameraParameters {
1407
1643
  mjpgBitrate: number;
1408
1644
  /** Shutter speed (1/10000 * s), -1 for automatic exposure. */
1409
1645
  exposure: number;
1410
- /** White balance temperature (2800..9300), -1 for automatic white balance. */
1646
+ /** White balance temp (Pioneer/Pro/X1/X3: 2800..9300, Ultra: 2300..15000), -1 for auto. */
1411
1647
  whiteBalance: number;
1412
- /** Hue (-40..40), 0 as default. */
1648
+ /** Hue (-40..40), 0 as default. Only available on Pioneer/Pro/X1/X3. */
1413
1649
  hue: number;
1414
- /** Iso gain (0..1). */
1650
+ /** Iso gain (0..1). Only available on Pioneer/Pro/X1/X3. */
1415
1651
  gain: number;
1652
+ /** Brightness (-10..10), 0 as default. Only available on Ultra */
1653
+ brightness: number;
1654
+ /** Contrast (-50..50), 0 as default. Only available on Ultra. */
1655
+ contrast: number;
1656
+ /** Saturation (0..50), 8 as default. Only available on Ultra. */
1657
+ saturation: number;
1658
+ /** Gamma (4..79), 22 as default. Only available on Ultra. */
1659
+ gamma: number;
1660
+ /** Sharpness (-20..20), -20 as default. Only available on Ultra. */
1661
+ sharpness: number;
1662
+ /** Backlight compensation (-150..150), 10 as default. Only available on Ultra. */
1663
+ backlightCompensation: number;
1664
+ /** Noise reduction (-20..20), -20 as default. Only available on Ultra. */
1665
+ denoise: number;
1666
+ /** Enable eHDR mode. Default true. Only available on Ultra. */
1667
+ ehdrEnabled: boolean;
1668
+ /** Minimum number of eHDR frames. (1..4), default 1. Only available on Ultra. */
1669
+ ehdrExposureMinNumber: number;
1670
+ /** Maximum number of eHDR frames. (1..4), default 2. Only on Ultra. Setting larger than 2 can reduce the framerate. */
1671
+ ehdrExposureMaxNumber: number;
1416
1672
  /** Stream, recording and image resolution (deprecated). */
1417
1673
  resolution: Resolution;
1418
1674
  /** Stream resolution. */
1419
1675
  streamResolution: Resolution;
1420
1676
  /** Recording and image resolution. */
1421
1677
  recordingResolution: Resolution;
1678
+ /** Streaming protocol. */
1679
+ streamingProtocol: StreamingProtocol;
1422
1680
  /** Stream and recording framerate. */
1423
1681
  framerate: Framerate;
1424
1682
  /** Which camera the parameters belong to. */
1425
1683
  camera: Camera;
1684
+ /**
1685
+ * Network MTU (Maximum Transmission Unit) size for video streaming in bytes (68..65535).
1686
+ * If 0 or unset, the system will use a default of 1400.
1687
+ * The Blueye App allows users to set values between 500 and 1460.
1688
+ */
1689
+ mtuSize: number;
1690
+ /** Recording video codec. If unset, uses platform default. */
1691
+ recordingCodec: RecordingCodec;
1692
+ /**
1693
+ * Recording bitrate in bits/sec. If 0 or unset, a default is computed based
1694
+ * on resolution, framerate, and encoding. Set explicitly to override.
1695
+ */
1696
+ recordingBitrate: number;
1426
1697
  }
1427
1698
  /**
1428
1699
  * Overlay parameters.
@@ -1648,8 +1919,7 @@ export interface MultibeamPing {
1648
1919
  /** Size in bytes of each row in the ping data image. */
1649
1920
  step: number;
1650
1921
  /**
1651
- * Bearing angle of each column of the sonar data
1652
- * (in 100th of a degree, multiply by 0.01 to get a value in degrees).
1922
+ * Bearing angle of each column of the sonar data in degrees.
1653
1923
  * The sonar image is not sampled uniformly in the bearing direction.
1654
1924
  */
1655
1925
  bearings: number[];
@@ -1789,7 +2059,7 @@ export interface PersistentStorageSettings {
1789
2059
  accCalibration: boolean;
1790
2060
  }
1791
2061
  /**
1792
- * CPU information.
2062
+ * CPU information (deprecated, use SystemPerformanceInfo instead).
1793
2063
  *
1794
2064
  * Contains information about the CPU load and memory usage of the drone.
1795
2065
  */
@@ -1802,11 +2072,279 @@ export interface CPUInfo {
1802
2072
  mainQueueLoad: number;
1803
2073
  /** Guestport queue load (0..1). */
1804
2074
  guestportQueueLoad: number;
2075
+ /** Communication queue load (0..1). */
2076
+ commQueueLoad: number;
2077
+ }
2078
+ /** Per-core CPU utilization. */
2079
+ export interface CpuCoreLoad {
2080
+ /** Core index (0-based). */
2081
+ coreIndex: number;
2082
+ /** Core load (0..1). */
2083
+ load: number;
2084
+ /** Current clock frequency (MHz). */
2085
+ frequencyMhz: number;
2086
+ }
2087
+ /** GPU utilization and status. */
2088
+ export interface GpuInfo {
2089
+ /** GPU load (0..1). */
2090
+ load: number;
2091
+ /** Current GPU clock frequency (MHz). */
2092
+ frequencyMhz: number;
2093
+ }
2094
+ /**
2095
+ * Deep Learning Accelerator (DLA) utilization.
2096
+ *
2097
+ * Jetson Orin NX has two DLA engines used for inference offload.
2098
+ */
2099
+ export interface DlaInfo {
2100
+ /** DLA engine index (0-based). */
2101
+ engineIndex: number;
2102
+ /** DLA engine load (0..1). */
2103
+ load: number;
2104
+ /** Core clock frequency (MHz). 0 when disabled. */
2105
+ frequencyMhz: number;
2106
+ /** True when the DLA engine is actively processing. */
2107
+ enabled: boolean;
2108
+ /** Falcon microcontroller clock frequency (MHz). 0 when disabled. */
2109
+ falconFrequencyMhz: number;
2110
+ }
2111
+ /** System memory information. */
2112
+ export interface MemoryInfo {
2113
+ /** Total RAM (bytes). */
2114
+ totalBytes: number;
2115
+ /** Used RAM (bytes). */
2116
+ usedBytes: number;
2117
+ /** Cached RAM (bytes). */
2118
+ cachedBytes: number;
2119
+ /** Memory bus utilization (0..1). i.MX only. */
2120
+ busLoad: number;
2121
+ }
2122
+ /** Thermal zone reading. */
2123
+ export interface ThermalZone {
2124
+ /** Thermal zone identifier. */
2125
+ zone: ThermalZoneId;
2126
+ /** Temperature (°C). */
2127
+ temperature: number;
2128
+ }
2129
+ /** Video codec engine status. */
2130
+ export interface VideoCodecInfo {
2131
+ /** Jetson only (NVENC/NVDEC/NVJPG/VIC devfreq). */
2132
+ encoderActive: boolean;
2133
+ /** Video encoder clock frequency (MHz). */
2134
+ encoderFrequencyMhz: number;
2135
+ /** Video decoder (NVDEC) is active. */
2136
+ decoderActive: boolean;
2137
+ /** Video decoder clock frequency (MHz). */
2138
+ decoderFrequencyMhz: number;
2139
+ /** JPEG engine (NVJPG) is active. */
2140
+ nvjpgActive: boolean;
2141
+ /** JPEG engine clock frequency (MHz). */
2142
+ nvjpgFrequencyMhz: number;
2143
+ /** Video Image Compositor (VIC) is active. */
2144
+ vicActive: boolean;
2145
+ /** VIC clock frequency (MHz). */
2146
+ vicFrequencyMhz: number;
2147
+ /** i.MX only (CODA VPU). */
2148
+ vpuActive: boolean;
2149
+ /** VPU AXI clock frequency (MHz). */
2150
+ vpuFrequencyMhz: number;
2151
+ /** Cumulative VPU_CODEC_IRQ count. */
2152
+ vpuCodecIrqCount: number;
2153
+ /** Cumulative VPU_JPG_IRQ count. */
2154
+ vpuJpgIrqCount: number;
2155
+ }
2156
+ /**
2157
+ * System performance information.
2158
+ *
2159
+ * Comprehensive performance metrics for the drone's compute platform.
2160
+ * Covers CPU, GPU, DLA, memory, thermals, and video codec utilization.
2161
+ * Fields not applicable to a platform are left at their zero/empty defaults.
2162
+ */
2163
+ export interface SystemPerformanceInfo {
2164
+ /** Per-core CPU utilization. */
2165
+ cpuCores: CpuCoreLoad[];
2166
+ /** Mean CPU utilization across all cores (0..1). */
2167
+ cpuUtilization: number;
2168
+ /** GPU utilization. */
2169
+ gpu: GpuInfo | undefined;
2170
+ /** DLA engine utilization (Jetson only). */
2171
+ dlaEngines: DlaInfo[];
2172
+ /** RAM usage. */
2173
+ memory: MemoryInfo | undefined;
2174
+ /** All thermal zone readings. */
2175
+ thermalZones: ThermalZone[];
2176
+ /** Video encoder/decoder status. */
2177
+ videoCodec: VideoCodecInfo | undefined;
2178
+ /** Main queue load (0..1). */
2179
+ mainQueueLoad: number;
2180
+ /** Guestport queue load (0..1). */
2181
+ guestportQueueLoad: number;
2182
+ /** Communication queue load (0..1). */
2183
+ commQueueLoad: number;
2184
+ /** Camera queue load (0..1). */
2185
+ cameraQueueLoad: number;
2186
+ /** Overlay queue load (0..1). */
2187
+ overlayQueueLoad: number;
2188
+ /** Position observer queue load (0..1). */
2189
+ positionObserverQueueLoad: number;
2190
+ }
2191
+ /**
2192
+ * Surface Unit battery information.
2193
+ *
2194
+ * This message is published by the Surface Unit, and re-published by
2195
+ * the drone over the communication protocol.
2196
+ */
2197
+ export interface SurfaceUnitBatteryInfo {
2198
+ /** Battery charge status. */
2199
+ status: SurfaceUnitBatteryInfo_ChargeStatus;
2200
+ /** Battery level (0..1). */
2201
+ level: number;
2202
+ }
2203
+ export declare enum SurfaceUnitBatteryInfo_ChargeStatus {
2204
+ CHARGE_STATUS_UNSPECIFIED = 0,
2205
+ CHARGE_STATUS_DISCHARGE = 1,
2206
+ CHARGE_STATUS_CHARGE = 2,
2207
+ CHARGE_STATUS_CHARGE_ERROR = 3,
2208
+ UNRECOGNIZED = -1
2209
+ }
2210
+ export declare function surfaceUnitBatteryInfo_ChargeStatusFromJSON(object: any): SurfaceUnitBatteryInfo_ChargeStatus;
2211
+ export declare function surfaceUnitBatteryInfo_ChargeStatusToJSON(object: SurfaceUnitBatteryInfo_ChargeStatus): string;
2212
+ /**
2213
+ * Surface Unit version information.
2214
+ *
2215
+ * This message is published by the Surface Unit, and re-published by
2216
+ * the drone over the communication protocol.
2217
+ */
2218
+ export interface SurfaceUnitVersionInfo {
2219
+ /** Surface Unit firmware version (x.y.z). */
2220
+ version: string;
2221
+ }
2222
+ /**
2223
+ * Bounding box for object detection.
2224
+ *
2225
+ * Coordinates are in pixels relative to the camera image,
2226
+ * where (x, y) is the top-left corner of the bounding box.
2227
+ */
2228
+ export interface BoundingBox {
2229
+ /** Horizontal offset of the top-left corner (px). */
2230
+ x: number;
2231
+ /** Vertical offset of the top-left corner (px). */
2232
+ y: number;
2233
+ /** Width of the bounding box (px). */
2234
+ width: number;
2235
+ /** Height of the bounding box (px). */
2236
+ height: number;
2237
+ }
2238
+ /**
2239
+ * RLE-encoded binary segmentation mask relative to the bounding box.
2240
+ *
2241
+ * The mask bitmap has dimensions (mask_width x mask_height) covering the
2242
+ * detection's bounding box area. The counts field stores run-length encoded
2243
+ * data as packed uint16 little-endian: alternating background/foreground
2244
+ * pixel runs starting with background.
2245
+ */
2246
+ export interface SegmentationMask {
2247
+ /** Width of the RLE bitmap. */
2248
+ maskWidth: number;
2249
+ /** Height of the RLE bitmap. */
2250
+ maskHeight: number;
2251
+ /** RLE counts as packed uint16 little-endian. */
2252
+ counts: Uint8Array;
2253
+ }
2254
+ /** A single object detection from a computer vision model. */
2255
+ export interface ObjectDetection {
2256
+ /** Bounding box of the detected object. */
2257
+ boundingBox: BoundingBox | undefined;
2258
+ /** Detection confidence score (0..1). */
2259
+ confidence: number;
2260
+ /** Numeric class identifier from the model. */
2261
+ classId: number;
2262
+ /** Human-readable class name. */
2263
+ className: string;
2264
+ /** Unique ID for tracking the same object across frames. */
2265
+ trackingId: number;
2266
+ /** Instance segmentation mask (absent if model has no segmentation). */
2267
+ mask: SegmentationMask | undefined;
2268
+ }
2269
+ /** A list of object detections from a single model for a single video frame. */
2270
+ export interface ModelDetections {
2271
+ /** List of detections in the frame. */
2272
+ detections: ObjectDetection[];
2273
+ /** Which camera the detections are from. */
2274
+ camera: Camera;
2275
+ /** Width of the source image (px). */
2276
+ imageWidth: number;
2277
+ /** Height of the source image (px). */
2278
+ imageHeight: number;
2279
+ /** Name of the computer vision model that produced the detections. */
2280
+ modelName: string;
2281
+ }
2282
+ /** Generic filter settings. */
2283
+ export interface FilterMessage {
2284
+ /** If the filter is enabled. */
2285
+ enabled: boolean;
2286
+ /** Intensity of the filter (0..1). */
2287
+ intensity: number;
2288
+ }
2289
+ /**
2290
+ * Digital pan, tilt, and zoom state for the main camera.
2291
+ *
2292
+ * Only supported on X3 Ultra. Controls digital (not mechanical) zoom.
2293
+ */
2294
+ export interface CameraPanTiltZoom {
2295
+ /** Horizontal pan (-1.0..1.0), where 0.0 is center. */
2296
+ pan: number;
2297
+ /** Vertical tilt (-1.0..1.0), where 0.0 is center. */
2298
+ tilt: number;
2299
+ /** Zoom level (0.0..1.0), where 0.0 is no zoom and 1.0 is maximum zoom. */
2300
+ zoom: number;
2301
+ }
2302
+ /**
2303
+ * Information about the operator controlling the drone.
2304
+ *
2305
+ * Used to identify who started a dive, for reporting and when importing
2306
+ * dives to Blueye Cloud.
2307
+ */
2308
+ export interface OperatorInfo {
2309
+ /** Full name of the operator. */
2310
+ name: string;
2311
+ /** E-mail address of the operator. */
2312
+ email: string;
2313
+ }
2314
+ /** Single-object tracking (SOT) state reported by the computer vision pipeline. */
2315
+ export interface SotState {
2316
+ /** Current tracking state. */
2317
+ state: SotState_State;
2318
+ /** Current tracked bounding box (valid when TRACKING). */
2319
+ boundingBox: BoundingBox | undefined;
2320
+ /** Width of the source frame in pixels. */
2321
+ imageWidth: number;
2322
+ /** Height of the source frame in pixels. */
2323
+ imageHeight: number;
2324
+ }
2325
+ /** Current state of the SOT tracker. */
2326
+ export declare enum SotState_State {
2327
+ /** STATE_UNSPECIFIED - Unspecified state. */
2328
+ STATE_UNSPECIFIED = 0,
2329
+ /** STATE_IDLE - No target selected, waiting for a target bounding box. */
2330
+ STATE_IDLE = 1,
2331
+ /** STATE_TRACKING - Actively tracking a target. */
2332
+ STATE_TRACKING = 2,
2333
+ /** STATE_LOST - Target was lost (tracker failed to follow the object). */
2334
+ STATE_LOST = 3,
2335
+ UNRECOGNIZED = -1
1805
2336
  }
2337
+ export declare function sotState_StateFromJSON(object: any): SotState_State;
2338
+ export declare function sotState_StateToJSON(object: SotState_State): string;
1806
2339
  export declare const BinlogRecord: MessageFns<BinlogRecord>;
2340
+ export declare const LogEntry: MessageFns<LogEntry>;
2341
+ export declare const KernelLogEntry: MessageFns<KernelLogEntry>;
2342
+ export declare const KernelLogEntry_KeyValuePair: MessageFns<KernelLogEntry_KeyValuePair>;
1807
2343
  export declare const MotionInput: MessageFns<MotionInput>;
1808
2344
  export declare const Lights: MessageFns<Lights>;
1809
2345
  export declare const Laser: MessageFns<Laser>;
2346
+ export declare const Point2D: MessageFns<Point2D>;
2347
+ export declare const LaserDetection: MessageFns<LaserDetection>;
1810
2348
  export declare const LatLongPosition: MessageFns<LatLongPosition>;
1811
2349
  export declare const ConnectionDuration: MessageFns<ConnectionDuration>;
1812
2350
  export declare const AutoHeadingState: MessageFns<AutoHeadingState>;
@@ -1863,6 +2401,7 @@ export declare const IperfStatus: MessageFns<IperfStatus>;
1863
2401
  export declare const NStreamers: MessageFns<NStreamers>;
1864
2402
  export declare const TiltAngle: MessageFns<TiltAngle>;
1865
2403
  export declare const TiltVelocity: MessageFns<TiltVelocity>;
2404
+ export declare const CvModelInfo: MessageFns<CvModelInfo>;
1866
2405
  export declare const DroneInfo: MessageFns<DroneInfo>;
1867
2406
  export declare const ErrorFlags: MessageFns<ErrorFlags>;
1868
2407
  export declare const CameraParameters: MessageFns<CameraParameters>;
@@ -1889,6 +2428,23 @@ export declare const MultibeamFrameOffset: MessageFns<MultibeamFrameOffset>;
1889
2428
  export declare const MutltibeamRecordingIndex: MessageFns<MutltibeamRecordingIndex>;
1890
2429
  export declare const PersistentStorageSettings: MessageFns<PersistentStorageSettings>;
1891
2430
  export declare const CPUInfo: MessageFns<CPUInfo>;
2431
+ export declare const CpuCoreLoad: MessageFns<CpuCoreLoad>;
2432
+ export declare const GpuInfo: MessageFns<GpuInfo>;
2433
+ export declare const DlaInfo: MessageFns<DlaInfo>;
2434
+ export declare const MemoryInfo: MessageFns<MemoryInfo>;
2435
+ export declare const ThermalZone: MessageFns<ThermalZone>;
2436
+ export declare const VideoCodecInfo: MessageFns<VideoCodecInfo>;
2437
+ export declare const SystemPerformanceInfo: MessageFns<SystemPerformanceInfo>;
2438
+ export declare const SurfaceUnitBatteryInfo: MessageFns<SurfaceUnitBatteryInfo>;
2439
+ export declare const SurfaceUnitVersionInfo: MessageFns<SurfaceUnitVersionInfo>;
2440
+ export declare const BoundingBox: MessageFns<BoundingBox>;
2441
+ export declare const SegmentationMask: MessageFns<SegmentationMask>;
2442
+ export declare const ObjectDetection: MessageFns<ObjectDetection>;
2443
+ export declare const ModelDetections: MessageFns<ModelDetections>;
2444
+ export declare const FilterMessage: MessageFns<FilterMessage>;
2445
+ export declare const CameraPanTiltZoom: MessageFns<CameraPanTiltZoom>;
2446
+ export declare const OperatorInfo: MessageFns<OperatorInfo>;
2447
+ export declare const SotState: MessageFns<SotState>;
1892
2448
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
1893
2449
  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 {} ? {
1894
2450
  [K in keyof T]?: DeepPartial<T[K]>;