@blueyerobotics/protocol-definitions 3.2.0-09fee2ba

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.
@@ -0,0 +1,2085 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { Any } from "./google/protobuf/any";
3
+ import { Duration } from "./google/protobuf/duration";
4
+ /**
5
+ * Common messages
6
+ *
7
+ * These are used for logging as well as building requests and responses.
8
+ */
9
+ /** Interval type for time-lapse photos. */
10
+ export declare enum IntervalType {
11
+ /** INTERVAL_TYPE_UNSPECIFIED - Unspecified. */
12
+ INTERVAL_TYPE_UNSPECIFIED = 0,
13
+ /** INTERVAL_TYPE_TIME - Time interval. */
14
+ INTERVAL_TYPE_TIME = 1,
15
+ /** INTERVAL_TYPE_DISTANCE - Distance interval. */
16
+ INTERVAL_TYPE_DISTANCE = 2,
17
+ UNRECOGNIZED = -1
18
+ }
19
+ export declare function intervalTypeFromJSON(object: any): IntervalType;
20
+ export declare function intervalTypeToJSON(object: IntervalType): string;
21
+ /** Location source used in magnetic declination look-up. */
22
+ export declare enum LocationSource {
23
+ /** LOCATION_SOURCE_UNSPECIFIED - The position is not set. */
24
+ LOCATION_SOURCE_UNSPECIFIED = 0,
25
+ /** LOCATION_SOURCE_USER - Typically pilot device GPS. */
26
+ LOCATION_SOURCE_USER = 1,
27
+ /** LOCATION_SOURCE_DRONE - Blueye GPS, DVL, or a USBL system. */
28
+ LOCATION_SOURCE_DRONE = 2,
29
+ UNRECOGNIZED = -1
30
+ }
31
+ export declare function locationSourceFromJSON(object: any): LocationSource;
32
+ export declare function locationSourceToJSON(object: LocationSource): string;
33
+ /** Heading source used during reset of the position estimate. */
34
+ export declare enum HeadingSource {
35
+ /** HEADING_SOURCE_UNSPECIFIED - Unspecified. */
36
+ HEADING_SOURCE_UNSPECIFIED = 0,
37
+ /** HEADING_SOURCE_DRONE_COMPASS - Uses the drone magnetic compass to set the heading. */
38
+ HEADING_SOURCE_DRONE_COMPASS = 1,
39
+ /** HEADING_SOURCE_MANUAL_INPUT - Used when the user sets the heading manually. */
40
+ HEADING_SOURCE_MANUAL_INPUT = 2,
41
+ UNRECOGNIZED = -1
42
+ }
43
+ export declare function headingSourceFromJSON(object: any): HeadingSource;
44
+ export declare function headingSourceToJSON(object: HeadingSource): string;
45
+ /** Heading mode used during dead reckoning with a DVL. */
46
+ export declare enum HeadingMode {
47
+ /** HEADING_MODE_UNSPECIFIED - Unspecified. */
48
+ HEADING_MODE_UNSPECIFIED = 0,
49
+ /** HEADING_MODE_MAGNETIC_COMPASS - Uses the best available magnetic compass heading. */
50
+ HEADING_MODE_MAGNETIC_COMPASS = 1,
51
+ /** HEADING_MODE_GYRO_ONLY - Uses the best available gyro based heading. */
52
+ HEADING_MODE_GYRO_ONLY = 2,
53
+ UNRECOGNIZED = -1
54
+ }
55
+ export declare function headingModeFromJSON(object: any): HeadingMode;
56
+ export declare function headingModeToJSON(object: HeadingMode): string;
57
+ /** The coordinate source to use when resetting the position estimate. */
58
+ export declare enum ResetCoordinateSource {
59
+ /** RESET_COORDINATE_SOURCE_UNSPECIFIED - Unspecified, fallback to device GPS */
60
+ RESET_COORDINATE_SOURCE_UNSPECIFIED = 0,
61
+ /** RESET_COORDINATE_SOURCE_DEVICE_GPS - Uses the device GPS to set the reset point */
62
+ RESET_COORDINATE_SOURCE_DEVICE_GPS = 1,
63
+ /** RESET_COORDINATE_SOURCE_MANUAL - Uses a coordinate in decimal degrees to set the reset point */
64
+ RESET_COORDINATE_SOURCE_MANUAL = 2,
65
+ /** RESET_COORDINATE_SOURCE_BLUEYE_GNSS - Uses the Blueye GNSS to set the reset point */
66
+ RESET_COORDINATE_SOURCE_BLUEYE_GNSS = 3,
67
+ UNRECOGNIZED = -1
68
+ }
69
+ export declare function resetCoordinateSourceFromJSON(object: any): ResetCoordinateSource;
70
+ export declare function resetCoordinateSourceToJSON(object: ResetCoordinateSource): string;
71
+ /** Notification is used for displaying info, warnings, and errors to the user. */
72
+ export declare enum NotificationType {
73
+ /** NOTIFICATION_TYPE_UNSPECIFIED - Unspecified. */
74
+ NOTIFICATION_TYPE_UNSPECIFIED = 0,
75
+ /** NOTIFICATION_TYPE_POSITION_ESTIMATE_IS_INACCURATE - Position estimate is inaccurate. */
76
+ NOTIFICATION_TYPE_POSITION_ESTIMATE_IS_INACCURATE = 1,
77
+ /** NOTIFICATION_TYPE_DRONE_POSITION_IS_UNKNOWN - Drone position is unknown. */
78
+ NOTIFICATION_TYPE_DRONE_POSITION_IS_UNKNOWN = 2,
79
+ /** NOTIFICATION_TYPE_USER_POSITION_IS_UNKNOWN - User position is unknown. */
80
+ NOTIFICATION_TYPE_USER_POSITION_IS_UNKNOWN = 3,
81
+ /** NOTIFICATION_TYPE_NO_MISSION_LOADED - No mission is loaded. */
82
+ NOTIFICATION_TYPE_NO_MISSION_LOADED = 4,
83
+ /** NOTIFICATION_TYPE_MISSION_LOADED - Mission is loaded. */
84
+ NOTIFICATION_TYPE_MISSION_LOADED = 5,
85
+ /** NOTIFICATION_TYPE_FAILED_TO_LOAD_MISSION - Failed to load mission. */
86
+ NOTIFICATION_TYPE_FAILED_TO_LOAD_MISSION = 6,
87
+ /** NOTIFICATION_TYPE_MISSION_COMPLETE - Mission is complete. */
88
+ NOTIFICATION_TYPE_MISSION_COMPLETE = 7,
89
+ /** NOTIFICATION_TYPE_INSTRUCTION_COMPLETE - Instruction is complete. */
90
+ NOTIFICATION_TYPE_INSTRUCTION_COMPLETE = 8,
91
+ /** NOTIFICATION_TYPE_WAYPOINT_REACHED - Waypoint reached. */
92
+ NOTIFICATION_TYPE_WAYPOINT_REACHED = 9,
93
+ /** NOTIFICATION_TYPE_DEPTH_TARGET_REACHED - Depth set point is reached. */
94
+ NOTIFICATION_TYPE_DEPTH_TARGET_REACHED = 10,
95
+ /** NOTIFICATION_TYPE_ALTITUDE_TARGET_REACHED - Altitude set point is reached. */
96
+ NOTIFICATION_TYPE_ALTITUDE_TARGET_REACHED = 11,
97
+ /** NOTIFICATION_TYPE_WAYPOINT_IS_TOO_FAR_AWAY - The waypoint is too far away. */
98
+ NOTIFICATION_TYPE_WAYPOINT_IS_TOO_FAR_AWAY = 12,
99
+ /** NOTIFICATION_TYPE_DEPTH_SET_POINT_IS_TOO_FAR_AWAY - The depth set point is too far away. */
100
+ NOTIFICATION_TYPE_DEPTH_SET_POINT_IS_TOO_FAR_AWAY = 13,
101
+ /** NOTIFICATION_TYPE_TIME_TO_COMPLETE_IS_TOO_LONG - The time to complete the mission is too long. */
102
+ NOTIFICATION_TYPE_TIME_TO_COMPLETE_IS_TOO_LONG = 14,
103
+ /** NOTIFICATION_TYPE_RETURNING_TO_HOME - Returning to home. */
104
+ NOTIFICATION_TYPE_RETURNING_TO_HOME = 15,
105
+ /** NOTIFICATION_TYPE_GO_TO_SURFACE - Go to surface. */
106
+ NOTIFICATION_TYPE_GO_TO_SURFACE = 16,
107
+ /** NOTIFICATION_TYPE_GO_TO_SEABED - Go to seabed with an altimeter. */
108
+ NOTIFICATION_TYPE_GO_TO_SEABED = 17,
109
+ /** NOTIFICATION_TYPE_GO_TO_WAYPOINT - Go to waypoint. */
110
+ NOTIFICATION_TYPE_GO_TO_WAYPOINT = 18,
111
+ /** NOTIFICATION_TYPE_GO_TO_DEPTH_SET_POINT - Go to depth set point. */
112
+ NOTIFICATION_TYPE_GO_TO_DEPTH_SET_POINT = 19,
113
+ /** NOTIFICATION_TYPE_GO_TO_WAYPOINT_WITH_DEPTH_SET_POINT - Go to waypoint with depth set point. */
114
+ NOTIFICATION_TYPE_GO_TO_WAYPOINT_WITH_DEPTH_SET_POINT = 20,
115
+ /** NOTIFICATION_TYPE_MISSION_STARTED - Mission is started. */
116
+ NOTIFICATION_TYPE_MISSION_STARTED = 21,
117
+ /** NOTIFICATION_TYPE_MISSION_PAUSED - Mission is paused. */
118
+ NOTIFICATION_TYPE_MISSION_PAUSED = 22,
119
+ /** NOTIFICATION_TYPE_MISSION_RESUMED - Mission is resumed. */
120
+ NOTIFICATION_TYPE_MISSION_RESUMED = 23,
121
+ /** NOTIFICATION_TYPE_MISSION_ABORTED - Mission is aborted. */
122
+ NOTIFICATION_TYPE_MISSION_ABORTED = 24,
123
+ /** NOTIFICATION_TYPE_DRONE_IS_STUCK - Drone is stuck during a mission. */
124
+ NOTIFICATION_TYPE_DRONE_IS_STUCK = 25,
125
+ /** NOTIFICATION_TYPE_WAIT_FOR - Wait for instruction running. */
126
+ NOTIFICATION_TYPE_WAIT_FOR = 26,
127
+ /** NOTIFICATION_TYPE_CAMERA_ACTION - Camera action initiated. */
128
+ NOTIFICATION_TYPE_CAMERA_ACTION = 27,
129
+ /** NOTIFICATION_TYPE_SET_TILT_MAIN_CAMERA - Set tilt for main camera. */
130
+ NOTIFICATION_TYPE_SET_TILT_MAIN_CAMERA = 28,
131
+ /** NOTIFICATION_TYPE_SET_TILT_MULTIBEAM - Set tilt for multibeam. */
132
+ NOTIFICATION_TYPE_SET_TILT_MULTIBEAM = 29,
133
+ /** NOTIFICATION_TYPE_INSTRUCTION_SKIPPED - When an instruction is not available in the ROV. */
134
+ NOTIFICATION_TYPE_INSTRUCTION_SKIPPED = 30,
135
+ /** NOTIFICATION_TYPE_DVL_HIGH_TEMPERATURE_DETECTED - DVL high temperature detected. */
136
+ NOTIFICATION_TYPE_DVL_HIGH_TEMPERATURE_DETECTED = 31,
137
+ /** NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED - DVL thermal protection mode detected. */
138
+ NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED = 32,
139
+ UNRECOGNIZED = -1
140
+ }
141
+ export declare function notificationTypeFromJSON(object: any): NotificationType;
142
+ export declare function notificationTypeToJSON(object: NotificationType): string;
143
+ /** List of available notification levels. */
144
+ export declare enum NotificationLevel {
145
+ /** NOTIFICATION_LEVEL_UNSPECIFIED - Unspecified. */
146
+ NOTIFICATION_LEVEL_UNSPECIFIED = 0,
147
+ /** NOTIFICATION_LEVEL_INFO - Information. */
148
+ NOTIFICATION_LEVEL_INFO = 1,
149
+ /** NOTIFICATION_LEVEL_WARNING - Warning. */
150
+ NOTIFICATION_LEVEL_WARNING = 2,
151
+ /** NOTIFICATION_LEVEL_ERROR - Error. */
152
+ NOTIFICATION_LEVEL_ERROR = 3,
153
+ UNRECOGNIZED = -1
154
+ }
155
+ export declare function notificationLevelFromJSON(object: any): NotificationLevel;
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;
173
+ /** Drone models produced by Blueye. */
174
+ export declare enum Model {
175
+ /** MODEL_UNSPECIFIED - ModelName not specified. */
176
+ MODEL_UNSPECIFIED = 0,
177
+ /** MODEL_PIONEER - Blueye Pioneer, the first model. */
178
+ MODEL_PIONEER = 1,
179
+ /** MODEL_PRO - Blueye Pro, features camera tilt. */
180
+ MODEL_PRO = 2,
181
+ /** MODEL_X1 - Blueye X1, features camera tilt and one guest port. */
182
+ MODEL_X1 = 4,
183
+ /** MODEL_X3 - Blueye X3, features support for peripherals. */
184
+ MODEL_X3 = 3,
185
+ /** MODEL_X3_ULTRA - Blueye X3 Ultra. */
186
+ MODEL_X3_ULTRA = 6,
187
+ /** MODEL_NEXT - Blueye ? */
188
+ MODEL_NEXT = 5,
189
+ UNRECOGNIZED = -1
190
+ }
191
+ export declare function modelFromJSON(object: any): Model;
192
+ export declare function modelToJSON(object: Model): string;
193
+ /** Depth sensors used by the drone. */
194
+ export declare enum PressureSensorType {
195
+ /** PRESSURE_SENSOR_TYPE_UNSPECIFIED - Depth sensor type not specified. */
196
+ PRESSURE_SENSOR_TYPE_UNSPECIFIED = 0,
197
+ /** PRESSURE_SENSOR_TYPE_NOT_CONNECTED - No sensor connected. */
198
+ PRESSURE_SENSOR_TYPE_NOT_CONNECTED = 1,
199
+ /** PRESSURE_SENSOR_TYPE_MS5837_30BA26 - Thh MS5837 30BA26 pressure sensor. */
200
+ PRESSURE_SENSOR_TYPE_MS5837_30BA26 = 2,
201
+ /** PRESSURE_SENSOR_TYPE_KELLER_PA7LD - The extended depth sensor using the Keller PA7LD pressure sensor. */
202
+ PRESSURE_SENSOR_TYPE_KELLER_PA7LD = 3,
203
+ /** PRESSURE_SENSOR_TYPE_MS5637_02BA03 - The internal pressure sensor using the MS5637 02BA03 pressure sensor. */
204
+ PRESSURE_SENSOR_TYPE_MS5637_02BA03 = 4,
205
+ UNRECOGNIZED = -1
206
+ }
207
+ export declare function pressureSensorTypeFromJSON(object: any): PressureSensorType;
208
+ export declare function pressureSensorTypeToJSON(object: PressureSensorType): string;
209
+ /** Available camera resolutions. */
210
+ export declare enum Resolution {
211
+ /** RESOLUTION_UNSPECIFIED - Resolution not specified. */
212
+ RESOLUTION_UNSPECIFIED = 0,
213
+ /** RESOLUTION_VGA_480P - VGA (640x480). */
214
+ RESOLUTION_VGA_480P = 4,
215
+ /** RESOLUTION_HD_720P - 720p HD (1280x720). */
216
+ RESOLUTION_HD_720P = 2,
217
+ /** RESOLUTION_FULLHD_1080P - 1080p Full HD (1920x1080). */
218
+ RESOLUTION_FULLHD_1080P = 1,
219
+ /** RESOLUTION_UHD_4K - 4K Ultra HD (3840x2160, Only supported on X3 Ultra). */
220
+ RESOLUTION_UHD_4K = 3,
221
+ UNRECOGNIZED = -1
222
+ }
223
+ export declare function resolutionFromJSON(object: any): Resolution;
224
+ export declare function resolutionToJSON(object: Resolution): string;
225
+ /** Available camera frame rates. */
226
+ export declare enum Framerate {
227
+ /** FRAMERATE_UNSPECIFIED - Framerate not specified. */
228
+ FRAMERATE_UNSPECIFIED = 0,
229
+ /** FRAMERATE_FPS_30 - 30 frames per second. */
230
+ FRAMERATE_FPS_30 = 1,
231
+ /** FRAMERATE_FPS_25 - 25 frames per second. (Only supported on Pioneer/Pro/X1/X3) */
232
+ FRAMERATE_FPS_25 = 2,
233
+ UNRECOGNIZED = -1
234
+ }
235
+ export declare function framerateFromJSON(object: any): Framerate;
236
+ export declare function framerateToJSON(object: Framerate): string;
237
+ /** Which camera to control. */
238
+ export declare enum Camera {
239
+ /** CAMERA_UNSPECIFIED - Camera not specified. */
240
+ CAMERA_UNSPECIFIED = 0,
241
+ /** CAMERA_MAIN - Main camera. */
242
+ CAMERA_MAIN = 1,
243
+ /** CAMERA_GUESTPORT - Guest port camera. */
244
+ CAMERA_GUESTPORT = 2,
245
+ UNRECOGNIZED = -1
246
+ }
247
+ export declare function cameraFromJSON(object: any): Camera;
248
+ export declare function cameraToJSON(object: Camera): string;
249
+ export declare enum StreamingProtocol {
250
+ /** STREAMING_PROTOCOL_UNSPECIFIED - Streaming protocol not specified. */
251
+ STREAMING_PROTOCOL_UNSPECIFIED = 0,
252
+ /** STREAMING_PROTOCOL_RTSP_H264 - RTSP streaming protocol using H264 codec. */
253
+ STREAMING_PROTOCOL_RTSP_H264 = 1,
254
+ /** STREAMING_PROTOCOL_RTSP_MJPEG - RTSP streaming protocol using MJPEG codec. No recording when activated. */
255
+ STREAMING_PROTOCOL_RTSP_MJPEG = 2,
256
+ UNRECOGNIZED = -1
257
+ }
258
+ export declare function streamingProtocolFromJSON(object: any): StreamingProtocol;
259
+ export declare function streamingProtocolToJSON(object: StreamingProtocol): string;
260
+ /** Available temperature units. */
261
+ export declare enum TemperatureUnit {
262
+ /** TEMPERATURE_UNIT_UNSPECIFIED - Temperature unit not specified. */
263
+ TEMPERATURE_UNIT_UNSPECIFIED = 0,
264
+ /** TEMPERATURE_UNIT_CELSIUS - Temperature should be displayed as Celsius. */
265
+ TEMPERATURE_UNIT_CELSIUS = 1,
266
+ /** TEMPERATURE_UNIT_FAHRENHEIT - Temperature should be displayed as Fahrenheit. */
267
+ TEMPERATURE_UNIT_FAHRENHEIT = 2,
268
+ UNRECOGNIZED = -1
269
+ }
270
+ export declare function temperatureUnitFromJSON(object: any): TemperatureUnit;
271
+ export declare function temperatureUnitToJSON(object: TemperatureUnit): string;
272
+ /** Available logo types. */
273
+ export declare enum LogoType {
274
+ /** LOGO_TYPE_UNSPECIFIED - Logo type not specified */
275
+ LOGO_TYPE_UNSPECIFIED = 0,
276
+ /** LOGO_TYPE_NONE - Do not add any logo. */
277
+ LOGO_TYPE_NONE = 1,
278
+ /** LOGO_TYPE_DEFAULT - Add default logo. */
279
+ LOGO_TYPE_DEFAULT = 2,
280
+ /** LOGO_TYPE_CUSTOM - Add user defined logo. */
281
+ LOGO_TYPE_CUSTOM = 3,
282
+ UNRECOGNIZED = -1
283
+ }
284
+ export declare function logoTypeFromJSON(object: any): LogoType;
285
+ export declare function logoTypeToJSON(object: LogoType): string;
286
+ /** Available depth units. */
287
+ export declare enum DepthUnit {
288
+ /** DEPTH_UNIT_UNSPECIFIED - Depth unit not specified. */
289
+ DEPTH_UNIT_UNSPECIFIED = 0,
290
+ /** DEPTH_UNIT_METERS - Depth should be displayed as meters. */
291
+ DEPTH_UNIT_METERS = 1,
292
+ /** DEPTH_UNIT_FEET - Depth should be displayed as feet. */
293
+ DEPTH_UNIT_FEET = 2,
294
+ UNRECOGNIZED = -1
295
+ }
296
+ export declare function depthUnitFromJSON(object: any): DepthUnit;
297
+ export declare function depthUnitToJSON(object: DepthUnit): string;
298
+ /** Available thickness units. */
299
+ export declare enum ThicknessUnit {
300
+ /** THICKNESS_UNIT_UNSPECIFIED - Thickness unit not specified. */
301
+ THICKNESS_UNIT_UNSPECIFIED = 0,
302
+ /** THICKNESS_UNIT_MILLIMETERS - Thickness should be displayed as millimeters. */
303
+ THICKNESS_UNIT_MILLIMETERS = 1,
304
+ /** THICKNESS_UNIT_INCHES - Thickness should be displayed as inches. */
305
+ THICKNESS_UNIT_INCHES = 2,
306
+ UNRECOGNIZED = -1
307
+ }
308
+ export declare function thicknessUnitFromJSON(object: any): ThicknessUnit;
309
+ export declare function thicknessUnitToJSON(object: ThicknessUnit): string;
310
+ /** Available font sizes for overlay text elements. */
311
+ export declare enum FontSize {
312
+ /** FONT_SIZE_UNSPECIFIED - Font size not specified. */
313
+ FONT_SIZE_UNSPECIFIED = 0,
314
+ /** FONT_SIZE_PX15 - 15 px. */
315
+ FONT_SIZE_PX15 = 1,
316
+ /** FONT_SIZE_PX20 - 20 px. */
317
+ FONT_SIZE_PX20 = 2,
318
+ /** FONT_SIZE_PX25 - 25 px. */
319
+ FONT_SIZE_PX25 = 3,
320
+ /** FONT_SIZE_PX30 - 30 px. */
321
+ FONT_SIZE_PX30 = 4,
322
+ /** FONT_SIZE_PX35 - 35 px. */
323
+ FONT_SIZE_PX35 = 5,
324
+ /** FONT_SIZE_PX40 - 40 px. */
325
+ FONT_SIZE_PX40 = 6,
326
+ UNRECOGNIZED = -1
327
+ }
328
+ export declare function fontSizeFromJSON(object: any): FontSize;
329
+ export declare function fontSizeToJSON(object: FontSize): string;
330
+ /** Complete set of supported guest port devices. */
331
+ export declare enum GuestPortDeviceID {
332
+ /** GUEST_PORT_DEVICE_ID_UNSPECIFIED - Unspecified. */
333
+ GUEST_PORT_DEVICE_ID_UNSPECIFIED = 0,
334
+ /** GUEST_PORT_DEVICE_ID_BLIND_PLUG - Blueye Blind Plug. */
335
+ GUEST_PORT_DEVICE_ID_BLIND_PLUG = 1,
336
+ /** GUEST_PORT_DEVICE_ID_TEST_STATION - Blueye Test Station. */
337
+ GUEST_PORT_DEVICE_ID_TEST_STATION = 2,
338
+ /** GUEST_PORT_DEVICE_ID_DEBUG_SERIAL - Blueye Debug Serial. */
339
+ GUEST_PORT_DEVICE_ID_DEBUG_SERIAL = 3,
340
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT - Blueye Light. */
341
+ GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT = 4,
342
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_CAM - Blueye Camera. */
343
+ GUEST_PORT_DEVICE_ID_BLUEYE_CAM = 5,
344
+ /** GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_LUMEN - Blue Robotics Lumen. */
345
+ GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_LUMEN = 6,
346
+ /** GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_NEWTON - Blue Robotics Newton. */
347
+ GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_NEWTON = 7,
348
+ /** GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING_SONAR - Blue Robotics Ping Sonar. */
349
+ GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING_SONAR = 8,
350
+ /** GUEST_PORT_DEVICE_ID_BLUEPRINT_LAB_REACH_ALPHA - Blueprint Lab Reach Alpha. */
351
+ GUEST_PORT_DEVICE_ID_BLUEPRINT_LAB_REACH_ALPHA = 9,
352
+ /** GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50 - Waterlinked DVL A50. */
353
+ GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50 = 10,
354
+ /** GUEST_PORT_DEVICE_ID_IMPACT_SUBSEA_ISS360 - Impact Subsea ISS360 Sonar. */
355
+ GUEST_PORT_DEVICE_ID_IMPACT_SUBSEA_ISS360 = 11,
356
+ /** GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_SEATRAC_X010 - Blueprint Subsea Seatrac X110. */
357
+ GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_SEATRAC_X010 = 12,
358
+ /** GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M750D - Blueprint Subsea Oculus M750d. */
359
+ GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M750D = 13,
360
+ /** GUEST_PORT_DEVICE_ID_CYGNUS_MINI_ROV_THICKNESS_GAUGE - Cygnus Mini ROV Thickness Gauge. */
361
+ GUEST_PORT_DEVICE_ID_CYGNUS_MINI_ROV_THICKNESS_GAUGE = 14,
362
+ /** GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING360_SONAR - Blue Robotics Ping360 Scanning Imaging Sonar. */
363
+ GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING360_SONAR = 15,
364
+ /** GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IM - Tritech Gemini 720im Multibeam Sonar. */
365
+ GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IM = 16,
366
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT_PAIR - Blueye Light Pair. */
367
+ GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT_PAIR = 17,
368
+ /** GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_MICRON - Tritech Micron Gemini. */
369
+ GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_MICRON = 18,
370
+ /** GUEST_PORT_DEVICE_ID_OCEAN_TOOLS_DIGICP - Ocean Tools DigiCP. */
371
+ GUEST_PORT_DEVICE_ID_OCEAN_TOOLS_DIGICP = 19,
372
+ /** GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IK - Tritech Gemini 720ik Multibeam Sonar. */
373
+ GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IK = 20,
374
+ /** GUEST_PORT_DEVICE_ID_NORTEK_NUCLEUS_1000 - Nortek Nucleus 1000 DVL. */
375
+ GUEST_PORT_DEVICE_ID_NORTEK_NUCLEUS_1000 = 21,
376
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_GENERIC_SERVO - Blueye Generic Servo. */
377
+ GUEST_PORT_DEVICE_ID_BLUEYE_GENERIC_SERVO = 22,
378
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO - Blueye Multibeam Skid Servo. */
379
+ GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO = 23,
380
+ /** GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_DETACHABLE_NEWTON - Detachable Blue Robotics Newton. */
381
+ GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_DETACHABLE_NEWTON = 24,
382
+ /** GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_500 - In-Situ Aqua TROLL 500. */
383
+ GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_500 = 25,
384
+ /** GUEST_PORT_DEVICE_ID_MEDUSA_RADIOMETRICS_MS100 - Medusa Radiometrics Gamma Ray Sensor. */
385
+ GUEST_PORT_DEVICE_ID_MEDUSA_RADIOMETRICS_MS100 = 26,
386
+ /** GUEST_PORT_DEVICE_ID_LASER_TOOLS_SEA_BEAM - Laser Tools Sea Beam Underwater Laser. */
387
+ GUEST_PORT_DEVICE_ID_LASER_TOOLS_SEA_BEAM = 27,
388
+ /** GUEST_PORT_DEVICE_ID_SPOT_X_LASER_SCALERS - Spot X Laser Scalers. */
389
+ GUEST_PORT_DEVICE_ID_SPOT_X_LASER_SCALERS = 28,
390
+ /** GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M1200D - Blueprint Subsea Oculus M1200d. */
391
+ GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M1200D = 29,
392
+ /** GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M3000D - Blueprint Subsea Oculus M3000d. */
393
+ GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M3000D = 30,
394
+ /** GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_100 - In-Situ Aqua TROLL 100. */
395
+ GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_100 = 31,
396
+ /** GUEST_PORT_DEVICE_ID_INSITU_RDO_PRO_X - In-Situ RDO PRO-X. */
397
+ GUEST_PORT_DEVICE_ID_INSITU_RDO_PRO_X = 32,
398
+ /** GUEST_PORT_DEVICE_ID_INSITU_RDO_BLUE - In-Situ RDO Blue. */
399
+ GUEST_PORT_DEVICE_ID_INSITU_RDO_BLUE = 33,
400
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_CAMERA_SERVO - Blueye Camera Servo. */
401
+ GUEST_PORT_DEVICE_ID_BLUEYE_CAMERA_SERVO = 34,
402
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_HEAD_SERVO - Blueye Multibeam Head Servo. */
403
+ GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_HEAD_SERVO = 35,
404
+ /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450FS - Cerulean Omniscan 450 FS. */
405
+ GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450FS = 36,
406
+ /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450SS - Cerulean Omniscan 450 SS. */
407
+ GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450SS = 37,
408
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_GNSS_DEVICE - Blueye GNSS device. */
409
+ GUEST_PORT_DEVICE_ID_BLUEYE_GNSS_DEVICE = 38,
410
+ /** GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50_600 - Waterlinked DVL A50 600m. */
411
+ GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50_600 = 39,
412
+ /** GUEST_PORT_DEVICE_ID_IMAGENEX_831L - Imagenex 831L Pipe Profiling Sonar. */
413
+ GUEST_PORT_DEVICE_ID_IMAGENEX_831L = 40,
414
+ /** GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_C550D - Blueprint Subsea Oculus C550d. */
415
+ GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_C550D = 41,
416
+ /** GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M370S - Blueprint Subsea Oculus M370s. */
417
+ GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M370S = 42,
418
+ /** GUEST_PORT_DEVICE_ID_WATERLINKED_SONAR_3D15 - Waterlinked Sonar 3D-15. */
419
+ GUEST_PORT_DEVICE_ID_WATERLINKED_SONAR_3D15 = 43,
420
+ /** GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 - Cerulean Tracker 650. */
421
+ GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 = 44,
422
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE - Blueye External USB Storage. */
423
+ GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE = 45,
424
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 - Blueye Multibeam Skid Servo V2. */
425
+ GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 = 46,
426
+ /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT - Cerulean Omniscan 450 Compact. */
427
+ GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT = 47,
428
+ UNRECOGNIZED = -1
429
+ }
430
+ export declare function guestPortDeviceIDFromJSON(object: any): GuestPortDeviceID;
431
+ export declare function guestPortDeviceIDToJSON(object: GuestPortDeviceID): string;
432
+ /** Guest port number. */
433
+ export declare enum GuestPortNumber {
434
+ /** GUEST_PORT_NUMBER_UNSPECIFIED - Unspecified. */
435
+ GUEST_PORT_NUMBER_UNSPECIFIED = 0,
436
+ /** GUEST_PORT_NUMBER_PORT_1 - Guest port 1. */
437
+ GUEST_PORT_NUMBER_PORT_1 = 1,
438
+ /** GUEST_PORT_NUMBER_PORT_2 - Guest port 2. */
439
+ GUEST_PORT_NUMBER_PORT_2 = 2,
440
+ /** GUEST_PORT_NUMBER_PORT_3 - Guest port 3. */
441
+ GUEST_PORT_NUMBER_PORT_3 = 3,
442
+ UNRECOGNIZED = -1
443
+ }
444
+ export declare function guestPortNumberFromJSON(object: any): GuestPortNumber;
445
+ export declare function guestPortNumberToJSON(object: GuestPortNumber): string;
446
+ /** List of navigation sensors that can be used by the position observer. */
447
+ export declare enum NavigationSensorID {
448
+ /** NAVIGATION_SENSOR_ID_UNSPECIFIED - Unspecified. */
449
+ NAVIGATION_SENSOR_ID_UNSPECIFIED = 0,
450
+ /** NAVIGATION_SENSOR_ID_WATERLINKED_DVL_A50 - Water Linked DVL A50. */
451
+ NAVIGATION_SENSOR_ID_WATERLINKED_DVL_A50 = 1,
452
+ /** NAVIGATION_SENSOR_ID_WATERLINKED_UGPS_G2 - Water Linked UGPS G2. */
453
+ NAVIGATION_SENSOR_ID_WATERLINKED_UGPS_G2 = 2,
454
+ /** NAVIGATION_SENSOR_ID_NMEA - NMEA stream from external positioning system. */
455
+ NAVIGATION_SENSOR_ID_NMEA = 3,
456
+ /** NAVIGATION_SENSOR_ID_BLUEYE_GNSS - Blueye GNSS device on the ROV. */
457
+ NAVIGATION_SENSOR_ID_BLUEYE_GNSS = 4,
458
+ /** NAVIGATION_SENSOR_ID_NORTEK_DVL_NUCLEUS - Nortek DVL Nucleus 1000. */
459
+ NAVIGATION_SENSOR_ID_NORTEK_DVL_NUCLEUS = 5,
460
+ /** NAVIGATION_SENSOR_ID_CERULEAN_TRACKER_650 - Cerulean Tracker 650. */
461
+ NAVIGATION_SENSOR_ID_CERULEAN_TRACKER_650 = 6,
462
+ UNRECOGNIZED = -1
463
+ }
464
+ export declare function navigationSensorIDFromJSON(object: any): NavigationSensorID;
465
+ export declare function navigationSensorIDToJSON(object: NavigationSensorID): string;
466
+ /** Status for guest port devices that can be attached and detached. */
467
+ export declare enum GuestPortDetachStatus {
468
+ /** GUEST_PORT_DETACH_STATUS_UNSPECIFIED - Unspecified (Default for non-detachable devices). */
469
+ GUEST_PORT_DETACH_STATUS_UNSPECIFIED = 0,
470
+ /** GUEST_PORT_DETACH_STATUS_ATTACHED - Detachable device attached. */
471
+ GUEST_PORT_DETACH_STATUS_ATTACHED = 1,
472
+ /** GUEST_PORT_DETACH_STATUS_DETACHED - Detachable device detached. */
473
+ GUEST_PORT_DETACH_STATUS_DETACHED = 2,
474
+ UNRECOGNIZED = -1
475
+ }
476
+ export declare function guestPortDetachStatusFromJSON(object: any): GuestPortDetachStatus;
477
+ export declare function guestPortDetachStatusToJSON(object: GuestPortDetachStatus): string;
478
+ /**
479
+ * GuestPort error types.
480
+ *
481
+ * Only indicated errors on the guest port connector itself.
482
+ */
483
+ export declare enum GuestPortError {
484
+ /** GUEST_PORT_ERROR_UNSPECIFIED - Unspecified value. */
485
+ GUEST_PORT_ERROR_UNSPECIFIED = 0,
486
+ /** GUEST_PORT_ERROR_NOT_CONNECTED - Device not connected. */
487
+ GUEST_PORT_ERROR_NOT_CONNECTED = 1,
488
+ /** GUEST_PORT_ERROR_READ_ERROR - EEPROM read error. */
489
+ GUEST_PORT_ERROR_READ_ERROR = 2,
490
+ /** GUEST_PORT_ERROR_NOT_FLASHED - Connector not flashed. */
491
+ GUEST_PORT_ERROR_NOT_FLASHED = 3,
492
+ /** GUEST_PORT_ERROR_CRC_ERROR - Wrong CRC for protobuf message. */
493
+ GUEST_PORT_ERROR_CRC_ERROR = 4,
494
+ /** GUEST_PORT_ERROR_PARSE_ERROR - Protobuf message cannot be parsed. */
495
+ GUEST_PORT_ERROR_PARSE_ERROR = 5,
496
+ UNRECOGNIZED = -1
497
+ }
498
+ export declare function guestPortErrorFromJSON(object: any): GuestPortError;
499
+ export declare function guestPortErrorToJSON(object: GuestPortError): string;
500
+ /** The frequency mode to use for multibeam devices with dual frequency. */
501
+ export declare enum MultibeamFrequencyMode {
502
+ MULTIBEAM_FREQUENCY_MODE_UNSPECIFIED = 0,
503
+ /** MULTIBEAM_FREQUENCY_MODE_AUTO - Auto switching mode (if available). */
504
+ MULTIBEAM_FREQUENCY_MODE_AUTO = 1,
505
+ /** MULTIBEAM_FREQUENCY_MODE_LOW_FREQUENCY - Low frequency mode (wide aperture, navigation). */
506
+ MULTIBEAM_FREQUENCY_MODE_LOW_FREQUENCY = 2,
507
+ /** MULTIBEAM_FREQUENCY_MODE_HIGH_FREQUENCY - High frequency mode (narrow aperture, target identification). */
508
+ MULTIBEAM_FREQUENCY_MODE_HIGH_FREQUENCY = 3,
509
+ UNRECOGNIZED = -1
510
+ }
511
+ export declare function multibeamFrequencyModeFromJSON(object: any): MultibeamFrequencyMode;
512
+ export declare function multibeamFrequencyModeToJSON(object: MultibeamFrequencyMode): string;
513
+ /**
514
+ * Wrapper message for each entry in the drone telemetry logfile.
515
+ *
516
+ * Each entry contains the unix timestamp in UTC, the monotonic timestamp (time since boot),
517
+ * and an Any message wrapping the custom Blueye message.
518
+ *
519
+ * See separate documentation for the logfile format for more details.
520
+ */
521
+ export interface BinlogRecord {
522
+ /** The log entry payload. */
523
+ payload: Any | undefined;
524
+ /** Unix timestamp in UTC. */
525
+ unixTimestamp: Date | undefined;
526
+ /** Posix CLOCK_MONOTONIC timestamp. */
527
+ clockMonotonic: Date | undefined;
528
+ }
529
+ /**
530
+ * Log entry
531
+ *
532
+ * Used to store ROS log entries in the bez file
533
+ */
534
+ export interface LogEntry {
535
+ /** Timestamp of the log entry. */
536
+ timestamp: Date | undefined;
537
+ /** Name of the process that generated the log entry. */
538
+ processName: string;
539
+ /** Process ID of the log entry. */
540
+ processId: number;
541
+ /** Thread ID of the log entry. */
542
+ threadId: number;
543
+ /** Source of the log entry (specific class or named logger). */
544
+ source: string;
545
+ /** Log level, info, warning, error, etc. */
546
+ level: LogEntry_LogLevel;
547
+ /** Log message. */
548
+ message: string;
549
+ }
550
+ export declare enum LogEntry_LogLevel {
551
+ /** LOG_LEVEL_UNSPECIFIED - Unspecified log level. */
552
+ LOG_LEVEL_UNSPECIFIED = 0,
553
+ /** LOG_LEVEL_TRACE - Trace log level. */
554
+ LOG_LEVEL_TRACE = 1,
555
+ /** LOG_LEVEL_DEBUG - Debug log level. */
556
+ LOG_LEVEL_DEBUG = 2,
557
+ /** LOG_LEVEL_INFO - Info log level. */
558
+ LOG_LEVEL_INFO = 3,
559
+ /** LOG_LEVEL_WARNING - Warning log level. */
560
+ LOG_LEVEL_WARNING = 4,
561
+ /** LOG_LEVEL_ERROR - Error log level. */
562
+ LOG_LEVEL_ERROR = 5,
563
+ /** LOG_LEVEL_CRITICAL - Critical log level. */
564
+ LOG_LEVEL_CRITICAL = 6,
565
+ UNRECOGNIZED = -1
566
+ }
567
+ export declare function logEntry_LogLevelFromJSON(object: any): LogEntry_LogLevel;
568
+ export declare function logEntry_LogLevelToJSON(object: LogEntry_LogLevel): string;
569
+ export interface KernelLogEntry {
570
+ /** Log level, info, warning, error, etc. */
571
+ level: KernelLogEntry_KernelLogLevel;
572
+ /** Sequence number of the log entry. */
573
+ seqnum: number;
574
+ /** Timestamp of the log entry. */
575
+ timestamp: Date | undefined;
576
+ /** Log messages. */
577
+ messages: string[];
578
+ /** List of key-value pairs. */
579
+ fields: KernelLogEntry_KeyValuePair[];
580
+ }
581
+ /** Kernel log level. */
582
+ export declare enum KernelLogEntry_KernelLogLevel {
583
+ /** KERNEL_LOG_LEVEL_UNSPECIFIED - Unspecified log level. */
584
+ KERNEL_LOG_LEVEL_UNSPECIFIED = 0,
585
+ /** KERNEL_LOG_LEVEL_EMERG - Emergency log level. */
586
+ KERNEL_LOG_LEVEL_EMERG = 1,
587
+ /** KERNEL_LOG_LEVEL_ALERT - Alert log level. */
588
+ KERNEL_LOG_LEVEL_ALERT = 2,
589
+ /** KERNEL_LOG_LEVEL_CRIT - Critical log level. */
590
+ KERNEL_LOG_LEVEL_CRIT = 3,
591
+ /** KERNEL_LOG_LEVEL_ERR - Error log level. */
592
+ KERNEL_LOG_LEVEL_ERR = 4,
593
+ /** KERNEL_LOG_LEVEL_WARNING - Warning log level. */
594
+ KERNEL_LOG_LEVEL_WARNING = 5,
595
+ /** KERNEL_LOG_LEVEL_NOTICE - Notice log level. */
596
+ KERNEL_LOG_LEVEL_NOTICE = 6,
597
+ /** KERNEL_LOG_LEVEL_INFO - Informational log level. */
598
+ KERNEL_LOG_LEVEL_INFO = 7,
599
+ /** KERNEL_LOG_LEVEL_DEBUG - Debug log level. */
600
+ KERNEL_LOG_LEVEL_DEBUG = 8,
601
+ UNRECOGNIZED = -1
602
+ }
603
+ export declare function kernelLogEntry_KernelLogLevelFromJSON(object: any): KernelLogEntry_KernelLogLevel;
604
+ export declare function kernelLogEntry_KernelLogLevelToJSON(object: KernelLogEntry_KernelLogLevel): string;
605
+ /** Key-value pair used for structured logging. */
606
+ export interface KernelLogEntry_KeyValuePair {
607
+ /** Key of the key-value pair. */
608
+ key: string;
609
+ /** Value of the key-value pair. */
610
+ value: string;
611
+ }
612
+ /** If you use both values at the same time they cancel each other out. */
613
+ export interface MotionInput {
614
+ /** Forward (positive) and backwards (negative) movement. (-1..1). */
615
+ surge: number;
616
+ /** Right (positive) and left (negative) lateral movement (-1..1). */
617
+ sway: number;
618
+ /** Descend (positive) and ascend (negative) movement (-1..1). */
619
+ heave: number;
620
+ /** Roll left (negative) or right (positive). (-1..1). */
621
+ roll: number;
622
+ /** Pitch down (negative) or up (positive). (-1..1). */
623
+ pitch: number;
624
+ /** Left (positive) and right (negative) movement (-1..1). */
625
+ yaw: number;
626
+ /** Modifier used to reduce the speed of the motion (0..1). */
627
+ slow: number;
628
+ /** Modifier used to increase the speed of the motion (0..1). */
629
+ boost: number;
630
+ }
631
+ /** Lights message used to represent the intensity of the main light or external lights. */
632
+ export interface Lights {
633
+ /** Light intensity (0..1). */
634
+ value: number;
635
+ }
636
+ /**
637
+ * Laser message used to represent the intensity of connected laser.
638
+ *
639
+ * If the laser does not support dimming but only on and off,
640
+ * a value of 0 turns the laser off, and any value above 0
641
+ * turns the laser on.
642
+ */
643
+ export interface Laser {
644
+ /** Laser intensity, any value above 0 turns the laser on (0..1). */
645
+ value: number;
646
+ }
647
+ /** Latitude and longitude position in WGS 84 decimal degrees format. */
648
+ export interface LatLongPosition {
649
+ /** Latitude (°). */
650
+ latitude: number;
651
+ /** Longitude (°). */
652
+ longitude: number;
653
+ }
654
+ /** Connection duration of a remote client. */
655
+ export interface ConnectionDuration {
656
+ /** Time since connected to drone (s). */
657
+ value: number;
658
+ }
659
+ /** Auto heading state. */
660
+ export interface AutoHeadingState {
661
+ /** If auto heading is enabled. */
662
+ enabled: boolean;
663
+ }
664
+ /** Auto depth state. */
665
+ export interface AutoDepthState {
666
+ /** If auto depth is enabled. */
667
+ enabled: boolean;
668
+ }
669
+ /** Auto altitude state. */
670
+ export interface AutoAltitudeState {
671
+ /** If auto altitude is enabled. */
672
+ enabled: boolean;
673
+ }
674
+ /** Station keeping state. */
675
+ export interface StationKeepingState {
676
+ /** If station keeping is enabled. */
677
+ enabled: boolean;
678
+ }
679
+ /** Weather vaning state. */
680
+ export interface WeatherVaningState {
681
+ /** If weather vaning is enabled. */
682
+ enabled: boolean;
683
+ }
684
+ /** Auto pilot surge yaw state. */
685
+ export interface AutoPilotSurgeYawState {
686
+ /** If auto pilot surge yaw is enabled. */
687
+ enabled: boolean;
688
+ }
689
+ /** Auto pilot heave state. */
690
+ export interface AutoPilotHeaveState {
691
+ /** If auto pilot heave is enabled. */
692
+ enabled: boolean;
693
+ }
694
+ /** Control mode from drone supervisor */
695
+ export interface ControlMode {
696
+ /** If auto depth is enabled. */
697
+ autoDepth: boolean;
698
+ /** If auto heading is enabled. */
699
+ autoHeading: boolean;
700
+ /** If auto altitude is enabled. */
701
+ autoAltitude: boolean;
702
+ /** If station keeping is enabled. */
703
+ stationKeeping: boolean;
704
+ /** If weather vaning is enabled. */
705
+ weatherVaning: boolean;
706
+ /** If auto pilot surge yaw is enabled. */
707
+ autoPilotSurgeYaw: boolean;
708
+ /** If auto pilot heave is enabled. */
709
+ autoPilotHeave: boolean;
710
+ }
711
+ /**
712
+ * Tilt stabilization state.
713
+ *
714
+ * Blueye drones with mechanical tilt has the ability to enable
715
+ * camera stabilization.
716
+ */
717
+ export interface TiltStabilizationState {
718
+ /** If tilt stabilization is enabled. */
719
+ enabled: boolean;
720
+ }
721
+ /** System time. */
722
+ export interface SystemTime {
723
+ /** Unix timestamp. */
724
+ unixTimestamp: Date | undefined;
725
+ }
726
+ /**
727
+ * Gripper velocity values.
728
+ *
729
+ * Rotating velocity is only used if the gripper supports rotation.
730
+ */
731
+ export interface GripperVelocities {
732
+ /** The gripping velocity (-1.0..1.0). */
733
+ gripVelocity: number;
734
+ /** The rotating velocity (-1.0..1.0). */
735
+ rotateVelocity: number;
736
+ }
737
+ /** Information about a remote client. */
738
+ export interface ClientInfo {
739
+ /** The type of client (such as Blueye App, Observer App, SDK, etc). */
740
+ type: string;
741
+ /** Client software version string. */
742
+ version: string;
743
+ /** Device type, such as mobile, tablet, or computer. */
744
+ deviceType: string;
745
+ /** Platform, such as iOS, Android, Linux, etc. */
746
+ platform: string;
747
+ /** Platform software version string. */
748
+ platformVersion: string;
749
+ /** Name of the client. */
750
+ name: string;
751
+ /** If the client should be connected as an observer or not. */
752
+ isObserver: boolean;
753
+ }
754
+ /** Information about a connected client with an id assigned by the drone. */
755
+ export interface ConnectedClient {
756
+ /** The assigned client id. */
757
+ clientId: number;
758
+ /** Client information. */
759
+ clientInfo: ClientInfo | undefined;
760
+ }
761
+ /** Camera recording state. */
762
+ export interface RecordState {
763
+ /** If the main camera is recording. */
764
+ mainIsRecording: boolean;
765
+ /** Main record time (s). */
766
+ mainSeconds: number;
767
+ /** Main record fps. */
768
+ mainFps: number;
769
+ /** If the guestport camera is recording. */
770
+ guestportIsRecording: boolean;
771
+ /** Guestport record time (s). */
772
+ guestportSeconds: number;
773
+ /** Guestport record fps. */
774
+ guestportFps: number;
775
+ /** If the multibeam is recording. */
776
+ multibeamIsRecording: boolean;
777
+ /** Multibeam record time (s). */
778
+ multibeamSeconds: number;
779
+ /** Multibeam record fps. */
780
+ multibeamFps: number;
781
+ /** Storage location used for recording. */
782
+ storageLocation: StorageLocation;
783
+ }
784
+ /** Time-lapse state published if time-lapse mission is running. */
785
+ export interface TimeLapseState {
786
+ /** Interval between photos. */
787
+ interval: number;
788
+ /** Number of photos taken. */
789
+ photosTaken: number;
790
+ /** Interval type for photos, distance or time. */
791
+ intervalType: IntervalType;
792
+ }
793
+ /**
794
+ * Water density.
795
+ *
796
+ * Used to specify the water density the drone is operating in,
797
+ * to achieve more accurate depth measurements, f. ex. influenced by salinity.
798
+ */
799
+ export interface WaterDensity {
800
+ /** Water density (g/l). */
801
+ value: number;
802
+ }
803
+ /**
804
+ * Pinger configuration.
805
+ *
806
+ * Used to specify the configuration the BR 1D-Pinger.
807
+ */
808
+ export interface PingerConfiguration {
809
+ /** Mounting direction of the pinger. */
810
+ mountingDirection: PingerConfiguration_MountingDirection;
811
+ }
812
+ export declare enum PingerConfiguration_MountingDirection {
813
+ /** MOUNTING_DIRECTION_UNSPECIFIED - Mounting direction is unspecified. */
814
+ MOUNTING_DIRECTION_UNSPECIFIED = 0,
815
+ /** MOUNTING_DIRECTION_FORWARDS - Pointing forwards from the drones perspective. */
816
+ MOUNTING_DIRECTION_FORWARDS = 1,
817
+ /** MOUNTING_DIRECTION_DOWNWARDS - Pointing downwards from the drones perspective. */
818
+ MOUNTING_DIRECTION_DOWNWARDS = 2,
819
+ UNRECOGNIZED = -1
820
+ }
821
+ export declare function pingerConfiguration_MountingDirectionFromJSON(object: any): PingerConfiguration_MountingDirection;
822
+ export declare function pingerConfiguration_MountingDirectionToJSON(object: PingerConfiguration_MountingDirection): string;
823
+ /** Water temperature measured by the drone's combined depth and temperature sensor. */
824
+ export interface WaterTemperature {
825
+ /** Water temperature (°C). */
826
+ value: number;
827
+ }
828
+ /** CPU temperature. */
829
+ export interface CPUTemperature {
830
+ /** CPU temperature (°C). */
831
+ value: number;
832
+ }
833
+ /**
834
+ * Canister temperature.
835
+ *
836
+ * Temperature measured in the top or bottom canister of the drone.
837
+ */
838
+ export interface CanisterTemperature {
839
+ /** Temperature (°C). */
840
+ temperature: number;
841
+ }
842
+ /**
843
+ * Canister humidity.
844
+ *
845
+ * Humidity measured in the top or bottom canister of the drone.
846
+ */
847
+ export interface CanisterHumidity {
848
+ /** Air humidity (%). */
849
+ humidity: number;
850
+ }
851
+ /** Essential battery information. */
852
+ export interface Battery {
853
+ /** Battery voltage (V). */
854
+ voltage: number;
855
+ /** Battery level (0..1). */
856
+ level: number;
857
+ /** Battery temperature (°C). */
858
+ temperature: number;
859
+ }
860
+ /**
861
+ * Battery information message.
862
+ *
863
+ * Detailed information about all aspects of the connected Blueye Smart Battery,
864
+ * using the BQ40Z50 BMS.
865
+ */
866
+ export interface BatteryBQ40Z50 {
867
+ /** Voltage of the battery cells. */
868
+ voltage: BatteryBQ40Z50_Voltage | undefined;
869
+ /** Temperature of the battery cells. */
870
+ temperature: BatteryBQ40Z50_Temperature | undefined;
871
+ /** Battery status flags. */
872
+ status: BatteryBQ40Z50_BatteryStatus | undefined;
873
+ /** Measured current from the coulomb counter (A). */
874
+ current: number;
875
+ /** Average current (A). */
876
+ averageCurrent: number;
877
+ /** Predicted remaining battery capacity as a factor of full capacity (0..1). */
878
+ relativeStateOfCharge: number;
879
+ /** Predicted remaining battery capacity (0..1). */
880
+ absoluteStateOfCharge: number;
881
+ /** Calculated state of charge (0..1). */
882
+ calculatedStateOfCharge: number;
883
+ /** Predicted remaining battery capacity (Ah). */
884
+ remainingCapacity: number;
885
+ /** Predicted battery capacity when fully charged (Ah). */
886
+ fullChargeCapacity: number;
887
+ /** Predicted remaining battery capacity based on the present rate of discharge (s). */
888
+ runtimeToEmpty: number;
889
+ /** Predicted remaining battery capacity based on average_current (s). */
890
+ averageTimeToEmpty: number;
891
+ /** Predicted time-to-full charge based on average_current (s). */
892
+ averageTimeToFull: number;
893
+ /** Desired charging current (A). */
894
+ chargingCurrent: number;
895
+ /** Desired charging voltage (V). */
896
+ chargingVoltage: number;
897
+ /** Number of charging cycles. */
898
+ cycleCount: number;
899
+ /** Design capacity (Ah). */
900
+ designCapacity: number;
901
+ /** Manufacture date. */
902
+ manufactureDate: Date | undefined;
903
+ /** Serial number. */
904
+ serialNumber: number;
905
+ /** Manufacturer name. */
906
+ manufacturerName: string;
907
+ /** Device name. */
908
+ deviceName: string;
909
+ /** Battery chemistry. */
910
+ deviceChemistry: string;
911
+ /** Battery lifetimes. */
912
+ lifetimes: BatteryBQ40Z50_BatteryLifetimes | undefined;
913
+ /** Battery safety events. */
914
+ safetyEvents: BatteryBQ40Z50_BatterySafetyEvents | undefined;
915
+ /** Battery charging events. */
916
+ chargingEvents: BatteryBQ40Z50_BatteryChargingEvents | undefined;
917
+ }
918
+ /** Battery voltage levels. */
919
+ export interface BatteryBQ40Z50_Voltage {
920
+ /** Battery pack voltage level (V). */
921
+ total: number;
922
+ /** Cell 1 voltage level (V). */
923
+ cell1: number;
924
+ /** Vell 2 voltage level (V). */
925
+ cell2: number;
926
+ /** Cell 3 voltage level (V). */
927
+ cell3: number;
928
+ /** Cell 4 voltage level (V). */
929
+ cell4: number;
930
+ }
931
+ /** Battery temperature. */
932
+ export interface BatteryBQ40Z50_Temperature {
933
+ /** Average temperature accross cells (°C). */
934
+ average: number;
935
+ /** Cell 1 temperature (°C). */
936
+ cell1: number;
937
+ /** Cell 2 temperature (°C). */
938
+ cell2: number;
939
+ /** Cell 3 temperature (°C). */
940
+ cell3: number;
941
+ /** Cell 4 temperature (°C). */
942
+ cell4: number;
943
+ }
944
+ /** Battery status from BQ40Z50 ref data sheet 0x16. */
945
+ export interface BatteryBQ40Z50_BatteryStatus {
946
+ overchargedAlarm: boolean;
947
+ terminateChargeAlarm: boolean;
948
+ overTemperatureAlarm: boolean;
949
+ terminateDischargeAlarm: boolean;
950
+ remainingCapacityAlarm: boolean;
951
+ remainingTimeAlarm: boolean;
952
+ initialization: boolean;
953
+ dischargingOrRelax: boolean;
954
+ fullyCharged: boolean;
955
+ fullyDischarged: boolean;
956
+ /** Battery error codes. */
957
+ error: BatteryBQ40Z50_BatteryStatus_BatteryError;
958
+ }
959
+ /** Battery error code from BQ40Z50 BMS data sheet. */
960
+ export declare enum BatteryBQ40Z50_BatteryStatus_BatteryError {
961
+ BATTERY_ERROR_UNSPECIFIED = 0,
962
+ BATTERY_ERROR_OK = 1,
963
+ BATTERY_ERROR_BUSY = 2,
964
+ BATTERY_ERROR_RESERVED_COMMAND = 3,
965
+ BATTERY_ERROR_UNSUPPORTED_COMMAND = 4,
966
+ BATTERY_ERROR_ACCESS_DENIED = 5,
967
+ BATTERY_ERROR_OVERFLOW_UNDERFLOW = 6,
968
+ BATTERY_ERROR_BAD_SIZE = 7,
969
+ BATTERY_ERROR_UNKNOWN_ERROR = 8,
970
+ UNRECOGNIZED = -1
971
+ }
972
+ export declare function batteryBQ40Z50_BatteryStatus_BatteryErrorFromJSON(object: any): BatteryBQ40Z50_BatteryStatus_BatteryError;
973
+ export declare function batteryBQ40Z50_BatteryStatus_BatteryErrorToJSON(object: BatteryBQ40Z50_BatteryStatus_BatteryError): string;
974
+ export interface BatteryBQ40Z50_BatteryLifetimes {
975
+ /** Maximum reported cell voltages. */
976
+ maxCellVoltages: BatteryBQ40Z50_BatteryLifetimes_CellVoltages | undefined;
977
+ /** Minimum reported cell voltages. */
978
+ minCellVoltages: BatteryBQ40Z50_BatteryLifetimes_CellVoltages | undefined;
979
+ /** Max delta between cells (V). */
980
+ maxDeltaCellVoltage: number;
981
+ /** Max reported current in the charge direction (A). */
982
+ maxChargeCurrent: number;
983
+ /** Max reported current in the discharge direction (A). */
984
+ maxDischargeCurrent: number;
985
+ /** Max reported average current in the discharge direction (A). */
986
+ maxAvgDischargeCurrent: number;
987
+ /** Max reported power in discharge direction (W). */
988
+ maxAvgDischargePower: number;
989
+ /** Max reported cell temperature (°C). */
990
+ maxCellTemperature: number;
991
+ /** Min reported cell temperature (°C). */
992
+ minCellTemperature: number;
993
+ /** Max reported temperature delta for TSx inputs configured as cell temperature (°C). */
994
+ maxDeltaCellTemperature: number;
995
+ /** Max reported internal temperature sensor temperature (°C). */
996
+ maxTemperatureInternalSensor: number;
997
+ /** Min reported internal temperature sensor temperature (°C). */
998
+ minTemperatureInternalSensor: number;
999
+ /** Max reported FET temperature (°C). */
1000
+ maxTemperatureFet: number;
1001
+ }
1002
+ export interface BatteryBQ40Z50_BatteryLifetimes_CellVoltages {
1003
+ /** Voltage for cell number 1 (V). */
1004
+ cell1: number;
1005
+ /** Voltage for cell number 2 (V). */
1006
+ cell2: number;
1007
+ /** Voltage for cell number 3 (V). */
1008
+ cell3: number;
1009
+ /** Voltage for cell number 4 (V). */
1010
+ cell4: number;
1011
+ }
1012
+ export interface BatteryBQ40Z50_BatterySafetyEvents {
1013
+ /** Number of cell over voltage (COV) events (events). */
1014
+ covEventsCount: number;
1015
+ /** Last COV event in cycle count cycles (cycles). */
1016
+ covLastEvent: number;
1017
+ /** Number of cell under voltage (CUV) events (events). */
1018
+ cuvEventsCount: number;
1019
+ /** Last CUV event in cycle count cycles (cycles). */
1020
+ cuvLastEvent: number;
1021
+ /** Number of over current in Discharge 1 (OCD1) events (events). */
1022
+ ocd1EventsCount: number;
1023
+ /** Last OCD1 event in cycle count cycles (cycles). */
1024
+ ocd1LastEvent: number;
1025
+ /** Number of over current in Discharge 2 (OCD2) events (events). */
1026
+ ocd2EventsCount: number;
1027
+ /** Last OCD2 event in cycle count cycles (cycles). */
1028
+ ocd2LastEvent: number;
1029
+ /** Number of over current in Charge 1 (OCC1) events (events). */
1030
+ occ1EventsCount: number;
1031
+ /** Last OCC1 event in cycle count cycles (cycles). */
1032
+ occ1LastEvent: number;
1033
+ /** Number of over current in Charge 2 (OCC2) events (events). */
1034
+ occ2EventsCount: number;
1035
+ /** Last OCC2 event in cycle count cycles (cycles). */
1036
+ occ2LastEvent: number;
1037
+ /** Number of Overload in discharge (AOLD) events (events). */
1038
+ aoldEventsCount: number;
1039
+ /** Last AOLD event in cycle count cycles (cycles). */
1040
+ aoldLastEvent: number;
1041
+ /** Number of Short Circuit in Discharge (ASCD) events (events). */
1042
+ ascdEventsCount: number;
1043
+ /** Last ASCD event in cycle count cycles (cycles). */
1044
+ ascdLastEvent: number;
1045
+ /** Number of Short Circuit in Charge (ASCC) events (events). */
1046
+ asccEventsCount: number;
1047
+ /** Last ASCC event in cycle count cycles (cycles). */
1048
+ asccLastEvent: number;
1049
+ /** Number of over temperature in Charge (OTC) events (events). */
1050
+ otcEventsCount: number;
1051
+ /** Last OTC event in cycle count cycles (cycles). */
1052
+ otcLastEvent: number;
1053
+ /** Number of over temperature in Discharge (OTD) events (events). */
1054
+ otdEventsCount: number;
1055
+ /** Last OTD event in cycle count cycles (cycles). */
1056
+ otdLastEvent: number;
1057
+ /** Number of over temperature in FET (OTF) events (events). */
1058
+ otfEventsCount: number;
1059
+ /** Last OTF event in cycle count cycles (cycles). */
1060
+ otfLastEvent: number;
1061
+ }
1062
+ export interface BatteryBQ40Z50_BatteryChargingEvents {
1063
+ /** Total number of valid charge termination events (events). */
1064
+ chargeTerminationEventsCount: number;
1065
+ /** Last valid charge termination in cycle count cycles (cycles). */
1066
+ chargeTerminationLastEvent: number;
1067
+ }
1068
+ /** The attitude of the drone. */
1069
+ export interface Attitude {
1070
+ /** Roll angle (-180°..180°). */
1071
+ roll: number;
1072
+ /** Pitch angle (-180°..180°). */
1073
+ pitch: number;
1074
+ /** Yaw angle (-180°..180°). */
1075
+ yaw: number;
1076
+ }
1077
+ /** The Magnetic Declination status used to get true North compass readings based on location. */
1078
+ export interface MagneticDeclination {
1079
+ /** Location source used for the magnetic declination look-up in geographiclib. */
1080
+ locationSource: LocationSource;
1081
+ /** The declination which is applied to the yaw field in the Attitude msg. */
1082
+ declination: number;
1083
+ /** The location used for the magnetic declination look-up. */
1084
+ location: LatLongPosition | undefined;
1085
+ }
1086
+ /** Drone altitude over seabed, typically obtained from a DVL. */
1087
+ export interface Altitude {
1088
+ /** Drone altitude over seabed (m). */
1089
+ value: number;
1090
+ /** If altitude is valid or not. */
1091
+ isValid: boolean;
1092
+ }
1093
+ /**
1094
+ * Distance to an object in front of the drone.
1095
+ *
1096
+ * Typically obtained from a 1D pinger.
1097
+ */
1098
+ export interface ForwardDistance {
1099
+ /** Distance in front of drone (m). */
1100
+ value: number;
1101
+ /** If distance reading is valid or not. */
1102
+ isValid: boolean;
1103
+ }
1104
+ /** Position estimate from the Extended Kalman filter based observer if a DVL is connected. */
1105
+ export interface PositionEstimate {
1106
+ /** Position from reset point (m). */
1107
+ northing: number;
1108
+ /** Position from reset point (m). */
1109
+ easting: number;
1110
+ /** Continuous heading estimate (rad). */
1111
+ heading: number;
1112
+ /** Velocity in surge (m/s). */
1113
+ surgeRate: number;
1114
+ /** Velocity in sway (m/s). */
1115
+ swayRate: number;
1116
+ /** Rotaion rate in yaw (rad/s). */
1117
+ yawRate: number;
1118
+ /** Estimated ocean current (m/s). */
1119
+ oceanCurrent: number;
1120
+ /** Travelled distance since reset (m). */
1121
+ odometer: number;
1122
+ /** If the estimate can be trusted. */
1123
+ isValid: boolean;
1124
+ /** Best estimate of the global position in decimal degrees. */
1125
+ globalPosition: LatLongPosition | undefined;
1126
+ /** List of available sensors with status. */
1127
+ navigationSensors: NavigationSensorStatus[];
1128
+ /** Speed over ground (m/s). */
1129
+ speedOverGround: number;
1130
+ /** Course over ground (°). */
1131
+ courseOverGround: number;
1132
+ /** Time since reset (s). */
1133
+ timeSinceResetSec: number;
1134
+ /** Accuracy radius of this position at the 95th percentile confidence level (m). */
1135
+ accuracy: number;
1136
+ }
1137
+ /** Settings used when resetting the position estimate. */
1138
+ export interface ResetPositionSettings {
1139
+ /** Option to use the drone compass or due North as heading during reset. */
1140
+ headingSourceDuringReset: HeadingSource;
1141
+ /** Heading in degrees (0-359). */
1142
+ manualHeading: number;
1143
+ /** Option to use the device GPS or a manual coordinate. */
1144
+ resetCoordinateSource: ResetCoordinateSource;
1145
+ /** Reset coordinate in decimal degrees. */
1146
+ resetCoordinate: LatLongPosition | undefined;
1147
+ /** Heading mode used in dead reckoning. */
1148
+ headingMode: HeadingMode;
1149
+ }
1150
+ /** DVL raw transducer data. */
1151
+ export interface DvlTransducer {
1152
+ /** Transducer ID, 3 beams for Nucleus DVL, 4 beams for DVL A50. */
1153
+ id: number;
1154
+ /** Velocity (m/s). */
1155
+ velocity: number;
1156
+ /** Distance (m). */
1157
+ distance: number;
1158
+ /** Beam validity. */
1159
+ beamValid: boolean;
1160
+ /** Received signal strength indicator: strength of the signal received by this transducer (dBm). */
1161
+ rssi: number;
1162
+ /** Noise spectral density: strength of the background noise received by this transducer (dBm). */
1163
+ nsd: number;
1164
+ }
1165
+ /** DVL raw velocity data. */
1166
+ export interface DvlVelocity {
1167
+ /** Sensor id. */
1168
+ sensorId: NavigationSensorID;
1169
+ /** Vendor-specific status of the DVL. */
1170
+ status: number;
1171
+ /** Time since last velocity measurement (ms). */
1172
+ deltaTime: number;
1173
+ /** Figure of merit, a measure of the accuracy of the velocities (m/s). */
1174
+ fom: number;
1175
+ /** Velocity, x forward, y left, z down (m/s). */
1176
+ velocity: Vector3 | undefined;
1177
+ /** Water tracking status. */
1178
+ isWaterTracking: boolean;
1179
+ /** List of transducers. */
1180
+ transducers: DvlTransducer[];
1181
+ }
1182
+ /** Water depth of the drone. */
1183
+ export interface Depth {
1184
+ /** Drone depth below surface (m). */
1185
+ value: number;
1186
+ }
1187
+ /**
1188
+ * Reference for the control system.
1189
+ * Note that the internal heading reference is not relative to North, use
1190
+ * (ControlHealth.heading_error + pose.yaw) instead.
1191
+ */
1192
+ export interface Reference {
1193
+ /** Reference from joystick surge input (0..1). */
1194
+ surge: number;
1195
+ /** Reference from joystick sway input (0..1). */
1196
+ sway: number;
1197
+ /** Reference from joystick heave input (0..1). */
1198
+ heave: number;
1199
+ /** Reference from joystick yaw input (0..1). */
1200
+ yaw: number;
1201
+ /** Reference drone depth below surface (m). */
1202
+ depth: number;
1203
+ /** Reference used in auto heading mode, gyro based (°). */
1204
+ heading: number;
1205
+ /** Reference used in auto altitude mode (m). */
1206
+ altitude: number;
1207
+ }
1208
+ /** Notification is used for displaying info, warnings, and errors to the user. */
1209
+ export interface Notification {
1210
+ /** Notification to be displayed to the user. */
1211
+ type: NotificationType;
1212
+ /** Level of the notification, info, warning or error. */
1213
+ level: NotificationLevel;
1214
+ /** Optional value to be displayed in the message. */
1215
+ value: Any | undefined;
1216
+ /** Timestamp of the notification. */
1217
+ timestamp: Date | undefined;
1218
+ }
1219
+ /** Control Force is used for showing the requested control force in each direction in Newtons. */
1220
+ export interface ControlForce {
1221
+ /** Force in surge (N). */
1222
+ surge: number;
1223
+ /** Force in sway (N). */
1224
+ sway: number;
1225
+ /** Force in heave (N). */
1226
+ heave: number;
1227
+ /** Moment in yaw (Nm). */
1228
+ yaw: number;
1229
+ }
1230
+ /** Controller health is used for showing the state of the controller with an relative error and load from 0 to 1. */
1231
+ export interface ControllerHealth {
1232
+ /** Depth error in meters (m). */
1233
+ depthError: number;
1234
+ /** Depth controller load (0..1). */
1235
+ depthHealth: number;
1236
+ /** Heading error in degrees (°). */
1237
+ headingError: number;
1238
+ /** Heading controller load (0..1). */
1239
+ headingHealth: number;
1240
+ }
1241
+ /**
1242
+ * Amount of time the drone has been submerged.
1243
+ *
1244
+ * The drone starts incrementing this value when the depth is above 250 mm.
1245
+ */
1246
+ export interface DiveTime {
1247
+ /** Number of seconds the drone has been submerged. */
1248
+ value: number;
1249
+ }
1250
+ /** Which cameras or multibeam are supposed to be recording. */
1251
+ export interface RecordOn {
1252
+ /** Record the main camera. */
1253
+ main: boolean;
1254
+ /** Record external camera. */
1255
+ guestport: boolean;
1256
+ /** Record multibeam. */
1257
+ multibeam: boolean;
1258
+ }
1259
+ /** Storage space. */
1260
+ export interface StorageSpace {
1261
+ /** Total bytes of storage space (B). */
1262
+ totalSpace: number;
1263
+ /** Available bytes of storage space (B). */
1264
+ freeSpace: number;
1265
+ }
1266
+ /** Storage partition. */
1267
+ export interface StoragePartition {
1268
+ /** The amount of storage space on the device. */
1269
+ storageSpace: StorageSpace | undefined;
1270
+ /** File system type of the removable storage device. */
1271
+ fileSystemType: string;
1272
+ /** Partition device path */
1273
+ devicePath: string;
1274
+ /** Mount path of the partition. */
1275
+ mountPath: string;
1276
+ /** Label of the partition. */
1277
+ label: string;
1278
+ }
1279
+ /** Removable storage device. */
1280
+ export interface RemovableStorageDevice {
1281
+ /** USB vendor name. */
1282
+ vendorName: string;
1283
+ /** Model name of the USB storage device. */
1284
+ modelName: string;
1285
+ /** Mount path of the storage device. */
1286
+ devicePath: string;
1287
+ /** Status of the storage device. */
1288
+ status: RemovableStorageDevice_Status;
1289
+ /** Any active error flags for the storage device. */
1290
+ errorFlags: RemovableStorageErrorFlags | undefined;
1291
+ /** List of partitions on the storage device. */
1292
+ partitions: StoragePartition[];
1293
+ }
1294
+ /** Overall status of the storage device. */
1295
+ export declare enum RemovableStorageDevice_Status {
1296
+ /** STATUS_UNSPECIFIED - Unspecified. */
1297
+ STATUS_UNSPECIFIED = 0,
1298
+ /** STATUS_READY - The storage device is valid and ready for use. */
1299
+ STATUS_READY = 1,
1300
+ /** STATUS_FORMATTING - The storage device is being formatted */
1301
+ STATUS_FORMATTING = 2,
1302
+ /** STATUS_ERROR - The storage device is in an error state. */
1303
+ STATUS_ERROR = 3,
1304
+ UNRECOGNIZED = -1
1305
+ }
1306
+ export declare function removableStorageDevice_StatusFromJSON(object: any): RemovableStorageDevice_Status;
1307
+ export declare function removableStorageDevice_StatusToJSON(object: RemovableStorageDevice_Status): string;
1308
+ /** Error flags related to a removable storage device. */
1309
+ export interface RemovableStorageErrorFlags {
1310
+ /** Optional error message to give additional information from the drone to a client about active error flags. */
1311
+ errorMessage: string;
1312
+ /** Device is attached but no partitions are found. */
1313
+ noPartitionsFound: boolean;
1314
+ /** Multiple partitions are found. */
1315
+ multiplePartitionsFound: boolean;
1316
+ /** The wrong file system is found. */
1317
+ wrongFileSystemFound: boolean;
1318
+ /** The device is in read-only mode. */
1319
+ deviceIsReadOnly: boolean;
1320
+ /** Formatting of the device failed. */
1321
+ formattingFailed: boolean;
1322
+ }
1323
+ /** Compass calibration state. */
1324
+ export interface CalibrationState {
1325
+ /** Current calibration status. */
1326
+ status: CalibrationState_Status;
1327
+ /** Progress for the positive X axis (0..1). */
1328
+ progressXPositive: number;
1329
+ /** Progress for the negative X axis (0..1). */
1330
+ progressXNegative: number;
1331
+ /** Progress for the positive Y axis (0..1). */
1332
+ progressYPositive: number;
1333
+ /** Progress for the negative X axis (0..1). */
1334
+ progressYNegative: number;
1335
+ /** Progress for the positive Z axis (0..1). */
1336
+ progressZPositive: number;
1337
+ /** Progress for the negative Z axis (0..1). */
1338
+ progressZNegative: number;
1339
+ /** Progress for the thruster calibration (0..1). */
1340
+ progressThruster: number;
1341
+ }
1342
+ /**
1343
+ * Status of the compass calibration procedure.
1344
+ *
1345
+ * When calibration is started, the status will indicate the active (up facing) axis.
1346
+ */
1347
+ export declare enum CalibrationState_Status {
1348
+ /** STATUS_UNSPECIFIED - Unspecified status. */
1349
+ STATUS_UNSPECIFIED = 0,
1350
+ /** STATUS_NOT_CALIBRATING - Compass is not currently calibrating. */
1351
+ STATUS_NOT_CALIBRATING = 1,
1352
+ /** STATUS_CALIBRATING_NO_AXIS - Compass is calibrating but active calibration axis cannot be determined. */
1353
+ STATUS_CALIBRATING_NO_AXIS = 2,
1354
+ /** STATUS_CALIBRATING_X_POSITIVE - Compass is calibrating and the positive X axis is active. */
1355
+ STATUS_CALIBRATING_X_POSITIVE = 3,
1356
+ /** STATUS_CALIBRATING_X_NEGATIVE - Compass is calibrating and the negative X axis is active. */
1357
+ STATUS_CALIBRATING_X_NEGATIVE = 4,
1358
+ /** STATUS_CALIBRATING_Y_POSITIVE - Compass is calibrating and the positive Y axis is active. */
1359
+ STATUS_CALIBRATING_Y_POSITIVE = 5,
1360
+ /** STATUS_CALIBRATING_Y_NEGATIVE - Compass is calibrating and the negative Y axis is active. */
1361
+ STATUS_CALIBRATING_Y_NEGATIVE = 6,
1362
+ /** STATUS_CALIBRATING_Z_POSITIVE - Compass is calibrating and the positive Z axis is active. */
1363
+ STATUS_CALIBRATING_Z_POSITIVE = 7,
1364
+ /** STATUS_CALIBRATING_Z_NEGATIVE - Compass is calibrating and the negative Z axis is active. */
1365
+ STATUS_CALIBRATING_Z_NEGATIVE = 8,
1366
+ /** STATUS_CALIBRATING_THRUSTER - Compass is calibrating for thruster interference. */
1367
+ STATUS_CALIBRATING_THRUSTER = 9,
1368
+ UNRECOGNIZED = -1
1369
+ }
1370
+ export declare function calibrationState_StatusFromJSON(object: any): CalibrationState_Status;
1371
+ export declare function calibrationState_StatusToJSON(object: CalibrationState_Status): string;
1372
+ /** Connection speed between drone and Surface Unit. */
1373
+ export interface IperfStatus {
1374
+ /** Transfer rate from drone to Surface Unit (Mbit/s). */
1375
+ sent: number;
1376
+ /** Transfer rate from Surface Unit to drone (Mbit/s). */
1377
+ received: number;
1378
+ }
1379
+ /** Number of spectators connected to video stream. */
1380
+ export interface NStreamers {
1381
+ /** The number of clients to the main camera stream. */
1382
+ main: number;
1383
+ /** The number of clients to the guestport camera stream. */
1384
+ guestport: number;
1385
+ }
1386
+ /** Angle of tilt camera in degrees. */
1387
+ export interface TiltAngle {
1388
+ /** Tilt angle (°). */
1389
+ value: number;
1390
+ }
1391
+ /** Relative velocity of tilt. */
1392
+ export interface TiltVelocity {
1393
+ /** Relative angular velocity of tilt (-1..1), negative means down and positive means up. */
1394
+ value: number;
1395
+ }
1396
+ /**
1397
+ * Information about the drone.
1398
+ *
1399
+ * This message contains serial numbers and version information for
1400
+ * internal components in the drone. Primarily used for diagnostics, or to
1401
+ * determine the origin of a logfile.
1402
+ */
1403
+ export interface DroneInfo {
1404
+ /** Blunux version string. */
1405
+ blunuxVersion: string;
1406
+ /** Drone serial number. */
1407
+ serialNumber: Uint8Array;
1408
+ /** Main computer unique identifier. */
1409
+ hardwareId: Uint8Array;
1410
+ /** Drone model. */
1411
+ model: Model;
1412
+ /** Motherboard serial number. */
1413
+ mbSerial: Uint8Array;
1414
+ /** Backbone serial number. */
1415
+ bbSerial: Uint8Array;
1416
+ /** Drone stack serial number. */
1417
+ dsSerial: Uint8Array;
1418
+ /** Motherboard unique identifier. */
1419
+ mbUid: Uint8Array;
1420
+ /** Backbone unique identifier. */
1421
+ bbUid: Uint8Array;
1422
+ /** Guest port information. */
1423
+ gp: GuestPortInfo | undefined;
1424
+ /** Type of depth sensor that is connected to the drone. */
1425
+ depthSensor: PressureSensorType;
1426
+ }
1427
+ /** Known error states for the drone. */
1428
+ export interface ErrorFlags {
1429
+ /** Acknowledge message not received for a message published to internal micro controller. */
1430
+ pmuCommAck: boolean;
1431
+ /** Error in communication with internal micro controller. */
1432
+ pmuCommStream: boolean;
1433
+ /** Error reading depth sensor value. */
1434
+ depthRead: boolean;
1435
+ /** Sudden spike in value read from depth sensor. */
1436
+ depthSpike: boolean;
1437
+ /** Error reading inner pressure of the drone. */
1438
+ innerPressureRead: boolean;
1439
+ /** Sudden spike in inner preassure. */
1440
+ innerPressureSpike: boolean;
1441
+ /** Compass needs calibration. */
1442
+ compassCalibration: boolean;
1443
+ /** Error during calibration of tilt endpoints. */
1444
+ tiltCalibration: boolean;
1445
+ /** Guest port 1 read error. */
1446
+ gp1Read: boolean;
1447
+ /** Guest port 2 read error. */
1448
+ gp2Read: boolean;
1449
+ /** Guest port 3 read error. */
1450
+ gp3Read: boolean;
1451
+ /** Guest port 1 not flashed. */
1452
+ gp1NotFlashed: boolean;
1453
+ /** Guest port 2 not flashed. */
1454
+ gp2NotFlashed: boolean;
1455
+ /** Guest port 3 not flashed. */
1456
+ gp3NotFlashed: boolean;
1457
+ /** Unknown device on guest port 1. */
1458
+ gp1UnknownDevice: boolean;
1459
+ /** Unknown device on guest port 2. */
1460
+ gp2UnknownDevice: boolean;
1461
+ /** Unknown device on guest port 3. */
1462
+ gp3UnknownDevice: boolean;
1463
+ /** Guest port 1 connection error. */
1464
+ gp1DeviceConnection: boolean;
1465
+ /** Guest port 2 connection error. */
1466
+ gp2DeviceConnection: boolean;
1467
+ /** Guest port 3 connection error. */
1468
+ gp3DeviceConnection: boolean;
1469
+ /** Guest port 1 device error. */
1470
+ gp1Device: boolean;
1471
+ /** Guest port 2 device error. */
1472
+ gp2Device: boolean;
1473
+ /** Guest port 3 device error. */
1474
+ gp3Device: boolean;
1475
+ /** Drone serial number not set. */
1476
+ droneSerialNotSet: boolean;
1477
+ /** Drone serial number error. */
1478
+ droneSerial: boolean;
1479
+ /** MB eeprom read error. */
1480
+ mbEepromRead: boolean;
1481
+ /** BB eeprom read error. */
1482
+ bbEepromRead: boolean;
1483
+ /** MB eeprom not flashed. */
1484
+ mbEepromNotFlashed: boolean;
1485
+ /** BB eeprom not flashed. */
1486
+ bbEepromNotFlashed: boolean;
1487
+ /** We don't get buffers from the main camera. */
1488
+ mainCameraConnection: boolean;
1489
+ /** The main camera firmware is wrong. */
1490
+ mainCameraFirmware: boolean;
1491
+ /** We don't get buffers from the guestport camera. */
1492
+ guestportCameraConnection: boolean;
1493
+ /** The guestport camera firmware is wrong. */
1494
+ guestportCameraFirmware: boolean;
1495
+ /** MB serial number error. */
1496
+ mbSerial: boolean;
1497
+ /** BB serial number error. */
1498
+ bbSerial: boolean;
1499
+ /** DS serial number error. */
1500
+ dsSerial: boolean;
1501
+ /** Error reading GP current. */
1502
+ gpCurrentRead: boolean;
1503
+ /** Max GP current exceeded. */
1504
+ gpCurrent: boolean;
1505
+ /** Max battery current exceeded on GP1. */
1506
+ gp1BatCurrent: boolean;
1507
+ /** Max battery current exceeded on GP2. */
1508
+ gp2BatCurrent: boolean;
1509
+ /** Max battery current exceeded on GP3. */
1510
+ gp3BatCurrent: boolean;
1511
+ /** Max 20V current exceeded on GP. */
1512
+ gp20vCurrent: boolean;
1513
+ /** DVL is in thermal protection mode. */
1514
+ dvlThermalProtectionMode: boolean;
1515
+ /** GP protection has been triggered at boot or faulty DVL. */
1516
+ dvlNoPower: boolean;
1517
+ /** USB disconnect. */
1518
+ usbDisconnect: boolean;
1519
+ /** Video URB error. */
1520
+ videoUrbError: boolean;
1521
+ /** Hardware not supported on current blunux version. */
1522
+ hardwareNotSupported: boolean;
1523
+ }
1524
+ /** Camera parameters. */
1525
+ export interface CameraParameters {
1526
+ /** Bitrate of the h264 stream (bit/sec). */
1527
+ h264Bitrate: number;
1528
+ /** Bitrate of the MJPG stream used for still pictures (bit/sec). */
1529
+ mjpgBitrate: number;
1530
+ /** Shutter speed (1/10000 * s), -1 for automatic exposure. */
1531
+ exposure: number;
1532
+ /** White balance temp (Pioneer/Pro/X1/X3: 2800..9300, Ultra: 2300..15000), -1 for auto. */
1533
+ whiteBalance: number;
1534
+ /** Hue (-40..40), 0 as default. Only available on Pioneer/Pro/X1/X3. */
1535
+ hue: number;
1536
+ /** Iso gain (0..1). Only available on Pioneer/Pro/X1/X3. */
1537
+ gain: number;
1538
+ /** Brightness (-10..10), 0 as default. Only available on Ultra */
1539
+ brightness: number;
1540
+ /** Contrast (-50..50), 0 as default. Only available on Ultra. */
1541
+ contrast: number;
1542
+ /** Saturation (0..50), 8 as default. Only available on Ultra. */
1543
+ saturation: number;
1544
+ /** Gamma (4..79), 22 as default. Only available on Ultra. */
1545
+ gamma: number;
1546
+ /** Sharpness (-20..20), -20 as default. Only available on Ultra. */
1547
+ sharpness: number;
1548
+ /** Backlight compensation (-150..150), 10 as default. Only available on Ultra. */
1549
+ backlightCompensation: number;
1550
+ /** Noise reduction (-20..20), -20 as default. Only available on Ultra. */
1551
+ denoise: number;
1552
+ /** Enable eHDR mode. Default true. Only available on Ultra. */
1553
+ ehdrEnabled: boolean;
1554
+ /** Minimum number of eHDR frames. (1..4), default 1. Only available on Ultra. */
1555
+ ehdrExposureMinNumber: number;
1556
+ /** Maximum number of eHDR frames. (1..4), default 2. Only on Ultra. Setting larger than 2 can reduce the framerate. */
1557
+ ehdrExposureMaxNumber: number;
1558
+ /** Stream, recording and image resolution (deprecated). */
1559
+ resolution: Resolution;
1560
+ /** Stream resolution. */
1561
+ streamResolution: Resolution;
1562
+ /** Recording and image resolution. */
1563
+ recordingResolution: Resolution;
1564
+ /** Streaming protocol. */
1565
+ streamingProtocol: StreamingProtocol;
1566
+ /** Stream and recording framerate. */
1567
+ framerate: Framerate;
1568
+ /** Which camera the parameters belong to. */
1569
+ camera: Camera;
1570
+ }
1571
+ /**
1572
+ * Overlay parameters.
1573
+ *
1574
+ * All available parameters that can be used to configure telemetry overlay on video recordings.
1575
+ */
1576
+ export interface OverlayParameters {
1577
+ /** If temperature should be included. */
1578
+ temperatureEnabled: boolean;
1579
+ /** If depth should be included. */
1580
+ depthEnabled: boolean;
1581
+ /** If heading should be included. */
1582
+ headingEnabled: boolean;
1583
+ /** If camera tilt angle should be included. */
1584
+ tiltEnabled: boolean;
1585
+ /** If camera tilt angle should be included. */
1586
+ thicknessEnabled: boolean;
1587
+ /** If date should be included. */
1588
+ dateEnabled: boolean;
1589
+ /** If distance should be included. */
1590
+ distanceEnabled: boolean;
1591
+ /** If altitude should be included. */
1592
+ altitudeEnabled: boolean;
1593
+ /** If cp-probe should be included. */
1594
+ cpProbeEnabled: boolean;
1595
+ /** If medusa measurement should be included. */
1596
+ medusaEnabled: boolean;
1597
+ /** If the drone location coordinates should be included. */
1598
+ droneLocationEnabled: boolean;
1599
+ /** Which logo should be used. */
1600
+ logoType: LogoType;
1601
+ /** Which unit should be used for depth: Meter, Feet or None. */
1602
+ depthUnit: DepthUnit;
1603
+ /** Which unit should be used for temperature: Celsius or Fahrenheit. */
1604
+ temperatureUnit: TemperatureUnit;
1605
+ /** Which unit should be used for thickness: Millimeters or Inches. */
1606
+ thicknessUnit: ThicknessUnit;
1607
+ /** Timezone offset from UTC (min). */
1608
+ timezoneOffset: number;
1609
+ /** Horizontal margins of text elements (px). */
1610
+ marginWidth: number;
1611
+ /** Vertical margins of text elements (px). */
1612
+ marginHeight: number;
1613
+ /** Font size of text elements. */
1614
+ fontSize: FontSize;
1615
+ /** Optional title. */
1616
+ title: string;
1617
+ /** Optional subtitle. */
1618
+ subtitle: string;
1619
+ /** Posix strftime format string for time stamp. */
1620
+ dateFormat: string;
1621
+ /** Pixel intensity to subtract from text background (0..1), 0: transparent, 1: black. */
1622
+ shading: number;
1623
+ }
1624
+ /** Navigation sensor used in the position observer with validity state. */
1625
+ export interface NavigationSensorStatus {
1626
+ /** Sensor id. */
1627
+ sensorId: NavigationSensorID;
1628
+ /** Sensor validity. */
1629
+ isValid: boolean;
1630
+ /** Position from reset point (m). */
1631
+ northing: number;
1632
+ /** Position from reset point (m). */
1633
+ easting: number;
1634
+ /** Heading from sensor (-pi..pi). */
1635
+ heading: number;
1636
+ /** Figure of merit. */
1637
+ fom: number;
1638
+ /** Standard deviation. */
1639
+ std: number;
1640
+ /** Global position from sensor. */
1641
+ globalPosition: LatLongPosition | undefined;
1642
+ }
1643
+ /** Information about a device connected to one of the guest ports. */
1644
+ export interface GuestPortDevice {
1645
+ /** Blueye device identifier. */
1646
+ deviceId: GuestPortDeviceID;
1647
+ /** Manufacturer name. */
1648
+ manufacturer: string;
1649
+ /** Device name. */
1650
+ name: string;
1651
+ /** Serial number. */
1652
+ serialNumber: string;
1653
+ /** Depth rating (m). */
1654
+ depthRating: number;
1655
+ /** Required Blunux version (x.y.z). */
1656
+ requiredBlunuxVersion: string;
1657
+ /** Detach status based on detection pin. */
1658
+ detachStatus: GuestPortDetachStatus;
1659
+ }
1660
+ /** List of guest port devices. */
1661
+ export interface GuestPortDeviceList {
1662
+ /** List of guest port devices. */
1663
+ devices: GuestPortDevice[];
1664
+ }
1665
+ /** GuestPort connector information. */
1666
+ export interface GuestPortConnectorInfo {
1667
+ /** List of devices on this connector. */
1668
+ deviceList?: GuestPortDeviceList | undefined;
1669
+ /** Guest port connector error. */
1670
+ error?: GuestPortError | undefined;
1671
+ /** Guest port the connector is connected to. */
1672
+ guestPortNumber: GuestPortNumber;
1673
+ }
1674
+ /** GuestPort information. */
1675
+ export interface GuestPortInfo {
1676
+ /** Information about guest port 1. */
1677
+ gp1: GuestPortConnectorInfo | undefined;
1678
+ /** Information about guest port 2. */
1679
+ gp2: GuestPortConnectorInfo | undefined;
1680
+ /** Information about guest port 3. */
1681
+ gp3: GuestPortConnectorInfo | undefined;
1682
+ }
1683
+ /** GuestPort restart information. */
1684
+ export interface GuestPortRestartInfo {
1685
+ /** Duration to keep the guest ports off (s). */
1686
+ powerOffDuration: number;
1687
+ }
1688
+ /** Thickness measurement data from a Cygnus Thickness Gauge. */
1689
+ export interface ThicknessGauge {
1690
+ /** Thickness measurement of a steel plate. */
1691
+ thicknessMeasurement: number;
1692
+ /** Indicating the quality of the reading when invalid (0-3). */
1693
+ echoCount: number;
1694
+ /** Speed of sound in the steel member (m/s). */
1695
+ soundVelocity: number;
1696
+ /** Indicating if the measurement is valid. */
1697
+ isMeasurementValid: boolean;
1698
+ }
1699
+ /** Reading from a Cathodic Protection Potential probe. */
1700
+ export interface CpProbe {
1701
+ /** Potential measurement (V). */
1702
+ measurement: number;
1703
+ /** Indicating if the measurement is valid. */
1704
+ isMeasurementValid: boolean;
1705
+ }
1706
+ /** Servo message used to represent the angle of the servo. */
1707
+ export interface GenericServo {
1708
+ /** Servo value (0..1). */
1709
+ value: number;
1710
+ /** Guest port the servo is on. */
1711
+ guestPortNumber: GuestPortNumber;
1712
+ }
1713
+ /** Servo message used to represent the angle of the servo. */
1714
+ export interface MultibeamServo {
1715
+ /** Servo degrees (-30..30). */
1716
+ angle: number;
1717
+ }
1718
+ /** GuestPort current readings. */
1719
+ export interface GuestPortCurrent {
1720
+ /** Current on GP1 battery voltage (A). */
1721
+ gp1Bat: number;
1722
+ /** Current on GP2 battery voltage (A). */
1723
+ gp2Bat: number;
1724
+ /** Current on GP3 battery voltage (A). */
1725
+ gp3Bat: number;
1726
+ /** Current on common 20V supply (A). */
1727
+ gp20v: number;
1728
+ }
1729
+ /** Vector with 3 elements. */
1730
+ export interface Vector3 {
1731
+ /** X-component. */
1732
+ x: number;
1733
+ /** Y-component. */
1734
+ y: number;
1735
+ /** Z-component. */
1736
+ z: number;
1737
+ }
1738
+ /**
1739
+ * Imu data in drone body frame.
1740
+ *
1741
+ * x - forward
1742
+ * y - right
1743
+ * z - down
1744
+ */
1745
+ export interface Imu {
1746
+ /** Acceleration (g). */
1747
+ accelerometer: Vector3 | undefined;
1748
+ /** Angular velocity (rad/s). */
1749
+ gyroscope: Vector3 | undefined;
1750
+ /** Magnetic field (μT). */
1751
+ magnetometer: Vector3 | undefined;
1752
+ /** Temperature (°C). */
1753
+ temperature: number;
1754
+ }
1755
+ /** Medusa gamma ray sensor spectrometer data. */
1756
+ export interface MedusaSpectrometerData {
1757
+ /** Time stamp when the data is received. */
1758
+ droneTime: Date | undefined;
1759
+ /** Time stamp the sensor reports. */
1760
+ sensorTime: Date | undefined;
1761
+ /** Time the sensor actually measured (s). */
1762
+ realtime: number;
1763
+ /** Time the measurement took (s). */
1764
+ livetime: number;
1765
+ /** Total counts inside the spectrum. */
1766
+ total: number;
1767
+ /** Counts per second inside the spectrum (rounded). */
1768
+ countrate: number;
1769
+ /** Detected counts above the last channel. */
1770
+ cosmics: number;
1771
+ }
1772
+ /**
1773
+ * Multibeam sonar ping.
1774
+ *
1775
+ * Contains all the information for rendering a multibeam sonar frame.
1776
+ */
1777
+ export interface MultibeamPing {
1778
+ /** Maximum range value (m). */
1779
+ range: number;
1780
+ /** Percentage of gain (0 to 1). */
1781
+ gain: number;
1782
+ /** Ping acoustic frequency (Hz). */
1783
+ frequency: number;
1784
+ /** Speed of sound used by the sonar for range calculations (m/s). */
1785
+ speedOfSoundUsed: number;
1786
+ /** Frequency mode used by the sonar for this frame. */
1787
+ frequencyMode: MultibeamFrequencyMode;
1788
+ /** Height of the ping image data. */
1789
+ numberOfRanges: number;
1790
+ /** Width of the ping image data. */
1791
+ numberOfBeams: number;
1792
+ /** Size in bytes of each row in the ping data image. */
1793
+ step: number;
1794
+ /**
1795
+ * Bearing angle of each column of the sonar data in degrees.
1796
+ * The sonar image is not sampled uniformly in the bearing direction.
1797
+ */
1798
+ bearings: number[];
1799
+ /** Ping data (row major, 2D, grayscale image). */
1800
+ pingData: Uint8Array;
1801
+ /** Device ID of the sonar. */
1802
+ deviceId: GuestPortDeviceID;
1803
+ /** Timestamp when the frame was generated. */
1804
+ frameGenerationTimestamp: Date | undefined;
1805
+ }
1806
+ /** Configuration message for sonar devices. */
1807
+ export interface MultibeamConfig {
1808
+ /** Frequency mode used by the sonar if supported. */
1809
+ frequencyMode: MultibeamFrequencyMode;
1810
+ /** Sets the maximum ping rate. */
1811
+ pingRate: MultibeamConfig_PingRate;
1812
+ /** Gamma correction (0..1.0). */
1813
+ gammaCorrection: number;
1814
+ /** Enable gain assist. */
1815
+ gainAssist: boolean;
1816
+ /** Enable gain boost (only available on Blueprint devices). */
1817
+ gainBoost: boolean;
1818
+ /** Maximum number of beams. Used to throttle bandwidth. */
1819
+ maximumNumberOfBeams: MultibeamConfig_MaximumNumberOfBeams;
1820
+ /** The range demand (m). */
1821
+ range: number;
1822
+ /** The gain demand (0..1). */
1823
+ gain: number;
1824
+ /** Set water salinity (ppt). Defaults to zero in fresh water. */
1825
+ salinity: number;
1826
+ /** Device ID of the sonar. */
1827
+ deviceId: GuestPortDeviceID;
1828
+ /** Network bandwidth limit (Mbit/s), applies only to Oculus devices. */
1829
+ bandwidthLimit: number;
1830
+ }
1831
+ /** Defines the desired ping rate to use when capturing sonar data. */
1832
+ export declare enum MultibeamConfig_PingRate {
1833
+ PING_RATE_UNSPECIFIED = 0,
1834
+ /** PING_RATE_NORMAL - 10Hz max ping rate. */
1835
+ PING_RATE_NORMAL = 1,
1836
+ /** PING_RATE_HIGH - 15Hz max ping rate. */
1837
+ PING_RATE_HIGH = 2,
1838
+ /** PING_RATE_HIGHEST - 40Hz max ping rate. */
1839
+ PING_RATE_HIGHEST = 3,
1840
+ /** PING_RATE_LOW - 5Hz max ping rate. */
1841
+ PING_RATE_LOW = 4,
1842
+ /** PING_RATE_LOWEST - 2Hz max ping rate. */
1843
+ PING_RATE_LOWEST = 5,
1844
+ /** PING_RATE_STANDBY - Disable ping. */
1845
+ PING_RATE_STANDBY = 6,
1846
+ UNRECOGNIZED = -1
1847
+ }
1848
+ export declare function multibeamConfig_PingRateFromJSON(object: any): MultibeamConfig_PingRate;
1849
+ export declare function multibeamConfig_PingRateToJSON(object: MultibeamConfig_PingRate): string;
1850
+ /** The maximum number of beams to use by the multibeam sonar. */
1851
+ export declare enum MultibeamConfig_MaximumNumberOfBeams {
1852
+ MAXIMUM_NUMBER_OF_BEAMS_UNSPECIFIED = 0,
1853
+ /** MAXIMUM_NUMBER_OF_BEAMS_MAX_128 - 128 beams. */
1854
+ MAXIMUM_NUMBER_OF_BEAMS_MAX_128 = 1,
1855
+ /** MAXIMUM_NUMBER_OF_BEAMS_MAX_256 - 256 beams. */
1856
+ MAXIMUM_NUMBER_OF_BEAMS_MAX_256 = 2,
1857
+ /** MAXIMUM_NUMBER_OF_BEAMS_MAX_512 - 512 beams. */
1858
+ MAXIMUM_NUMBER_OF_BEAMS_MAX_512 = 3,
1859
+ /** MAXIMUM_NUMBER_OF_BEAMS_MAX_1024 - 1024 beams. */
1860
+ MAXIMUM_NUMBER_OF_BEAMS_MAX_1024 = 4,
1861
+ UNRECOGNIZED = -1
1862
+ }
1863
+ export declare function multibeamConfig_MaximumNumberOfBeamsFromJSON(object: any): MultibeamConfig_MaximumNumberOfBeams;
1864
+ export declare function multibeamConfig_MaximumNumberOfBeamsToJSON(object: MultibeamConfig_MaximumNumberOfBeams): string;
1865
+ /** Discovery message for multibeam sonar devices. */
1866
+ export interface MultibeamDiscovery {
1867
+ /** If the sonar driver is enabled. */
1868
+ enabled: boolean;
1869
+ /** IP address of the sonar. */
1870
+ ip: string;
1871
+ /** Subnet mask of the sonar. */
1872
+ mask: string;
1873
+ /** Serial number of the sonar. */
1874
+ serialNumber: string;
1875
+ /** Firmware version of the sonar. */
1876
+ fwVersion: string;
1877
+ /** IP address of the connected device. */
1878
+ connectedIp: string;
1879
+ /** Device ID of the sonar. */
1880
+ deviceId: GuestPortDeviceID;
1881
+ /** Error flags specific for the connected multibeam device. */
1882
+ errorFlags: MultibeamErrorFlags | undefined;
1883
+ }
1884
+ /** Error flags for multibeam sonar devices. */
1885
+ export interface MultibeamErrorFlags {
1886
+ /**
1887
+ * If the sonar is captured by another client than the drone.
1888
+ * The connected client IP is reported in connected_ip property.
1889
+ */
1890
+ connectedToAnotherClient: boolean;
1891
+ /** If the multibeam is reporting to overheat. */
1892
+ deviceOverheating: boolean;
1893
+ /** If a TriTech multibeam is reporting to be out of water. */
1894
+ outOfWater: boolean;
1895
+ }
1896
+ /** Frame offset for multibeam recordings index cache. */
1897
+ export interface MultibeamFrameOffset {
1898
+ /** Duration from the start of the recording. */
1899
+ duration: Duration | undefined;
1900
+ /** Offset in bytes from the start of the file. */
1901
+ offset: number;
1902
+ }
1903
+ /** Multibeam recording index cache. */
1904
+ export interface MutltibeamRecordingIndex {
1905
+ /** List of frame offsets. */
1906
+ frameOffsets: MultibeamFrameOffset[];
1907
+ }
1908
+ /**
1909
+ * PersistentStorageSettings defines settings for writing various types of data in the persistent storage on the drone.
1910
+ *
1911
+ * Some of the data is written during factory calibration (acc calibration), while other data is written during user
1912
+ * calubration or during normal operation.
1913
+ */
1914
+ export interface PersistentStorageSettings {
1915
+ /** Indicates if videos should be written to the video partition. */
1916
+ videos: boolean;
1917
+ /** Indicates if images should be written to the video partition. */
1918
+ images: boolean;
1919
+ /** Indicates if binary logs with telemetry data should be written to the data partition. */
1920
+ binlog: boolean;
1921
+ /** Indicates if multibeam data should be written to the video partition. */
1922
+ multibeam: boolean;
1923
+ /** Indicates if webserver logs should be written to the data partition. */
1924
+ webserverLog: boolean;
1925
+ /** Indicates if control system logs should be written to the data partition. */
1926
+ controlSystemLog: boolean;
1927
+ /** Indicates if gyro calibration data should be written to the data partition. */
1928
+ gyroCalibration: boolean;
1929
+ /** Indicates if compass calibration data should be written to the data partition. */
1930
+ compassCalibration: boolean;
1931
+ /** Indicates if accelerometer calibration data should be written to the data partition. */
1932
+ accCalibration: boolean;
1933
+ }
1934
+ /**
1935
+ * CPU information.
1936
+ *
1937
+ * Contains information about the CPU load and memory usage of the drone.
1938
+ */
1939
+ export interface CPUInfo {
1940
+ /** CPU load (0..1). */
1941
+ cpuLoad: number;
1942
+ /** Memory bus load (0..1). */
1943
+ memoryBusLoad: number;
1944
+ /** Main queue load (0..1). */
1945
+ mainQueueLoad: number;
1946
+ /** Guestport queue load (0..1). */
1947
+ guestportQueueLoad: number;
1948
+ /** Communication queue load (0..1). */
1949
+ commQueueLoad: number;
1950
+ }
1951
+ /**
1952
+ * Surface Unit battery information.
1953
+ *
1954
+ * This message is published by the Surface Unit, and re-published by
1955
+ * the drone over the communication protocol.
1956
+ */
1957
+ export interface SurfaceUnitBatteryInfo {
1958
+ /** Battery charge status. */
1959
+ status: SurfaceUnitBatteryInfo_ChargeStatus;
1960
+ /** Battery level (0..1). */
1961
+ level: number;
1962
+ }
1963
+ export declare enum SurfaceUnitBatteryInfo_ChargeStatus {
1964
+ CHARGE_STATUS_UNSPECIFIED = 0,
1965
+ CHARGE_STATUS_DISCHARGE = 1,
1966
+ CHARGE_STATUS_CHARGE = 2,
1967
+ CHARGE_STATUS_CHARGE_ERROR = 3,
1968
+ UNRECOGNIZED = -1
1969
+ }
1970
+ export declare function surfaceUnitBatteryInfo_ChargeStatusFromJSON(object: any): SurfaceUnitBatteryInfo_ChargeStatus;
1971
+ export declare function surfaceUnitBatteryInfo_ChargeStatusToJSON(object: SurfaceUnitBatteryInfo_ChargeStatus): string;
1972
+ /**
1973
+ * Surface Unit version information.
1974
+ *
1975
+ * This message is published by the Surface Unit, and re-published by
1976
+ * the drone over the communication protocol.
1977
+ */
1978
+ export interface SurfaceUnitVersionInfo {
1979
+ /** Surface Unit firmware version (x.y.z). */
1980
+ version: string;
1981
+ }
1982
+ export declare const BinlogRecord: MessageFns<BinlogRecord>;
1983
+ export declare const LogEntry: MessageFns<LogEntry>;
1984
+ export declare const KernelLogEntry: MessageFns<KernelLogEntry>;
1985
+ export declare const KernelLogEntry_KeyValuePair: MessageFns<KernelLogEntry_KeyValuePair>;
1986
+ export declare const MotionInput: MessageFns<MotionInput>;
1987
+ export declare const Lights: MessageFns<Lights>;
1988
+ export declare const Laser: MessageFns<Laser>;
1989
+ export declare const LatLongPosition: MessageFns<LatLongPosition>;
1990
+ export declare const ConnectionDuration: MessageFns<ConnectionDuration>;
1991
+ export declare const AutoHeadingState: MessageFns<AutoHeadingState>;
1992
+ export declare const AutoDepthState: MessageFns<AutoDepthState>;
1993
+ export declare const AutoAltitudeState: MessageFns<AutoAltitudeState>;
1994
+ export declare const StationKeepingState: MessageFns<StationKeepingState>;
1995
+ export declare const WeatherVaningState: MessageFns<WeatherVaningState>;
1996
+ export declare const AutoPilotSurgeYawState: MessageFns<AutoPilotSurgeYawState>;
1997
+ export declare const AutoPilotHeaveState: MessageFns<AutoPilotHeaveState>;
1998
+ export declare const ControlMode: MessageFns<ControlMode>;
1999
+ export declare const TiltStabilizationState: MessageFns<TiltStabilizationState>;
2000
+ export declare const SystemTime: MessageFns<SystemTime>;
2001
+ export declare const GripperVelocities: MessageFns<GripperVelocities>;
2002
+ export declare const ClientInfo: MessageFns<ClientInfo>;
2003
+ export declare const ConnectedClient: MessageFns<ConnectedClient>;
2004
+ export declare const RecordState: MessageFns<RecordState>;
2005
+ export declare const TimeLapseState: MessageFns<TimeLapseState>;
2006
+ export declare const WaterDensity: MessageFns<WaterDensity>;
2007
+ export declare const PingerConfiguration: MessageFns<PingerConfiguration>;
2008
+ export declare const WaterTemperature: MessageFns<WaterTemperature>;
2009
+ export declare const CPUTemperature: MessageFns<CPUTemperature>;
2010
+ export declare const CanisterTemperature: MessageFns<CanisterTemperature>;
2011
+ export declare const CanisterHumidity: MessageFns<CanisterHumidity>;
2012
+ export declare const Battery: MessageFns<Battery>;
2013
+ export declare const BatteryBQ40Z50: MessageFns<BatteryBQ40Z50>;
2014
+ export declare const BatteryBQ40Z50_Voltage: MessageFns<BatteryBQ40Z50_Voltage>;
2015
+ export declare const BatteryBQ40Z50_Temperature: MessageFns<BatteryBQ40Z50_Temperature>;
2016
+ export declare const BatteryBQ40Z50_BatteryStatus: MessageFns<BatteryBQ40Z50_BatteryStatus>;
2017
+ export declare const BatteryBQ40Z50_BatteryLifetimes: MessageFns<BatteryBQ40Z50_BatteryLifetimes>;
2018
+ export declare const BatteryBQ40Z50_BatteryLifetimes_CellVoltages: MessageFns<BatteryBQ40Z50_BatteryLifetimes_CellVoltages>;
2019
+ export declare const BatteryBQ40Z50_BatterySafetyEvents: MessageFns<BatteryBQ40Z50_BatterySafetyEvents>;
2020
+ export declare const BatteryBQ40Z50_BatteryChargingEvents: MessageFns<BatteryBQ40Z50_BatteryChargingEvents>;
2021
+ export declare const Attitude: MessageFns<Attitude>;
2022
+ export declare const MagneticDeclination: MessageFns<MagneticDeclination>;
2023
+ export declare const Altitude: MessageFns<Altitude>;
2024
+ export declare const ForwardDistance: MessageFns<ForwardDistance>;
2025
+ export declare const PositionEstimate: MessageFns<PositionEstimate>;
2026
+ export declare const ResetPositionSettings: MessageFns<ResetPositionSettings>;
2027
+ export declare const DvlTransducer: MessageFns<DvlTransducer>;
2028
+ export declare const DvlVelocity: MessageFns<DvlVelocity>;
2029
+ export declare const Depth: MessageFns<Depth>;
2030
+ export declare const Reference: MessageFns<Reference>;
2031
+ export declare const Notification: MessageFns<Notification>;
2032
+ export declare const ControlForce: MessageFns<ControlForce>;
2033
+ export declare const ControllerHealth: MessageFns<ControllerHealth>;
2034
+ export declare const DiveTime: MessageFns<DiveTime>;
2035
+ export declare const RecordOn: MessageFns<RecordOn>;
2036
+ export declare const StorageSpace: MessageFns<StorageSpace>;
2037
+ export declare const StoragePartition: MessageFns<StoragePartition>;
2038
+ export declare const RemovableStorageDevice: MessageFns<RemovableStorageDevice>;
2039
+ export declare const RemovableStorageErrorFlags: MessageFns<RemovableStorageErrorFlags>;
2040
+ export declare const CalibrationState: MessageFns<CalibrationState>;
2041
+ export declare const IperfStatus: MessageFns<IperfStatus>;
2042
+ export declare const NStreamers: MessageFns<NStreamers>;
2043
+ export declare const TiltAngle: MessageFns<TiltAngle>;
2044
+ export declare const TiltVelocity: MessageFns<TiltVelocity>;
2045
+ export declare const DroneInfo: MessageFns<DroneInfo>;
2046
+ export declare const ErrorFlags: MessageFns<ErrorFlags>;
2047
+ export declare const CameraParameters: MessageFns<CameraParameters>;
2048
+ export declare const OverlayParameters: MessageFns<OverlayParameters>;
2049
+ export declare const NavigationSensorStatus: MessageFns<NavigationSensorStatus>;
2050
+ export declare const GuestPortDevice: MessageFns<GuestPortDevice>;
2051
+ export declare const GuestPortDeviceList: MessageFns<GuestPortDeviceList>;
2052
+ export declare const GuestPortConnectorInfo: MessageFns<GuestPortConnectorInfo>;
2053
+ export declare const GuestPortInfo: MessageFns<GuestPortInfo>;
2054
+ export declare const GuestPortRestartInfo: MessageFns<GuestPortRestartInfo>;
2055
+ export declare const ThicknessGauge: MessageFns<ThicknessGauge>;
2056
+ export declare const CpProbe: MessageFns<CpProbe>;
2057
+ export declare const GenericServo: MessageFns<GenericServo>;
2058
+ export declare const MultibeamServo: MessageFns<MultibeamServo>;
2059
+ export declare const GuestPortCurrent: MessageFns<GuestPortCurrent>;
2060
+ export declare const Vector3: MessageFns<Vector3>;
2061
+ export declare const Imu: MessageFns<Imu>;
2062
+ export declare const MedusaSpectrometerData: MessageFns<MedusaSpectrometerData>;
2063
+ export declare const MultibeamPing: MessageFns<MultibeamPing>;
2064
+ export declare const MultibeamConfig: MessageFns<MultibeamConfig>;
2065
+ export declare const MultibeamDiscovery: MessageFns<MultibeamDiscovery>;
2066
+ export declare const MultibeamErrorFlags: MessageFns<MultibeamErrorFlags>;
2067
+ export declare const MultibeamFrameOffset: MessageFns<MultibeamFrameOffset>;
2068
+ export declare const MutltibeamRecordingIndex: MessageFns<MutltibeamRecordingIndex>;
2069
+ export declare const PersistentStorageSettings: MessageFns<PersistentStorageSettings>;
2070
+ export declare const CPUInfo: MessageFns<CPUInfo>;
2071
+ export declare const SurfaceUnitBatteryInfo: MessageFns<SurfaceUnitBatteryInfo>;
2072
+ export declare const SurfaceUnitVersionInfo: MessageFns<SurfaceUnitVersionInfo>;
2073
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
2074
+ 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 {} ? {
2075
+ [K in keyof T]?: DeepPartial<T[K]>;
2076
+ } : Partial<T>;
2077
+ interface MessageFns<T> {
2078
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
2079
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
2080
+ fromJSON(object: any): T;
2081
+ toJSON(message: T): unknown;
2082
+ create(base?: DeepPartial<T>): T;
2083
+ fromPartial(object: DeepPartial<T>): T;
2084
+ }
2085
+ export {};