@blueyerobotics/protocol-definitions 3.2.0-153cd3ce → 3.2.0-2bcfe527

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.
@@ -154,6 +154,22 @@ export declare enum NotificationLevel {
154
154
  }
155
155
  export declare function notificationLevelFromJSON(object: any): NotificationLevel;
156
156
  export declare function notificationLevelToJSON(object: NotificationLevel): string;
157
+ /**
158
+ * Storage location.
159
+ *
160
+ * Used to specify which storage location to use for recording photos and videos.
161
+ */
162
+ export declare enum StorageLocation {
163
+ /** STORAGE_LOCATION_UNSPECIFIED - Unspecified. */
164
+ STORAGE_LOCATION_UNSPECIFIED = 0,
165
+ /** STORAGE_LOCATION_INTERNAL - Internal storage of the drone. */
166
+ STORAGE_LOCATION_INTERNAL = 1,
167
+ /** STORAGE_LOCATION_REMOVABLE - Removable storage device. */
168
+ STORAGE_LOCATION_REMOVABLE = 2,
169
+ UNRECOGNIZED = -1
170
+ }
171
+ export declare function storageLocationFromJSON(object: any): StorageLocation;
172
+ export declare function storageLocationToJSON(object: StorageLocation): string;
157
173
  /** Drone models produced by Blueye. */
158
174
  export declare enum Model {
159
175
  /** MODEL_UNSPECIFIED - ModelName not specified. */
@@ -168,6 +184,8 @@ export declare enum Model {
168
184
  MODEL_X3 = 3,
169
185
  /** MODEL_X3_ULTRA - Blueye X3 Ultra. */
170
186
  MODEL_X3_ULTRA = 6,
187
+ /** MODEL_X7 - Blueye X7. */
188
+ MODEL_X7 = 7,
171
189
  /** MODEL_NEXT - Blueye ? */
172
190
  MODEL_NEXT = 5,
173
191
  UNRECOGNIZED = -1
@@ -194,24 +212,35 @@ export declare function pressureSensorTypeToJSON(object: PressureSensorType): st
194
212
  export declare enum Resolution {
195
213
  /** RESOLUTION_UNSPECIFIED - Resolution not specified. */
196
214
  RESOLUTION_UNSPECIFIED = 0,
197
- /** RESOLUTION_FULLHD_1080P - 1080p Full HD resolution. */
198
- RESOLUTION_FULLHD_1080P = 1,
199
- /** RESOLUTION_HD_720P - 720p HD resolution. */
215
+ /** RESOLUTION_VGA_480P - VGA (640x480). */
216
+ RESOLUTION_VGA_480P = 4,
217
+ /** RESOLUTION_HD_720P - 720p HD (1280x720). */
200
218
  RESOLUTION_HD_720P = 2,
201
- /** RESOLUTION_UHD_4K - 4K Ultra HD resolution. */
219
+ /** RESOLUTION_FULLHD_1080P - 1080p Full HD (1920x1080). */
220
+ RESOLUTION_FULLHD_1080P = 1,
221
+ /** RESOLUTION_UHD_4K - 4K Ultra HD (3840x2160, Only supported on X3 Ultra). */
202
222
  RESOLUTION_UHD_4K = 3,
223
+ /** RESOLUTION_QHD_2K - 2K QHD (2560x1440, Only supported on X3 Ultra). */
224
+ RESOLUTION_QHD_2K = 5,
203
225
  UNRECOGNIZED = -1
204
226
  }
205
227
  export declare function resolutionFromJSON(object: any): Resolution;
206
228
  export declare function resolutionToJSON(object: Resolution): string;
207
- /** Available camera frame rates. */
229
+ /**
230
+ * Available camera frame rates.
231
+ *
232
+ * If the requested frame rate is higher than what is supported at the current resolution,
233
+ * the frame rate will be reduced while the resolution is respected.
234
+ */
208
235
  export declare enum Framerate {
209
236
  /** FRAMERATE_UNSPECIFIED - Framerate not specified. */
210
237
  FRAMERATE_UNSPECIFIED = 0,
211
238
  /** FRAMERATE_FPS_30 - 30 frames per second. */
212
239
  FRAMERATE_FPS_30 = 1,
213
- /** FRAMERATE_FPS_25 - 25 frames per second. */
240
+ /** FRAMERATE_FPS_25 - 25 frames per second. (Only supported on Pioneer/Pro/X1/X3) */
214
241
  FRAMERATE_FPS_25 = 2,
242
+ /** FRAMERATE_FPS_60 - 60 frames per second. (Only supported on X3 Ultra at QHD, 1080p and 720p) */
243
+ FRAMERATE_FPS_60 = 3,
215
244
  UNRECOGNIZED = -1
216
245
  }
217
246
  export declare function framerateFromJSON(object: any): Framerate;
@@ -228,6 +257,29 @@ export declare enum Camera {
228
257
  }
229
258
  export declare function cameraFromJSON(object: any): Camera;
230
259
  export declare function cameraToJSON(object: Camera): string;
260
+ export declare enum StreamingProtocol {
261
+ /** STREAMING_PROTOCOL_UNSPECIFIED - Streaming protocol not specified. */
262
+ STREAMING_PROTOCOL_UNSPECIFIED = 0,
263
+ /** STREAMING_PROTOCOL_RTSP_H264 - RTSP streaming protocol using H264 codec. */
264
+ STREAMING_PROTOCOL_RTSP_H264 = 1,
265
+ /** STREAMING_PROTOCOL_RTSP_MJPEG - RTSP streaming protocol using MJPEG codec. No recording when activated. */
266
+ STREAMING_PROTOCOL_RTSP_MJPEG = 2,
267
+ UNRECOGNIZED = -1
268
+ }
269
+ export declare function streamingProtocolFromJSON(object: any): StreamingProtocol;
270
+ export declare function streamingProtocolToJSON(object: StreamingProtocol): string;
271
+ /** Recording video codec. */
272
+ export declare enum RecordingCodec {
273
+ /** RECORDING_CODEC_UNSPECIFIED - Use platform default (H.264). */
274
+ RECORDING_CODEC_UNSPECIFIED = 0,
275
+ /** RECORDING_CODEC_H264 - H.264/AVC codec. Wider compatibility with players/editors. */
276
+ RECORDING_CODEC_H264 = 1,
277
+ /** RECORDING_CODEC_H265 - H.265/HEVC codec. Better compression, limited compatibility. Ultra only. */
278
+ RECORDING_CODEC_H265 = 2,
279
+ UNRECOGNIZED = -1
280
+ }
281
+ export declare function recordingCodecFromJSON(object: any): RecordingCodec;
282
+ export declare function recordingCodecToJSON(object: RecordingCodec): string;
231
283
  /** Available temperature units. */
232
284
  export declare enum TemperatureUnit {
233
285
  /** TEMPERATURE_UNIT_UNSPECIFIED - Temperature unit not specified. */
@@ -294,6 +346,8 @@ export declare enum FontSize {
294
346
  FONT_SIZE_PX35 = 5,
295
347
  /** FONT_SIZE_PX40 - 40 px. */
296
348
  FONT_SIZE_PX40 = 6,
349
+ /** FONT_SIZE_PX50 - 50 px. */
350
+ FONT_SIZE_PX50 = 7,
297
351
  UNRECOGNIZED = -1
298
352
  }
299
353
  export declare function fontSizeFromJSON(object: any): FontSize;
@@ -390,6 +444,14 @@ export declare enum GuestPortDeviceID {
390
444
  GUEST_PORT_DEVICE_ID_WATERLINKED_SONAR_3D15 = 43,
391
445
  /** GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 - Cerulean Tracker 650. */
392
446
  GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 = 44,
447
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE - Blueye External USB Storage. */
448
+ GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE = 45,
449
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 - Blueye Multibeam Skid Servo V2. */
450
+ GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 = 46,
451
+ /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT - Cerulean Omniscan 450 Compact. */
452
+ GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT = 47,
453
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_SCALING_LASER - Blueye Scaling Laser. */
454
+ GUEST_PORT_DEVICE_ID_BLUEYE_SCALING_LASER = 48,
393
455
  UNRECOGNIZED = -1
394
456
  }
395
457
  export declare function guestPortDeviceIDFromJSON(object: any): GuestPortDeviceID;
@@ -475,6 +537,18 @@ export declare enum MultibeamFrequencyMode {
475
537
  }
476
538
  export declare function multibeamFrequencyModeFromJSON(object: any): MultibeamFrequencyMode;
477
539
  export declare function multibeamFrequencyModeToJSON(object: MultibeamFrequencyMode): string;
540
+ /** Thermal zone identifiers. */
541
+ export declare enum ThermalZoneId {
542
+ /** THERMAL_ZONE_ID_UNSPECIFIED - Unspecified thermal zone. */
543
+ THERMAL_ZONE_ID_UNSPECIFIED = 0,
544
+ /** THERMAL_ZONE_ID_TJ - Junction temperature (Tj). */
545
+ THERMAL_ZONE_ID_TJ = 1,
546
+ /** THERMAL_ZONE_ID_CANISTER - Canister temperature. */
547
+ THERMAL_ZONE_ID_CANISTER = 2,
548
+ UNRECOGNIZED = -1
549
+ }
550
+ export declare function thermalZoneIdFromJSON(object: any): ThermalZoneId;
551
+ export declare function thermalZoneIdToJSON(object: ThermalZoneId): string;
478
552
  /**
479
553
  * Wrapper message for each entry in the drone telemetry logfile.
480
554
  *
@@ -491,6 +565,89 @@ export interface BinlogRecord {
491
565
  /** Posix CLOCK_MONOTONIC timestamp. */
492
566
  clockMonotonic: Date | undefined;
493
567
  }
568
+ /**
569
+ * Log entry
570
+ *
571
+ * Used to store ROS log entries in the bez file
572
+ */
573
+ export interface LogEntry {
574
+ /** Timestamp of the log entry. */
575
+ timestamp: Date | undefined;
576
+ /** Name of the process that generated the log entry. */
577
+ processName: string;
578
+ /** Process ID of the log entry. */
579
+ processId: number;
580
+ /** Thread ID of the log entry. */
581
+ threadId: number;
582
+ /** Source of the log entry (specific class or named logger). */
583
+ source: string;
584
+ /** Log level, info, warning, error, etc. */
585
+ level: LogEntry_LogLevel;
586
+ /** Log message. */
587
+ message: string;
588
+ }
589
+ export declare enum LogEntry_LogLevel {
590
+ /** LOG_LEVEL_UNSPECIFIED - Unspecified log level. */
591
+ LOG_LEVEL_UNSPECIFIED = 0,
592
+ /** LOG_LEVEL_TRACE - Trace log level. */
593
+ LOG_LEVEL_TRACE = 1,
594
+ /** LOG_LEVEL_DEBUG - Debug log level. */
595
+ LOG_LEVEL_DEBUG = 2,
596
+ /** LOG_LEVEL_INFO - Info log level. */
597
+ LOG_LEVEL_INFO = 3,
598
+ /** LOG_LEVEL_WARNING - Warning log level. */
599
+ LOG_LEVEL_WARNING = 4,
600
+ /** LOG_LEVEL_ERROR - Error log level. */
601
+ LOG_LEVEL_ERROR = 5,
602
+ /** LOG_LEVEL_CRITICAL - Critical log level. */
603
+ LOG_LEVEL_CRITICAL = 6,
604
+ UNRECOGNIZED = -1
605
+ }
606
+ export declare function logEntry_LogLevelFromJSON(object: any): LogEntry_LogLevel;
607
+ export declare function logEntry_LogLevelToJSON(object: LogEntry_LogLevel): string;
608
+ export interface KernelLogEntry {
609
+ /** Log level, info, warning, error, etc. */
610
+ level: KernelLogEntry_KernelLogLevel;
611
+ /** Sequence number of the log entry. */
612
+ seqnum: number;
613
+ /** Timestamp of the log entry. */
614
+ timestamp: Date | undefined;
615
+ /** Log messages. */
616
+ messages: string[];
617
+ /** List of key-value pairs. */
618
+ fields: KernelLogEntry_KeyValuePair[];
619
+ }
620
+ /** Kernel log level. */
621
+ export declare enum KernelLogEntry_KernelLogLevel {
622
+ /** KERNEL_LOG_LEVEL_UNSPECIFIED - Unspecified log level. */
623
+ KERNEL_LOG_LEVEL_UNSPECIFIED = 0,
624
+ /** KERNEL_LOG_LEVEL_EMERG - Emergency log level. */
625
+ KERNEL_LOG_LEVEL_EMERG = 1,
626
+ /** KERNEL_LOG_LEVEL_ALERT - Alert log level. */
627
+ KERNEL_LOG_LEVEL_ALERT = 2,
628
+ /** KERNEL_LOG_LEVEL_CRIT - Critical log level. */
629
+ KERNEL_LOG_LEVEL_CRIT = 3,
630
+ /** KERNEL_LOG_LEVEL_ERR - Error log level. */
631
+ KERNEL_LOG_LEVEL_ERR = 4,
632
+ /** KERNEL_LOG_LEVEL_WARNING - Warning log level. */
633
+ KERNEL_LOG_LEVEL_WARNING = 5,
634
+ /** KERNEL_LOG_LEVEL_NOTICE - Notice log level. */
635
+ KERNEL_LOG_LEVEL_NOTICE = 6,
636
+ /** KERNEL_LOG_LEVEL_INFO - Informational log level. */
637
+ KERNEL_LOG_LEVEL_INFO = 7,
638
+ /** KERNEL_LOG_LEVEL_DEBUG - Debug log level. */
639
+ KERNEL_LOG_LEVEL_DEBUG = 8,
640
+ UNRECOGNIZED = -1
641
+ }
642
+ export declare function kernelLogEntry_KernelLogLevelFromJSON(object: any): KernelLogEntry_KernelLogLevel;
643
+ export declare function kernelLogEntry_KernelLogLevelToJSON(object: KernelLogEntry_KernelLogLevel): string;
644
+ /** Key-value pair used for structured logging. */
645
+ export interface KernelLogEntry_KeyValuePair {
646
+ /** Key of the key-value pair. */
647
+ key: string;
648
+ /** Value of the key-value pair. */
649
+ value: string;
650
+ }
494
651
  /** If you use both values at the same time they cancel each other out. */
495
652
  export interface MotionInput {
496
653
  /** Forward (positive) and backwards (negative) movement. (-1..1). */
@@ -660,6 +817,12 @@ export interface RecordState {
660
817
  multibeamSeconds: number;
661
818
  /** Multibeam record fps. */
662
819
  multibeamFps: number;
820
+ /** Storage location used for main camera recording. */
821
+ mainStorageLocation: StorageLocation;
822
+ /** Storage location used for guestport camera recording. */
823
+ guestportStorageLocation: StorageLocation;
824
+ /** Storage location used for multibeam recording. */
825
+ multibeamStorageLocation: StorageLocation;
663
826
  }
664
827
  /** Time-lapse state published if time-lapse mission is running. */
665
828
  export interface TimeLapseState {
@@ -705,7 +868,7 @@ export interface WaterTemperature {
705
868
  /** Water temperature (°C). */
706
869
  value: number;
707
870
  }
708
- /** CPU temperature. */
871
+ /** CPU temperature (deprecated, use SystemPerformanceInfo.thermal_zones instead). */
709
872
  export interface CPUTemperature {
710
873
  /** CPU temperature (°C). */
711
874
  value: number;
@@ -1127,7 +1290,7 @@ export interface DiveTime {
1127
1290
  /** Number of seconds the drone has been submerged. */
1128
1291
  value: number;
1129
1292
  }
1130
- /** Which cameras are supposed to be recording. */
1293
+ /** Which cameras or multibeam are supposed to be recording. */
1131
1294
  export interface RecordOn {
1132
1295
  /** Record the main camera. */
1133
1296
  main: boolean;
@@ -1143,6 +1306,65 @@ export interface StorageSpace {
1143
1306
  /** Available bytes of storage space (B). */
1144
1307
  freeSpace: number;
1145
1308
  }
1309
+ /** Storage partition. */
1310
+ export interface StoragePartition {
1311
+ /** The amount of storage space on the device. */
1312
+ storageSpace: StorageSpace | undefined;
1313
+ /** File system type of the removable storage device. */
1314
+ fileSystemType: string;
1315
+ /** Partition device path */
1316
+ devicePath: string;
1317
+ /** Mount path of the partition. */
1318
+ mountPath: string;
1319
+ /** Label of the partition. */
1320
+ label: string;
1321
+ }
1322
+ /** Removable storage device. */
1323
+ export interface RemovableStorageDevice {
1324
+ /** USB vendor name. */
1325
+ vendorName: string;
1326
+ /** Model name of the USB storage device. */
1327
+ modelName: string;
1328
+ /** Mount path of the storage device. */
1329
+ devicePath: string;
1330
+ /** Status of the storage device. */
1331
+ status: RemovableStorageDevice_Status;
1332
+ /** Any active error flags for the storage device. */
1333
+ errorFlags: RemovableStorageErrorFlags | undefined;
1334
+ /** List of partitions on the storage device. */
1335
+ partitions: StoragePartition[];
1336
+ }
1337
+ /** Overall status of the storage device. */
1338
+ export declare enum RemovableStorageDevice_Status {
1339
+ /** STATUS_UNSPECIFIED - Unspecified. */
1340
+ STATUS_UNSPECIFIED = 0,
1341
+ /** STATUS_READY - The storage device is valid and ready for use. */
1342
+ STATUS_READY = 1,
1343
+ /** STATUS_FORMATTING - The storage device is being formatted. */
1344
+ STATUS_FORMATTING = 2,
1345
+ /** STATUS_ERROR - The storage device is in an error state. */
1346
+ STATUS_ERROR = 3,
1347
+ /** STATUS_UNPLUGGED - The storage device is not present. */
1348
+ STATUS_UNPLUGGED = 4,
1349
+ UNRECOGNIZED = -1
1350
+ }
1351
+ export declare function removableStorageDevice_StatusFromJSON(object: any): RemovableStorageDevice_Status;
1352
+ export declare function removableStorageDevice_StatusToJSON(object: RemovableStorageDevice_Status): string;
1353
+ /** Error flags related to a removable storage device. */
1354
+ export interface RemovableStorageErrorFlags {
1355
+ /** Optional error message to give additional information from the drone to a client about active error flags. */
1356
+ errorMessage: string;
1357
+ /** Device is attached but no partitions are found. */
1358
+ noPartitionsFound: boolean;
1359
+ /** Multiple partitions are found. */
1360
+ multiplePartitionsFound: boolean;
1361
+ /** The wrong file system is found. */
1362
+ wrongFileSystemFound: boolean;
1363
+ /** The device is in read-only mode. */
1364
+ deviceIsReadOnly: boolean;
1365
+ /** Formatting of the device failed. */
1366
+ formattingFailed: boolean;
1367
+ }
1146
1368
  /** Compass calibration state. */
1147
1369
  export interface CalibrationState {
1148
1370
  /** Current calibration status. */
@@ -1165,7 +1387,7 @@ export interface CalibrationState {
1165
1387
  /**
1166
1388
  * Status of the compass calibration procedure.
1167
1389
  *
1168
- * When calibration is started, the status will indicate the active (upfacing) axis.
1390
+ * When calibration is started, the status will indicate the active (up facing) axis.
1169
1391
  */
1170
1392
  export declare enum CalibrationState_Status {
1171
1393
  /** STATUS_UNSPECIFIED - Unspecified status. */
@@ -1186,7 +1408,7 @@ export declare enum CalibrationState_Status {
1186
1408
  STATUS_CALIBRATING_Z_POSITIVE = 7,
1187
1409
  /** STATUS_CALIBRATING_Z_NEGATIVE - Compass is calibrating and the negative Z axis is active. */
1188
1410
  STATUS_CALIBRATING_Z_NEGATIVE = 8,
1189
- /** STATUS_CALIBRATING_THRUSTER - Compass is calibrating for thruster interferance. */
1411
+ /** STATUS_CALIBRATING_THRUSTER - Compass is calibrating for thruster interference. */
1190
1412
  STATUS_CALIBRATING_THRUSTER = 9,
1191
1413
  UNRECOGNIZED = -1
1192
1414
  }
@@ -1352,22 +1574,57 @@ export interface CameraParameters {
1352
1574
  mjpgBitrate: number;
1353
1575
  /** Shutter speed (1/10000 * s), -1 for automatic exposure. */
1354
1576
  exposure: number;
1355
- /** White balance temperature (2800..9300), -1 for automatic white balance. */
1577
+ /** White balance temp (Pioneer/Pro/X1/X3: 2800..9300, Ultra: 2300..15000), -1 for auto. */
1356
1578
  whiteBalance: number;
1357
- /** Hue (-40..40), 0 as default. */
1579
+ /** Hue (-40..40), 0 as default. Only available on Pioneer/Pro/X1/X3. */
1358
1580
  hue: number;
1359
- /** Iso gain (0..1). */
1581
+ /** Iso gain (0..1). Only available on Pioneer/Pro/X1/X3. */
1360
1582
  gain: number;
1583
+ /** Brightness (-10..10), 0 as default. Only available on Ultra */
1584
+ brightness: number;
1585
+ /** Contrast (-50..50), 0 as default. Only available on Ultra. */
1586
+ contrast: number;
1587
+ /** Saturation (0..50), 8 as default. Only available on Ultra. */
1588
+ saturation: number;
1589
+ /** Gamma (4..79), 22 as default. Only available on Ultra. */
1590
+ gamma: number;
1591
+ /** Sharpness (-20..20), -20 as default. Only available on Ultra. */
1592
+ sharpness: number;
1593
+ /** Backlight compensation (-150..150), 10 as default. Only available on Ultra. */
1594
+ backlightCompensation: number;
1595
+ /** Noise reduction (-20..20), -20 as default. Only available on Ultra. */
1596
+ denoise: number;
1597
+ /** Enable eHDR mode. Default true. Only available on Ultra. */
1598
+ ehdrEnabled: boolean;
1599
+ /** Minimum number of eHDR frames. (1..4), default 1. Only available on Ultra. */
1600
+ ehdrExposureMinNumber: number;
1601
+ /** Maximum number of eHDR frames. (1..4), default 2. Only on Ultra. Setting larger than 2 can reduce the framerate. */
1602
+ ehdrExposureMaxNumber: number;
1361
1603
  /** Stream, recording and image resolution (deprecated). */
1362
1604
  resolution: Resolution;
1363
1605
  /** Stream resolution. */
1364
1606
  streamResolution: Resolution;
1365
1607
  /** Recording and image resolution. */
1366
1608
  recordingResolution: Resolution;
1609
+ /** Streaming protocol. */
1610
+ streamingProtocol: StreamingProtocol;
1367
1611
  /** Stream and recording framerate. */
1368
1612
  framerate: Framerate;
1369
1613
  /** Which camera the parameters belong to. */
1370
1614
  camera: Camera;
1615
+ /**
1616
+ * Network MTU (Maximum Transmission Unit) size for video streaming in bytes (68..65535).
1617
+ * If 0 or unset, the system will use a default of 1400.
1618
+ * The Blueye App allows users to set values between 500 and 1460.
1619
+ */
1620
+ mtuSize: number;
1621
+ /** Recording video codec. If unset, uses platform default. */
1622
+ recordingCodec: RecordingCodec;
1623
+ /**
1624
+ * Recording bitrate in bits/sec. If 0 or unset, a default is computed based
1625
+ * on resolution, framerate, and encoding. Set explicitly to override.
1626
+ */
1627
+ recordingBitrate: number;
1371
1628
  }
1372
1629
  /**
1373
1630
  * Overlay parameters.
@@ -1593,8 +1850,7 @@ export interface MultibeamPing {
1593
1850
  /** Size in bytes of each row in the ping data image. */
1594
1851
  step: number;
1595
1852
  /**
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).
1853
+ * Bearing angle of each column of the sonar data in degrees.
1598
1854
  * The sonar image is not sampled uniformly in the bearing direction.
1599
1855
  */
1600
1856
  bearings: number[];
@@ -1734,7 +1990,7 @@ export interface PersistentStorageSettings {
1734
1990
  accCalibration: boolean;
1735
1991
  }
1736
1992
  /**
1737
- * CPU information.
1993
+ * CPU information (deprecated, use SystemPerformanceInfo instead).
1738
1994
  *
1739
1995
  * Contains information about the CPU load and memory usage of the drone.
1740
1996
  */
@@ -1747,8 +2003,231 @@ export interface CPUInfo {
1747
2003
  mainQueueLoad: number;
1748
2004
  /** Guestport queue load (0..1). */
1749
2005
  guestportQueueLoad: number;
2006
+ /** Communication queue load (0..1). */
2007
+ commQueueLoad: number;
2008
+ }
2009
+ /** Per-core CPU utilization. */
2010
+ export interface CpuCoreLoad {
2011
+ /** Core index (0-based). */
2012
+ coreIndex: number;
2013
+ /** Core load (0..1). */
2014
+ load: number;
2015
+ /** Current clock frequency (MHz). */
2016
+ frequencyMhz: number;
2017
+ }
2018
+ /** GPU utilization and status. */
2019
+ export interface GpuInfo {
2020
+ /** GPU load (0..1). */
2021
+ load: number;
2022
+ /** Current GPU clock frequency (MHz). */
2023
+ frequencyMhz: number;
2024
+ }
2025
+ /**
2026
+ * Deep Learning Accelerator (DLA) utilization.
2027
+ *
2028
+ * Jetson Orin NX has two DLA engines used for inference offload.
2029
+ */
2030
+ export interface DlaInfo {
2031
+ /** DLA engine index (0-based). */
2032
+ engineIndex: number;
2033
+ /** DLA engine load (0..1). */
2034
+ load: number;
2035
+ /** Core clock frequency (MHz). 0 when disabled. */
2036
+ frequencyMhz: number;
2037
+ /** True when the DLA engine is actively processing. */
2038
+ enabled: boolean;
2039
+ /** Falcon microcontroller clock frequency (MHz). 0 when disabled. */
2040
+ falconFrequencyMhz: number;
2041
+ }
2042
+ /** System memory information. */
2043
+ export interface MemoryInfo {
2044
+ /** Total RAM (bytes). */
2045
+ totalBytes: number;
2046
+ /** Used RAM (bytes). */
2047
+ usedBytes: number;
2048
+ /** Cached RAM (bytes). */
2049
+ cachedBytes: number;
2050
+ /** Memory bus utilization (0..1). i.MX only. */
2051
+ busLoad: number;
2052
+ }
2053
+ /** Thermal zone reading. */
2054
+ export interface ThermalZone {
2055
+ /** Thermal zone identifier. */
2056
+ zone: ThermalZoneId;
2057
+ /** Temperature (°C). */
2058
+ temperature: number;
2059
+ }
2060
+ /** Video codec engine status. */
2061
+ export interface VideoCodecInfo {
2062
+ /** Jetson only (NVENC/NVDEC/NVJPG/VIC devfreq). */
2063
+ encoderActive: boolean;
2064
+ /** Video encoder clock frequency (MHz). */
2065
+ encoderFrequencyMhz: number;
2066
+ /** Video decoder (NVDEC) is active. */
2067
+ decoderActive: boolean;
2068
+ /** Video decoder clock frequency (MHz). */
2069
+ decoderFrequencyMhz: number;
2070
+ /** JPEG engine (NVJPG) is active. */
2071
+ nvjpgActive: boolean;
2072
+ /** JPEG engine clock frequency (MHz). */
2073
+ nvjpgFrequencyMhz: number;
2074
+ /** Video Image Compositor (VIC) is active. */
2075
+ vicActive: boolean;
2076
+ /** VIC clock frequency (MHz). */
2077
+ vicFrequencyMhz: number;
2078
+ /** i.MX only (CODA VPU). */
2079
+ vpuActive: boolean;
2080
+ /** VPU AXI clock frequency (MHz). */
2081
+ vpuFrequencyMhz: number;
2082
+ /** Cumulative VPU_CODEC_IRQ count. */
2083
+ vpuCodecIrqCount: number;
2084
+ /** Cumulative VPU_JPG_IRQ count. */
2085
+ vpuJpgIrqCount: number;
2086
+ }
2087
+ /**
2088
+ * System performance information.
2089
+ *
2090
+ * Comprehensive performance metrics for the drone's compute platform.
2091
+ * Covers CPU, GPU, DLA, memory, thermals, and video codec utilization.
2092
+ * Fields not applicable to a platform are left at their zero/empty defaults.
2093
+ */
2094
+ export interface SystemPerformanceInfo {
2095
+ /** Per-core CPU utilization. */
2096
+ cpuCores: CpuCoreLoad[];
2097
+ /** Mean CPU utilization across all cores (0..1). */
2098
+ cpuUtilization: number;
2099
+ /** GPU utilization. */
2100
+ gpu: GpuInfo | undefined;
2101
+ /** DLA engine utilization (Jetson only). */
2102
+ dlaEngines: DlaInfo[];
2103
+ /** RAM usage. */
2104
+ memory: MemoryInfo | undefined;
2105
+ /** All thermal zone readings. */
2106
+ thermalZones: ThermalZone[];
2107
+ /** Video encoder/decoder status. */
2108
+ videoCodec: VideoCodecInfo | undefined;
2109
+ /** Main queue load (0..1). */
2110
+ mainQueueLoad: number;
2111
+ /** Guestport queue load (0..1). */
2112
+ guestportQueueLoad: number;
2113
+ /** Communication queue load (0..1). */
2114
+ commQueueLoad: number;
2115
+ /** Camera queue load (0..1). */
2116
+ cameraQueueLoad: number;
2117
+ /** Overlay queue load (0..1). */
2118
+ overlayQueueLoad: number;
2119
+ /** Position observer queue load (0..1). */
2120
+ positionObserverQueueLoad: number;
2121
+ }
2122
+ /**
2123
+ * Surface Unit battery information.
2124
+ *
2125
+ * This message is published by the Surface Unit, and re-published by
2126
+ * the drone over the communication protocol.
2127
+ */
2128
+ export interface SurfaceUnitBatteryInfo {
2129
+ /** Battery charge status. */
2130
+ status: SurfaceUnitBatteryInfo_ChargeStatus;
2131
+ /** Battery level (0..1). */
2132
+ level: number;
2133
+ }
2134
+ export declare enum SurfaceUnitBatteryInfo_ChargeStatus {
2135
+ CHARGE_STATUS_UNSPECIFIED = 0,
2136
+ CHARGE_STATUS_DISCHARGE = 1,
2137
+ CHARGE_STATUS_CHARGE = 2,
2138
+ CHARGE_STATUS_CHARGE_ERROR = 3,
2139
+ UNRECOGNIZED = -1
2140
+ }
2141
+ export declare function surfaceUnitBatteryInfo_ChargeStatusFromJSON(object: any): SurfaceUnitBatteryInfo_ChargeStatus;
2142
+ export declare function surfaceUnitBatteryInfo_ChargeStatusToJSON(object: SurfaceUnitBatteryInfo_ChargeStatus): string;
2143
+ /**
2144
+ * Surface Unit version information.
2145
+ *
2146
+ * This message is published by the Surface Unit, and re-published by
2147
+ * the drone over the communication protocol.
2148
+ */
2149
+ export interface SurfaceUnitVersionInfo {
2150
+ /** Surface Unit firmware version (x.y.z). */
2151
+ version: string;
2152
+ }
2153
+ /**
2154
+ * Bounding box for object detection.
2155
+ *
2156
+ * Coordinates are in pixels relative to the camera image,
2157
+ * where (x, y) is the top-left corner of the bounding box.
2158
+ */
2159
+ export interface BoundingBox {
2160
+ /** Horizontal offset of the top-left corner (px). */
2161
+ x: number;
2162
+ /** Vertical offset of the top-left corner (px). */
2163
+ y: number;
2164
+ /** Width of the bounding box (px). */
2165
+ width: number;
2166
+ /** Height of the bounding box (px). */
2167
+ height: number;
2168
+ }
2169
+ /** A single object detection from a computer vision model. */
2170
+ export interface ObjectDetection {
2171
+ /** Bounding box of the detected object. */
2172
+ boundingBox: BoundingBox | undefined;
2173
+ /** Detection confidence score (0..1). */
2174
+ confidence: number;
2175
+ /** Numeric class identifier from the model. */
2176
+ classId: number;
2177
+ /** Human-readable class name. */
2178
+ className: string;
2179
+ /** Unique ID for tracking the same object across frames. */
2180
+ trackingId: number;
2181
+ }
2182
+ /** A list of object detections from a single model for a single video frame. */
2183
+ export interface ModelDetections {
2184
+ /** List of detections in the frame. */
2185
+ detections: ObjectDetection[];
2186
+ /** Which camera the detections are from. */
2187
+ camera: Camera;
2188
+ /** Width of the source image (px). */
2189
+ imageWidth: number;
2190
+ /** Height of the source image (px). */
2191
+ imageHeight: number;
2192
+ /** Name of the computer vision model that produced the detections. */
2193
+ modelName: string;
2194
+ }
2195
+ /** Generic filter settings. */
2196
+ export interface FilterMessage {
2197
+ /** If the filter is enabled. */
2198
+ enabled: boolean;
2199
+ /** Intensity of the filter (0..1). */
2200
+ intensity: number;
2201
+ }
2202
+ /**
2203
+ * Digital pan, tilt, and zoom state for the main camera.
2204
+ *
2205
+ * Only supported on X3 Ultra. Controls digital (not mechanical) zoom.
2206
+ */
2207
+ export interface CameraPanTiltZoom {
2208
+ /** Horizontal pan (-1.0..1.0), where 0.0 is center. */
2209
+ pan: number;
2210
+ /** Vertical tilt (-1.0..1.0), where 0.0 is center. */
2211
+ tilt: number;
2212
+ /** Zoom level (0.0..1.0), where 0.0 is no zoom and 1.0 is maximum zoom. */
2213
+ zoom: number;
2214
+ }
2215
+ /**
2216
+ * Information about the operator controlling the drone.
2217
+ *
2218
+ * Used to identify who started a dive, for reporting and when importing
2219
+ * dives to Blueye Cloud.
2220
+ */
2221
+ export interface OperatorInfo {
2222
+ /** Full name of the operator. */
2223
+ name: string;
2224
+ /** E-mail address of the operator. */
2225
+ email: string;
1750
2226
  }
1751
2227
  export declare const BinlogRecord: MessageFns<BinlogRecord>;
2228
+ export declare const LogEntry: MessageFns<LogEntry>;
2229
+ export declare const KernelLogEntry: MessageFns<KernelLogEntry>;
2230
+ export declare const KernelLogEntry_KeyValuePair: MessageFns<KernelLogEntry_KeyValuePair>;
1752
2231
  export declare const MotionInput: MessageFns<MotionInput>;
1753
2232
  export declare const Lights: MessageFns<Lights>;
1754
2233
  export declare const Laser: MessageFns<Laser>;
@@ -1800,6 +2279,9 @@ export declare const ControllerHealth: MessageFns<ControllerHealth>;
1800
2279
  export declare const DiveTime: MessageFns<DiveTime>;
1801
2280
  export declare const RecordOn: MessageFns<RecordOn>;
1802
2281
  export declare const StorageSpace: MessageFns<StorageSpace>;
2282
+ export declare const StoragePartition: MessageFns<StoragePartition>;
2283
+ export declare const RemovableStorageDevice: MessageFns<RemovableStorageDevice>;
2284
+ export declare const RemovableStorageErrorFlags: MessageFns<RemovableStorageErrorFlags>;
1803
2285
  export declare const CalibrationState: MessageFns<CalibrationState>;
1804
2286
  export declare const IperfStatus: MessageFns<IperfStatus>;
1805
2287
  export declare const NStreamers: MessageFns<NStreamers>;
@@ -1831,22 +2313,31 @@ export declare const MultibeamFrameOffset: MessageFns<MultibeamFrameOffset>;
1831
2313
  export declare const MutltibeamRecordingIndex: MessageFns<MutltibeamRecordingIndex>;
1832
2314
  export declare const PersistentStorageSettings: MessageFns<PersistentStorageSettings>;
1833
2315
  export declare const CPUInfo: MessageFns<CPUInfo>;
2316
+ export declare const CpuCoreLoad: MessageFns<CpuCoreLoad>;
2317
+ export declare const GpuInfo: MessageFns<GpuInfo>;
2318
+ export declare const DlaInfo: MessageFns<DlaInfo>;
2319
+ export declare const MemoryInfo: MessageFns<MemoryInfo>;
2320
+ export declare const ThermalZone: MessageFns<ThermalZone>;
2321
+ export declare const VideoCodecInfo: MessageFns<VideoCodecInfo>;
2322
+ export declare const SystemPerformanceInfo: MessageFns<SystemPerformanceInfo>;
2323
+ export declare const SurfaceUnitBatteryInfo: MessageFns<SurfaceUnitBatteryInfo>;
2324
+ export declare const SurfaceUnitVersionInfo: MessageFns<SurfaceUnitVersionInfo>;
2325
+ export declare const BoundingBox: MessageFns<BoundingBox>;
2326
+ export declare const ObjectDetection: MessageFns<ObjectDetection>;
2327
+ export declare const ModelDetections: MessageFns<ModelDetections>;
2328
+ export declare const FilterMessage: MessageFns<FilterMessage>;
2329
+ export declare const CameraPanTiltZoom: MessageFns<CameraPanTiltZoom>;
2330
+ export declare const OperatorInfo: MessageFns<OperatorInfo>;
1834
2331
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
1835
2332
  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
2333
  [K in keyof T]?: DeepPartial<T[K]>;
1837
2334
  } : 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
2335
  interface MessageFns<T> {
1845
2336
  encode(message: T, writer?: BinaryWriter): BinaryWriter;
1846
2337
  decode(input: BinaryReader | Uint8Array, length?: number): T;
1847
2338
  fromJSON(object: any): T;
1848
2339
  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;
2340
+ create(base?: DeepPartial<T>): T;
2341
+ fromPartial(object: DeepPartial<T>): T;
1851
2342
  }
1852
2343
  export {};