@blueyerobotics/protocol-definitions 3.2.0-d3c78945 → 3.2.0-db84868b

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.
package/dist/control.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
2
  import { SetAquaTrollConnectionStatus, SetAquaTrollParameterUnit } from "./aquatroll";
3
- import { AutoAltitudeState, AutoDepthState, AutoHeadingState, AutoPilotHeaveState, AutoPilotSurgeYawState, CameraPanTiltZoom, ConnectionDuration, FilterMessage, GenericServo, GripperVelocities, GuestPortRestartInfo, Laser, LatLongPosition, Lights, MotionInput, MultibeamConfig, MultibeamServo, OperatorInfo, PingerConfiguration, RecordOn, ResetPositionSettings, StationKeepingState, StorageLocation, SystemTime, TiltStabilizationState, TiltVelocity, WaterDensity, WeatherVaningState } from "./message_formats";
3
+ import { AutoAltitudeState, AutoDepthState, AutoHeadingState, AutoPilotHeaveState, AutoPilotSurgeYawState, BoundingBox, CameraPanTiltZoom, ConnectionDuration, FilterMessage, GenericServo, GripperVelocities, GuestPortRestartInfo, Laser, LatLongPosition, Lights, MotionInput, MultibeamConfig, MultibeamServo, OperatorInfo, PingerConfiguration, RecordOn, ResetPositionSettings, StationKeepingState, StorageLocation, SystemTime, TiltStabilizationState, TiltVelocity, WaterDensity, WeatherVaningState } from "./message_formats";
4
4
  /**
5
5
  * Control
6
6
  *
@@ -235,6 +235,29 @@ export interface CameraPanTiltZoomCtrl {
235
235
  /** The desired pan, tilt, and zoom state. */
236
236
  cameraPanTiltZoom: CameraPanTiltZoom | undefined;
237
237
  }
238
+ /** Message sent to start streaming log entries to the client. */
239
+ export interface StartLogStreamingCtrl {
240
+ }
241
+ /** Message sent to stop streaming log entries to the client. */
242
+ export interface StopLogStreamingCtrl {
243
+ }
244
+ /**
245
+ * Issue a command to set the single-object tracking (SOT) target.
246
+ *
247
+ * Send a bounding box to start tracking a new target. The CV pipeline will
248
+ * initialize the SOT tracker on the specified region of the video frame.
249
+ */
250
+ export interface SetSotTargetCtrl {
251
+ /** Target bounding box. */
252
+ boundingBox: BoundingBox | undefined;
253
+ /** Width of the frame the bounding box was drawn on. */
254
+ imageWidth: number;
255
+ /** Height of the frame the bounding box was drawn on. */
256
+ imageHeight: number;
257
+ }
258
+ /** Issue a command to clear the single-object tracking (SOT) target (stop tracking). */
259
+ export interface ClearSotTargetCtrl {
260
+ }
238
261
  export declare const MotionInputCtrl: MessageFns<MotionInputCtrl>;
239
262
  export declare const TiltVelocityCtrl: MessageFns<TiltVelocityCtrl>;
240
263
  export declare const LightsCtrl: MessageFns<LightsCtrl>;
@@ -280,6 +303,10 @@ export declare const EndDiveCtrl: MessageFns<EndDiveCtrl>;
280
303
  export declare const FormatRemovableStorageDeviceCtrl: MessageFns<FormatRemovableStorageDeviceCtrl>;
281
304
  export declare const SetTurbidityFilterCtrl: MessageFns<SetTurbidityFilterCtrl>;
282
305
  export declare const CameraPanTiltZoomCtrl: MessageFns<CameraPanTiltZoomCtrl>;
306
+ export declare const StartLogStreamingCtrl: MessageFns<StartLogStreamingCtrl>;
307
+ export declare const StopLogStreamingCtrl: MessageFns<StopLogStreamingCtrl>;
308
+ export declare const SetSotTargetCtrl: MessageFns<SetSotTargetCtrl>;
309
+ export declare const ClearSotTargetCtrl: MessageFns<ClearSotTargetCtrl>;
283
310
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
284
311
  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 {} ? {
285
312
  [K in keyof T]?: DeepPartial<T[K]>;
package/dist/control.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // protoc v3.21.12
6
6
  // source: control.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.CameraPanTiltZoomCtrl = exports.SetTurbidityFilterCtrl = exports.FormatRemovableStorageDeviceCtrl = exports.EndDiveCtrl = exports.StartDiveCtrl = exports.DeactivateMultibeamCtrl = exports.ActivateMultibeamCtrl = exports.SetMultibeamConfigCtrl = exports.SetAquaTrollConnectionStatusCtrl = exports.SetAquaTrollParameterUnitCtrl = exports.RestartGuestPortsCtrl = exports.ActivateGuestPortsCtrl = exports.DeactivateGuestPortsCtrl = exports.MultibeamServoCtrl = exports.GenericServoCtrl = exports.GripperCtrl = exports.SystemTimeCtrl = exports.PingerConfigurationCtrl = exports.WaterDensityCtrl = exports.TiltStabilizationCtrl = exports.CalibrateDvlGyroCtrl = exports.ResetOdometerCtrl = exports.ResetPositionCtrl = exports.ClearMissionCtrl = exports.PauseMissionCtrl = exports.RunMissionCtrl = exports.AutoPilotHeaveCtrl = exports.AutoPilotSurgeYawCtrl = exports.WeatherVaningCtrl = exports.StationKeepingCtrl = exports.AutoAltitudeCtrl = exports.AutoDepthCtrl = exports.AutoHeadingCtrl = exports.FinishCalibrationCtrl = exports.CancelCalibrationCtrl = exports.StartCalibrationCtrl = exports.TakePictureCtrl = exports.RecordCtrl = exports.WatchdogCtrl = exports.PilotGPSPositionCtrl = exports.LaserCtrl = exports.GuestportLightsCtrl = exports.LightsCtrl = exports.TiltVelocityCtrl = exports.MotionInputCtrl = void 0;
8
+ exports.ClearSotTargetCtrl = exports.SetSotTargetCtrl = exports.StopLogStreamingCtrl = exports.StartLogStreamingCtrl = exports.CameraPanTiltZoomCtrl = exports.SetTurbidityFilterCtrl = exports.FormatRemovableStorageDeviceCtrl = exports.EndDiveCtrl = exports.StartDiveCtrl = exports.DeactivateMultibeamCtrl = exports.ActivateMultibeamCtrl = exports.SetMultibeamConfigCtrl = exports.SetAquaTrollConnectionStatusCtrl = exports.SetAquaTrollParameterUnitCtrl = exports.RestartGuestPortsCtrl = exports.ActivateGuestPortsCtrl = exports.DeactivateGuestPortsCtrl = exports.MultibeamServoCtrl = exports.GenericServoCtrl = exports.GripperCtrl = exports.SystemTimeCtrl = exports.PingerConfigurationCtrl = exports.WaterDensityCtrl = exports.TiltStabilizationCtrl = exports.CalibrateDvlGyroCtrl = exports.ResetOdometerCtrl = exports.ResetPositionCtrl = exports.ClearMissionCtrl = exports.PauseMissionCtrl = exports.RunMissionCtrl = exports.AutoPilotHeaveCtrl = exports.AutoPilotSurgeYawCtrl = exports.WeatherVaningCtrl = exports.StationKeepingCtrl = exports.AutoAltitudeCtrl = exports.AutoDepthCtrl = exports.AutoHeadingCtrl = exports.FinishCalibrationCtrl = exports.CancelCalibrationCtrl = exports.StartCalibrationCtrl = exports.TakePictureCtrl = exports.RecordCtrl = exports.WatchdogCtrl = exports.PilotGPSPositionCtrl = exports.LaserCtrl = exports.GuestportLightsCtrl = exports.LightsCtrl = exports.TiltVelocityCtrl = exports.MotionInputCtrl = void 0;
9
9
  /* eslint-disable */
10
10
  const wire_1 = require("@bufbuild/protobuf/wire");
11
11
  const aquatroll_1 = require("./aquatroll");
@@ -2237,6 +2237,202 @@ exports.CameraPanTiltZoomCtrl = {
2237
2237
  return message;
2238
2238
  },
2239
2239
  };
2240
+ function createBaseStartLogStreamingCtrl() {
2241
+ return {};
2242
+ }
2243
+ exports.StartLogStreamingCtrl = {
2244
+ encode(_, writer = new wire_1.BinaryWriter()) {
2245
+ return writer;
2246
+ },
2247
+ decode(input, length) {
2248
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2249
+ const end = length === undefined ? reader.len : reader.pos + length;
2250
+ const message = createBaseStartLogStreamingCtrl();
2251
+ while (reader.pos < end) {
2252
+ const tag = reader.uint32();
2253
+ switch (tag >>> 3) {
2254
+ }
2255
+ if ((tag & 7) === 4 || tag === 0) {
2256
+ break;
2257
+ }
2258
+ reader.skip(tag & 7);
2259
+ }
2260
+ return message;
2261
+ },
2262
+ fromJSON(_) {
2263
+ return {};
2264
+ },
2265
+ toJSON(_) {
2266
+ const obj = {};
2267
+ return obj;
2268
+ },
2269
+ create(base) {
2270
+ return exports.StartLogStreamingCtrl.fromPartial(base ?? {});
2271
+ },
2272
+ fromPartial(_) {
2273
+ const message = createBaseStartLogStreamingCtrl();
2274
+ return message;
2275
+ },
2276
+ };
2277
+ function createBaseStopLogStreamingCtrl() {
2278
+ return {};
2279
+ }
2280
+ exports.StopLogStreamingCtrl = {
2281
+ encode(_, writer = new wire_1.BinaryWriter()) {
2282
+ return writer;
2283
+ },
2284
+ decode(input, length) {
2285
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2286
+ const end = length === undefined ? reader.len : reader.pos + length;
2287
+ const message = createBaseStopLogStreamingCtrl();
2288
+ while (reader.pos < end) {
2289
+ const tag = reader.uint32();
2290
+ switch (tag >>> 3) {
2291
+ }
2292
+ if ((tag & 7) === 4 || tag === 0) {
2293
+ break;
2294
+ }
2295
+ reader.skip(tag & 7);
2296
+ }
2297
+ return message;
2298
+ },
2299
+ fromJSON(_) {
2300
+ return {};
2301
+ },
2302
+ toJSON(_) {
2303
+ const obj = {};
2304
+ return obj;
2305
+ },
2306
+ create(base) {
2307
+ return exports.StopLogStreamingCtrl.fromPartial(base ?? {});
2308
+ },
2309
+ fromPartial(_) {
2310
+ const message = createBaseStopLogStreamingCtrl();
2311
+ return message;
2312
+ },
2313
+ };
2314
+ function createBaseSetSotTargetCtrl() {
2315
+ return { boundingBox: undefined, imageWidth: 0, imageHeight: 0 };
2316
+ }
2317
+ exports.SetSotTargetCtrl = {
2318
+ encode(message, writer = new wire_1.BinaryWriter()) {
2319
+ if (message.boundingBox !== undefined) {
2320
+ message_formats_1.BoundingBox.encode(message.boundingBox, writer.uint32(10).fork()).join();
2321
+ }
2322
+ if (message.imageWidth !== 0) {
2323
+ writer.uint32(16).uint32(message.imageWidth);
2324
+ }
2325
+ if (message.imageHeight !== 0) {
2326
+ writer.uint32(24).uint32(message.imageHeight);
2327
+ }
2328
+ return writer;
2329
+ },
2330
+ decode(input, length) {
2331
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2332
+ const end = length === undefined ? reader.len : reader.pos + length;
2333
+ const message = createBaseSetSotTargetCtrl();
2334
+ while (reader.pos < end) {
2335
+ const tag = reader.uint32();
2336
+ switch (tag >>> 3) {
2337
+ case 1: {
2338
+ if (tag !== 10) {
2339
+ break;
2340
+ }
2341
+ message.boundingBox = message_formats_1.BoundingBox.decode(reader, reader.uint32());
2342
+ continue;
2343
+ }
2344
+ case 2: {
2345
+ if (tag !== 16) {
2346
+ break;
2347
+ }
2348
+ message.imageWidth = reader.uint32();
2349
+ continue;
2350
+ }
2351
+ case 3: {
2352
+ if (tag !== 24) {
2353
+ break;
2354
+ }
2355
+ message.imageHeight = reader.uint32();
2356
+ continue;
2357
+ }
2358
+ }
2359
+ if ((tag & 7) === 4 || tag === 0) {
2360
+ break;
2361
+ }
2362
+ reader.skip(tag & 7);
2363
+ }
2364
+ return message;
2365
+ },
2366
+ fromJSON(object) {
2367
+ return {
2368
+ boundingBox: isSet(object.boundingBox) ? message_formats_1.BoundingBox.fromJSON(object.boundingBox) : undefined,
2369
+ imageWidth: isSet(object.imageWidth) ? gt.Number(object.imageWidth) : 0,
2370
+ imageHeight: isSet(object.imageHeight) ? gt.Number(object.imageHeight) : 0,
2371
+ };
2372
+ },
2373
+ toJSON(message) {
2374
+ const obj = {};
2375
+ if (message.boundingBox !== undefined) {
2376
+ obj.boundingBox = message_formats_1.BoundingBox.toJSON(message.boundingBox);
2377
+ }
2378
+ if (message.imageWidth !== 0) {
2379
+ obj.imageWidth = Math.round(message.imageWidth);
2380
+ }
2381
+ if (message.imageHeight !== 0) {
2382
+ obj.imageHeight = Math.round(message.imageHeight);
2383
+ }
2384
+ return obj;
2385
+ },
2386
+ create(base) {
2387
+ return exports.SetSotTargetCtrl.fromPartial(base ?? {});
2388
+ },
2389
+ fromPartial(object) {
2390
+ const message = createBaseSetSotTargetCtrl();
2391
+ message.boundingBox = (object.boundingBox !== undefined && object.boundingBox !== null)
2392
+ ? message_formats_1.BoundingBox.fromPartial(object.boundingBox)
2393
+ : undefined;
2394
+ message.imageWidth = object.imageWidth ?? 0;
2395
+ message.imageHeight = object.imageHeight ?? 0;
2396
+ return message;
2397
+ },
2398
+ };
2399
+ function createBaseClearSotTargetCtrl() {
2400
+ return {};
2401
+ }
2402
+ exports.ClearSotTargetCtrl = {
2403
+ encode(_, writer = new wire_1.BinaryWriter()) {
2404
+ return writer;
2405
+ },
2406
+ decode(input, length) {
2407
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2408
+ const end = length === undefined ? reader.len : reader.pos + length;
2409
+ const message = createBaseClearSotTargetCtrl();
2410
+ while (reader.pos < end) {
2411
+ const tag = reader.uint32();
2412
+ switch (tag >>> 3) {
2413
+ }
2414
+ if ((tag & 7) === 4 || tag === 0) {
2415
+ break;
2416
+ }
2417
+ reader.skip(tag & 7);
2418
+ }
2419
+ return message;
2420
+ },
2421
+ fromJSON(_) {
2422
+ return {};
2423
+ },
2424
+ toJSON(_) {
2425
+ const obj = {};
2426
+ return obj;
2427
+ },
2428
+ create(base) {
2429
+ return exports.ClearSotTargetCtrl.fromPartial(base ?? {});
2430
+ },
2431
+ fromPartial(_) {
2432
+ const message = createBaseClearSotTargetCtrl();
2433
+ return message;
2434
+ },
2435
+ };
2240
2436
  const gt = (() => {
2241
2437
  if (typeof globalThis !== "undefined") {
2242
2438
  return globalThis;
@@ -136,6 +136,8 @@ export declare enum NotificationType {
136
136
  NOTIFICATION_TYPE_DVL_HIGH_TEMPERATURE_DETECTED = 31,
137
137
  /** NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED - DVL thermal protection mode detected. */
138
138
  NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED = 32,
139
+ /** NOTIFICATION_TYPE_VIDEO_PARTITION_NOT_MOUNTED - Video partition not mounted. */
140
+ NOTIFICATION_TYPE_VIDEO_PARTITION_NOT_MOUNTED = 33,
139
141
  UNRECOGNIZED = -1
140
142
  }
141
143
  export declare function notificationTypeFromJSON(object: any): NotificationType;
@@ -346,6 +348,8 @@ export declare enum FontSize {
346
348
  FONT_SIZE_PX35 = 5,
347
349
  /** FONT_SIZE_PX40 - 40 px. */
348
350
  FONT_SIZE_PX40 = 6,
351
+ /** FONT_SIZE_PX50 - 50 px. */
352
+ FONT_SIZE_PX50 = 7,
349
353
  UNRECOGNIZED = -1
350
354
  }
351
355
  export declare function fontSizeFromJSON(object: any): FontSize;
@@ -448,6 +452,8 @@ export declare enum GuestPortDeviceID {
448
452
  GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 = 46,
449
453
  /** GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT - Cerulean Omniscan 450 Compact. */
450
454
  GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT = 47,
455
+ /** GUEST_PORT_DEVICE_ID_BLUEYE_SCALING_LASER - Blueye Scaling Laser. */
456
+ GUEST_PORT_DEVICE_ID_BLUEYE_SCALING_LASER = 48,
451
457
  UNRECOGNIZED = -1
452
458
  }
453
459
  export declare function guestPortDeviceIDFromJSON(object: any): GuestPortDeviceID;
@@ -541,6 +547,22 @@ export declare enum ThermalZoneId {
541
547
  THERMAL_ZONE_ID_TJ = 1,
542
548
  /** THERMAL_ZONE_ID_CANISTER - Canister temperature. */
543
549
  THERMAL_ZONE_ID_CANISTER = 2,
550
+ /** THERMAL_ZONE_ID_CPU - CPU thermal zone. */
551
+ THERMAL_ZONE_ID_CPU = 3,
552
+ /** THERMAL_ZONE_ID_GPU - GPU thermal zone. */
553
+ THERMAL_ZONE_ID_GPU = 4,
554
+ /** THERMAL_ZONE_ID_CV0 - Vision accelerator 0 thermal zone. */
555
+ THERMAL_ZONE_ID_CV0 = 5,
556
+ /** THERMAL_ZONE_ID_CV1 - Vision accelerator 1 thermal zone. */
557
+ THERMAL_ZONE_ID_CV1 = 6,
558
+ /** THERMAL_ZONE_ID_CV2 - Vision accelerator 2 thermal zone. */
559
+ THERMAL_ZONE_ID_CV2 = 7,
560
+ /** THERMAL_ZONE_ID_SOC0 - SoC 0 thermal zone. */
561
+ THERMAL_ZONE_ID_SOC0 = 8,
562
+ /** THERMAL_ZONE_ID_SOC1 - SoC 1 thermal zone. */
563
+ THERMAL_ZONE_ID_SOC1 = 9,
564
+ /** THERMAL_ZONE_ID_SOC2 - SoC 2 thermal zone. */
565
+ THERMAL_ZONE_ID_SOC2 = 10,
544
566
  UNRECOGNIZED = -1
545
567
  }
546
568
  export declare function thermalZoneIdFromJSON(object: any): ThermalZoneId;
@@ -678,6 +700,46 @@ export interface Lights {
678
700
  export interface Laser {
679
701
  /** Laser intensity, any value above 0 turns the laser on (0..1). */
680
702
  value: number;
703
+ /** Modulate the laser at 5Hz for tracking. Only available on Ultra. */
704
+ modulated: boolean;
705
+ }
706
+ /** Point in 2D space. */
707
+ export interface Point2D {
708
+ /** X coordinate of the point (px). */
709
+ x: number;
710
+ /** Y coordinate of the point (px). */
711
+ y: number;
712
+ }
713
+ /**
714
+ * Message representing the detection of scaling lasers in the main camera.
715
+ *
716
+ * The message contains the centroids of the detected dots, the distance between them in pixels,
717
+ * and the confidence of the detection. The dots are detected through temporal DFT analysis of
718
+ * 5 Hz laser modulation, isolating flickering pixels from the static scene background.
719
+ *
720
+ * Only available on Ultra.
721
+ */
722
+ export interface LaserDetection {
723
+ /** True if the laser is detected by the drone. */
724
+ detected: boolean;
725
+ /** First dot centroid (leftmost). */
726
+ dot1: Point2D | undefined;
727
+ /** Second dot centroid (rightmost). */
728
+ dot2: Point2D | undefined;
729
+ /** Distance between dots in pixels. */
730
+ pixelDistance: number;
731
+ /** Confidence of the detection (0..1). */
732
+ confidence: number;
733
+ /** Source frame width. */
734
+ imageWidth: number;
735
+ /** Source frame height. */
736
+ imageHeight: number;
737
+ /** Real world distance between the two laser dots (m). */
738
+ laserWidth: number;
739
+ /** Distance after lens undistortion (px). */
740
+ correctedPixelDistance: number;
741
+ /** Estimated subject distance (m). */
742
+ estimatedDistance: number;
681
743
  }
682
744
  /** Latitude and longitude position in WGS 84 decimal degrees format. */
683
745
  export interface LatLongPosition {
@@ -1437,6 +1499,31 @@ export interface TiltVelocity {
1437
1499
  /**
1438
1500
  * Information about the drone.
1439
1501
  *
1502
+ * Information about a loaded computer vision model.
1503
+ */
1504
+ export interface CvModelInfo {
1505
+ /** Human-readable model name (from model_meta.json). */
1506
+ name: string;
1507
+ /** Type of CV model. */
1508
+ type: CvModelInfo_ModelType;
1509
+ /** Whether the model is currently running. */
1510
+ running: boolean;
1511
+ /** Execution provider (e.g. "cuda", "tensorrt"). */
1512
+ device: string;
1513
+ /** Package directory name (e.g. "tinyyolov2_package"). Stable identifier. */
1514
+ packageId: string;
1515
+ /** Class names the model can detect (indexed by class_id). */
1516
+ labels: string[];
1517
+ }
1518
+ export declare enum CvModelInfo_ModelType {
1519
+ MODEL_TYPE_UNSPECIFIED = 0,
1520
+ MODEL_TYPE_DETECTION = 1,
1521
+ MODEL_TYPE_SOT = 2,
1522
+ UNRECOGNIZED = -1
1523
+ }
1524
+ export declare function cvModelInfo_ModelTypeFromJSON(object: any): CvModelInfo_ModelType;
1525
+ export declare function cvModelInfo_ModelTypeToJSON(object: CvModelInfo_ModelType): string;
1526
+ /**
1440
1527
  * This message contains serial numbers and version information for
1441
1528
  * internal components in the drone. Primarily used for diagnostics, or to
1442
1529
  * determine the origin of a logfile.
@@ -1464,6 +1551,8 @@ export interface DroneInfo {
1464
1551
  gp: GuestPortInfo | undefined;
1465
1552
  /** Type of depth sensor that is connected to the drone. */
1466
1553
  depthSensor: PressureSensorType;
1554
+ /** List of loaded computer vision models. */
1555
+ cvModels: CvModelInfo[];
1467
1556
  }
1468
1557
  /** Known error states for the drone. */
1469
1558
  export interface ErrorFlags {
@@ -2079,6 +2168,14 @@ export interface VideoCodecInfo {
2079
2168
  vpuCodecIrqCount: number;
2080
2169
  /** Cumulative VPU_JPG_IRQ count. */
2081
2170
  vpuJpgIrqCount: number;
2171
+ /** Jetson only (host1x actmon engine utilization, 0..1). */
2172
+ encoderLoad: number;
2173
+ /** Video decoder (NVDEC) utilization (0..1). */
2174
+ decoderLoad: number;
2175
+ /** JPEG engine (NVJPG) utilization (0..1). */
2176
+ nvjpgLoad: number;
2177
+ /** Video Image Compositor (VIC) utilization (0..1). */
2178
+ vicLoad: number;
2082
2179
  }
2083
2180
  /**
2084
2181
  * System performance information.
@@ -2162,6 +2259,22 @@ export interface BoundingBox {
2162
2259
  /** Height of the bounding box (px). */
2163
2260
  height: number;
2164
2261
  }
2262
+ /**
2263
+ * RLE-encoded binary segmentation mask relative to the bounding box.
2264
+ *
2265
+ * The mask bitmap has dimensions (mask_width x mask_height) covering the
2266
+ * detection's bounding box area. The counts field stores run-length encoded
2267
+ * data as packed uint16 little-endian: alternating background/foreground
2268
+ * pixel runs starting with background.
2269
+ */
2270
+ export interface SegmentationMask {
2271
+ /** Width of the RLE bitmap. */
2272
+ maskWidth: number;
2273
+ /** Height of the RLE bitmap. */
2274
+ maskHeight: number;
2275
+ /** RLE counts as packed uint16 little-endian. */
2276
+ counts: Uint8Array;
2277
+ }
2165
2278
  /** A single object detection from a computer vision model. */
2166
2279
  export interface ObjectDetection {
2167
2280
  /** Bounding box of the detected object. */
@@ -2174,13 +2287,21 @@ export interface ObjectDetection {
2174
2287
  className: string;
2175
2288
  /** Unique ID for tracking the same object across frames. */
2176
2289
  trackingId: number;
2290
+ /** Instance segmentation mask (absent if model has no segmentation). */
2291
+ mask: SegmentationMask | undefined;
2177
2292
  }
2178
- /** A list of object detections from a single video frame. */
2179
- export interface ObjectDetections {
2293
+ /** A list of object detections from a single model for a single video frame. */
2294
+ export interface ModelDetections {
2180
2295
  /** List of detections in the frame. */
2181
2296
  detections: ObjectDetection[];
2182
2297
  /** Which camera the detections are from. */
2183
2298
  camera: Camera;
2299
+ /** Width of the source image (px). */
2300
+ imageWidth: number;
2301
+ /** Height of the source image (px). */
2302
+ imageHeight: number;
2303
+ /** Name of the computer vision model that produced the detections. */
2304
+ modelName: string;
2184
2305
  }
2185
2306
  /** Generic filter settings. */
2186
2307
  export interface FilterMessage {
@@ -2214,6 +2335,31 @@ export interface OperatorInfo {
2214
2335
  /** E-mail address of the operator. */
2215
2336
  email: string;
2216
2337
  }
2338
+ /** Single-object tracking (SOT) state reported by the computer vision pipeline. */
2339
+ export interface SotState {
2340
+ /** Current tracking state. */
2341
+ state: SotState_State;
2342
+ /** Current tracked bounding box (valid when TRACKING). */
2343
+ boundingBox: BoundingBox | undefined;
2344
+ /** Width of the source frame in pixels. */
2345
+ imageWidth: number;
2346
+ /** Height of the source frame in pixels. */
2347
+ imageHeight: number;
2348
+ }
2349
+ /** Current state of the SOT tracker. */
2350
+ export declare enum SotState_State {
2351
+ /** STATE_UNSPECIFIED - Unspecified state. */
2352
+ STATE_UNSPECIFIED = 0,
2353
+ /** STATE_IDLE - No target selected, waiting for a target bounding box. */
2354
+ STATE_IDLE = 1,
2355
+ /** STATE_TRACKING - Actively tracking a target. */
2356
+ STATE_TRACKING = 2,
2357
+ /** STATE_LOST - Target was lost (tracker failed to follow the object). */
2358
+ STATE_LOST = 3,
2359
+ UNRECOGNIZED = -1
2360
+ }
2361
+ export declare function sotState_StateFromJSON(object: any): SotState_State;
2362
+ export declare function sotState_StateToJSON(object: SotState_State): string;
2217
2363
  export declare const BinlogRecord: MessageFns<BinlogRecord>;
2218
2364
  export declare const LogEntry: MessageFns<LogEntry>;
2219
2365
  export declare const KernelLogEntry: MessageFns<KernelLogEntry>;
@@ -2221,6 +2367,8 @@ export declare const KernelLogEntry_KeyValuePair: MessageFns<KernelLogEntry_KeyV
2221
2367
  export declare const MotionInput: MessageFns<MotionInput>;
2222
2368
  export declare const Lights: MessageFns<Lights>;
2223
2369
  export declare const Laser: MessageFns<Laser>;
2370
+ export declare const Point2D: MessageFns<Point2D>;
2371
+ export declare const LaserDetection: MessageFns<LaserDetection>;
2224
2372
  export declare const LatLongPosition: MessageFns<LatLongPosition>;
2225
2373
  export declare const ConnectionDuration: MessageFns<ConnectionDuration>;
2226
2374
  export declare const AutoHeadingState: MessageFns<AutoHeadingState>;
@@ -2277,6 +2425,7 @@ export declare const IperfStatus: MessageFns<IperfStatus>;
2277
2425
  export declare const NStreamers: MessageFns<NStreamers>;
2278
2426
  export declare const TiltAngle: MessageFns<TiltAngle>;
2279
2427
  export declare const TiltVelocity: MessageFns<TiltVelocity>;
2428
+ export declare const CvModelInfo: MessageFns<CvModelInfo>;
2280
2429
  export declare const DroneInfo: MessageFns<DroneInfo>;
2281
2430
  export declare const ErrorFlags: MessageFns<ErrorFlags>;
2282
2431
  export declare const CameraParameters: MessageFns<CameraParameters>;
@@ -2313,11 +2462,13 @@ export declare const SystemPerformanceInfo: MessageFns<SystemPerformanceInfo>;
2313
2462
  export declare const SurfaceUnitBatteryInfo: MessageFns<SurfaceUnitBatteryInfo>;
2314
2463
  export declare const SurfaceUnitVersionInfo: MessageFns<SurfaceUnitVersionInfo>;
2315
2464
  export declare const BoundingBox: MessageFns<BoundingBox>;
2465
+ export declare const SegmentationMask: MessageFns<SegmentationMask>;
2316
2466
  export declare const ObjectDetection: MessageFns<ObjectDetection>;
2317
- export declare const ObjectDetections: MessageFns<ObjectDetections>;
2467
+ export declare const ModelDetections: MessageFns<ModelDetections>;
2318
2468
  export declare const FilterMessage: MessageFns<FilterMessage>;
2319
2469
  export declare const CameraPanTiltZoom: MessageFns<CameraPanTiltZoom>;
2320
2470
  export declare const OperatorInfo: MessageFns<OperatorInfo>;
2471
+ export declare const SotState: MessageFns<SotState>;
2321
2472
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
2322
2473
  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 {} ? {
2323
2474
  [K in keyof T]?: DeepPartial<T[K]>;