@blueyerobotics/protocol-definitions 3.2.0-c75f3166 → 3.2.0-d3c78945
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 +19 -1
- package/dist/control.js +135 -7
- package/dist/message_formats.d.ts +245 -3
- package/dist/message_formats.js +1616 -38
- package/dist/mission_planning.d.ts +54 -0
- package/dist/mission_planning.js +243 -1
- package/dist/telemetry.d.ts +40 -2
- package/dist/telemetry.js +226 -1
- package/package.json +1 -1
|
@@ -90,6 +90,8 @@ export declare enum InstructionType {
|
|
|
90
90
|
INSTRUCTION_TYPE_GO_TO_SEABED = 11,
|
|
91
91
|
/** INSTRUCTION_TYPE_GO_TO_HOME - Returning to home. */
|
|
92
92
|
INSTRUCTION_TYPE_GO_TO_HOME = 12,
|
|
93
|
+
/** INSTRUCTION_TYPE_SURVEY - Execute a survey pattern over a polygon area. */
|
|
94
|
+
INSTRUCTION_TYPE_SURVEY = 13,
|
|
93
95
|
UNRECOGNIZED = -1
|
|
94
96
|
}
|
|
95
97
|
export declare function instructionTypeFromJSON(object: any): InstructionType;
|
|
@@ -166,6 +168,8 @@ export interface Instruction {
|
|
|
166
168
|
goToSeabedCommand?: GoToSeabedCommand | undefined;
|
|
167
169
|
/** Go to home position. */
|
|
168
170
|
goToHomeCommand?: GoToHomeCommand | undefined;
|
|
171
|
+
/** Execute a survey pattern over a polygon area. */
|
|
172
|
+
surveyCommand?: SurveyCommand | undefined;
|
|
169
173
|
}
|
|
170
174
|
/** Depth set point is used to describe a depth set-point relative to the surface or the seabed. */
|
|
171
175
|
export interface DepthSetPoint {
|
|
@@ -245,6 +249,55 @@ export interface GoToHomeCommand {
|
|
|
245
249
|
/** Desired speed to home (m/s). */
|
|
246
250
|
desiredSpeed: number;
|
|
247
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* A SurveyCommand defines a survey (lawn-mower) pattern over a polygon area.
|
|
254
|
+
* The planner generates waypoints from the polygon + parameters and stores them
|
|
255
|
+
* in the waypoints field. The drone executes these pre-computed waypoints directly
|
|
256
|
+
* without re-running the survey algorithm. The polygon and parameters remain
|
|
257
|
+
* editable in the planner — regenerate waypoints when they change.
|
|
258
|
+
* Planners SHOULD validate that the polygon is simple (non-self-intersecting)
|
|
259
|
+
* before generating waypoints, as behavior is undefined for invalid polygons.
|
|
260
|
+
*/
|
|
261
|
+
export interface SurveyCommand {
|
|
262
|
+
/**
|
|
263
|
+
* Polygon vertices defining the survey area boundary (decimal degrees).
|
|
264
|
+
* The polygon is implicitly closed: the last vertex connects back to the first.
|
|
265
|
+
* Clients MUST NOT repeat the first vertex at the end of the list.
|
|
266
|
+
* Vertices should be ordered clockwise when viewed from above.
|
|
267
|
+
* The boundary must form a simple polygon (no self-intersections).
|
|
268
|
+
* At least three distinct vertices are required.
|
|
269
|
+
*/
|
|
270
|
+
vertices: LatLongPosition[];
|
|
271
|
+
/**
|
|
272
|
+
* Survey line heading relative to north in degrees (0-360).
|
|
273
|
+
* NOTE: Unlike PathSegment.course_to_target (which uses radians), this field
|
|
274
|
+
* uses degrees to match compass convention. Convert radians before assigning.
|
|
275
|
+
*/
|
|
276
|
+
surveyLineHeading: number;
|
|
277
|
+
/** Distance between parallel scan lines (m). */
|
|
278
|
+
laneSpacing: number;
|
|
279
|
+
/** Overshoot distance past polygon boundary at each turn (m). */
|
|
280
|
+
turnaroundDistance: number;
|
|
281
|
+
/** Desired speed over ground during survey (m/s). */
|
|
282
|
+
cruiseSpeed: number;
|
|
283
|
+
/** Radius of acceptance circle for generated waypoints (m). */
|
|
284
|
+
circleOfAcceptance: number;
|
|
285
|
+
/** Optional depth set point for all generated waypoints. */
|
|
286
|
+
depthSetPoint: DepthSetPoint | undefined;
|
|
287
|
+
/** If true, reverse the scan line order (swap start and end points). */
|
|
288
|
+
reverse: boolean;
|
|
289
|
+
/**
|
|
290
|
+
* Pre-computed waypoints generated by the planner from the polygon and parameters.
|
|
291
|
+
* The drone executes these directly. Individual waypoint parameters (speed, CoA,
|
|
292
|
+
* depth) can be tweaked after generation without modifying the survey shape.
|
|
293
|
+
* Regenerated automatically when polygon or survey parameters change.
|
|
294
|
+
*/
|
|
295
|
+
waypoints: Waypoint[];
|
|
296
|
+
/** Sensor swath width (m). When set with overlap_percent, overrides lane_spacing. */
|
|
297
|
+
swathWidth: number;
|
|
298
|
+
/** Desired overlap between adjacent scan lines (0-100%). Used with swath_width. */
|
|
299
|
+
overlapPercent: number;
|
|
300
|
+
}
|
|
248
301
|
/** Path segment used to describe segments of a mission as a line between to waypoints. */
|
|
249
302
|
export interface PathSegment {
|
|
250
303
|
/** Path segment id starting at 0, -1 for inactive. */
|
|
@@ -328,6 +381,7 @@ export declare const CameraCommand: MessageFns<CameraCommand>;
|
|
|
328
381
|
export declare const GoToSurfaceCommand: MessageFns<GoToSurfaceCommand>;
|
|
329
382
|
export declare const GoToSeabedCommand: MessageFns<GoToSeabedCommand>;
|
|
330
383
|
export declare const GoToHomeCommand: MessageFns<GoToHomeCommand>;
|
|
384
|
+
export declare const SurveyCommand: MessageFns<SurveyCommand>;
|
|
331
385
|
export declare const PathSegment: MessageFns<PathSegment>;
|
|
332
386
|
export declare const ReferenceAutoPilot: MessageFns<ReferenceAutoPilot>;
|
|
333
387
|
export declare const MissionStatus: MessageFns<MissionStatus>;
|
package/dist/mission_planning.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// protoc v3.21.12
|
|
6
6
|
// source: mission_planning.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.MissionStatus = exports.ReferenceAutoPilot = exports.PathSegment = exports.GoToHomeCommand = exports.GoToSeabedCommand = exports.GoToSurfaceCommand = exports.CameraCommand = exports.WaitForCommand = exports.TiltMultibeamCommand = exports.TiltMainCameraCommand = exports.DepthSetPointCommand = exports.WaypointCommand = exports.ControlModeCommand = exports.Waypoint = exports.DepthSetPoint = exports.Instruction = exports.Mission = exports.MissionState = exports.InstructionType = exports.CameraAction = exports.ControlModeHorizontal = exports.ControlModeVertical = exports.DepthZeroReference = void 0;
|
|
8
|
+
exports.MissionStatus = exports.ReferenceAutoPilot = exports.PathSegment = exports.SurveyCommand = exports.GoToHomeCommand = exports.GoToSeabedCommand = exports.GoToSurfaceCommand = exports.CameraCommand = exports.WaitForCommand = exports.TiltMultibeamCommand = exports.TiltMainCameraCommand = exports.DepthSetPointCommand = exports.WaypointCommand = exports.ControlModeCommand = exports.Waypoint = exports.DepthSetPoint = exports.Instruction = exports.Mission = exports.MissionState = exports.InstructionType = exports.CameraAction = exports.ControlModeHorizontal = exports.ControlModeVertical = exports.DepthZeroReference = void 0;
|
|
9
9
|
exports.depthZeroReferenceFromJSON = depthZeroReferenceFromJSON;
|
|
10
10
|
exports.depthZeroReferenceToJSON = depthZeroReferenceToJSON;
|
|
11
11
|
exports.controlModeVerticalFromJSON = controlModeVerticalFromJSON;
|
|
@@ -258,6 +258,8 @@ var InstructionType;
|
|
|
258
258
|
InstructionType[InstructionType["INSTRUCTION_TYPE_GO_TO_SEABED"] = 11] = "INSTRUCTION_TYPE_GO_TO_SEABED";
|
|
259
259
|
/** INSTRUCTION_TYPE_GO_TO_HOME - Returning to home. */
|
|
260
260
|
InstructionType[InstructionType["INSTRUCTION_TYPE_GO_TO_HOME"] = 12] = "INSTRUCTION_TYPE_GO_TO_HOME";
|
|
261
|
+
/** INSTRUCTION_TYPE_SURVEY - Execute a survey pattern over a polygon area. */
|
|
262
|
+
InstructionType[InstructionType["INSTRUCTION_TYPE_SURVEY"] = 13] = "INSTRUCTION_TYPE_SURVEY";
|
|
261
263
|
InstructionType[InstructionType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
262
264
|
})(InstructionType || (exports.InstructionType = InstructionType = {}));
|
|
263
265
|
function instructionTypeFromJSON(object) {
|
|
@@ -301,6 +303,9 @@ function instructionTypeFromJSON(object) {
|
|
|
301
303
|
case 12:
|
|
302
304
|
case "INSTRUCTION_TYPE_GO_TO_HOME":
|
|
303
305
|
return InstructionType.INSTRUCTION_TYPE_GO_TO_HOME;
|
|
306
|
+
case 13:
|
|
307
|
+
case "INSTRUCTION_TYPE_SURVEY":
|
|
308
|
+
return InstructionType.INSTRUCTION_TYPE_SURVEY;
|
|
304
309
|
case -1:
|
|
305
310
|
case "UNRECOGNIZED":
|
|
306
311
|
default:
|
|
@@ -335,6 +340,8 @@ function instructionTypeToJSON(object) {
|
|
|
335
340
|
return "INSTRUCTION_TYPE_GO_TO_SEABED";
|
|
336
341
|
case InstructionType.INSTRUCTION_TYPE_GO_TO_HOME:
|
|
337
342
|
return "INSTRUCTION_TYPE_GO_TO_HOME";
|
|
343
|
+
case InstructionType.INSTRUCTION_TYPE_SURVEY:
|
|
344
|
+
return "INSTRUCTION_TYPE_SURVEY";
|
|
338
345
|
case InstructionType.UNRECOGNIZED:
|
|
339
346
|
default:
|
|
340
347
|
return "UNRECOGNIZED";
|
|
@@ -627,6 +634,7 @@ function createBaseInstruction() {
|
|
|
627
634
|
goToSurfaceCommand: undefined,
|
|
628
635
|
goToSeabedCommand: undefined,
|
|
629
636
|
goToHomeCommand: undefined,
|
|
637
|
+
surveyCommand: undefined,
|
|
630
638
|
};
|
|
631
639
|
}
|
|
632
640
|
exports.Instruction = {
|
|
@@ -670,6 +678,9 @@ exports.Instruction = {
|
|
|
670
678
|
if (message.goToHomeCommand !== undefined) {
|
|
671
679
|
exports.GoToHomeCommand.encode(message.goToHomeCommand, writer.uint32(106).fork()).join();
|
|
672
680
|
}
|
|
681
|
+
if (message.surveyCommand !== undefined) {
|
|
682
|
+
exports.SurveyCommand.encode(message.surveyCommand, writer.uint32(114).fork()).join();
|
|
683
|
+
}
|
|
673
684
|
return writer;
|
|
674
685
|
},
|
|
675
686
|
decode(input, length) {
|
|
@@ -770,6 +781,13 @@ exports.Instruction = {
|
|
|
770
781
|
message.goToHomeCommand = exports.GoToHomeCommand.decode(reader, reader.uint32());
|
|
771
782
|
continue;
|
|
772
783
|
}
|
|
784
|
+
case 14: {
|
|
785
|
+
if (tag !== 114) {
|
|
786
|
+
break;
|
|
787
|
+
}
|
|
788
|
+
message.surveyCommand = exports.SurveyCommand.decode(reader, reader.uint32());
|
|
789
|
+
continue;
|
|
790
|
+
}
|
|
773
791
|
}
|
|
774
792
|
if ((tag & 7) === 4 || tag === 0) {
|
|
775
793
|
break;
|
|
@@ -805,6 +823,7 @@ exports.Instruction = {
|
|
|
805
823
|
? exports.GoToSeabedCommand.fromJSON(object.goToSeabedCommand)
|
|
806
824
|
: undefined,
|
|
807
825
|
goToHomeCommand: isSet(object.goToHomeCommand) ? exports.GoToHomeCommand.fromJSON(object.goToHomeCommand) : undefined,
|
|
826
|
+
surveyCommand: isSet(object.surveyCommand) ? exports.SurveyCommand.fromJSON(object.surveyCommand) : undefined,
|
|
808
827
|
};
|
|
809
828
|
},
|
|
810
829
|
toJSON(message) {
|
|
@@ -848,6 +867,9 @@ exports.Instruction = {
|
|
|
848
867
|
if (message.goToHomeCommand !== undefined) {
|
|
849
868
|
obj.goToHomeCommand = exports.GoToHomeCommand.toJSON(message.goToHomeCommand);
|
|
850
869
|
}
|
|
870
|
+
if (message.surveyCommand !== undefined) {
|
|
871
|
+
obj.surveyCommand = exports.SurveyCommand.toJSON(message.surveyCommand);
|
|
872
|
+
}
|
|
851
873
|
return obj;
|
|
852
874
|
},
|
|
853
875
|
create(base) {
|
|
@@ -889,6 +911,9 @@ exports.Instruction = {
|
|
|
889
911
|
message.goToHomeCommand = (object.goToHomeCommand !== undefined && object.goToHomeCommand !== null)
|
|
890
912
|
? exports.GoToHomeCommand.fromPartial(object.goToHomeCommand)
|
|
891
913
|
: undefined;
|
|
914
|
+
message.surveyCommand = (object.surveyCommand !== undefined && object.surveyCommand !== null)
|
|
915
|
+
? exports.SurveyCommand.fromPartial(object.surveyCommand)
|
|
916
|
+
: undefined;
|
|
892
917
|
return message;
|
|
893
918
|
},
|
|
894
919
|
};
|
|
@@ -1672,6 +1697,223 @@ exports.GoToHomeCommand = {
|
|
|
1672
1697
|
return message;
|
|
1673
1698
|
},
|
|
1674
1699
|
};
|
|
1700
|
+
function createBaseSurveyCommand() {
|
|
1701
|
+
return {
|
|
1702
|
+
vertices: [],
|
|
1703
|
+
surveyLineHeading: 0,
|
|
1704
|
+
laneSpacing: 0,
|
|
1705
|
+
turnaroundDistance: 0,
|
|
1706
|
+
cruiseSpeed: 0,
|
|
1707
|
+
circleOfAcceptance: 0,
|
|
1708
|
+
depthSetPoint: undefined,
|
|
1709
|
+
reverse: false,
|
|
1710
|
+
waypoints: [],
|
|
1711
|
+
swathWidth: 0,
|
|
1712
|
+
overlapPercent: 0,
|
|
1713
|
+
};
|
|
1714
|
+
}
|
|
1715
|
+
exports.SurveyCommand = {
|
|
1716
|
+
encode(message, writer = new wire_1.BinaryWriter()) {
|
|
1717
|
+
for (const v of message.vertices) {
|
|
1718
|
+
message_formats_1.LatLongPosition.encode(v, writer.uint32(10).fork()).join();
|
|
1719
|
+
}
|
|
1720
|
+
if (message.surveyLineHeading !== 0) {
|
|
1721
|
+
writer.uint32(21).float(message.surveyLineHeading);
|
|
1722
|
+
}
|
|
1723
|
+
if (message.laneSpacing !== 0) {
|
|
1724
|
+
writer.uint32(29).float(message.laneSpacing);
|
|
1725
|
+
}
|
|
1726
|
+
if (message.turnaroundDistance !== 0) {
|
|
1727
|
+
writer.uint32(37).float(message.turnaroundDistance);
|
|
1728
|
+
}
|
|
1729
|
+
if (message.cruiseSpeed !== 0) {
|
|
1730
|
+
writer.uint32(45).float(message.cruiseSpeed);
|
|
1731
|
+
}
|
|
1732
|
+
if (message.circleOfAcceptance !== 0) {
|
|
1733
|
+
writer.uint32(53).float(message.circleOfAcceptance);
|
|
1734
|
+
}
|
|
1735
|
+
if (message.depthSetPoint !== undefined) {
|
|
1736
|
+
exports.DepthSetPoint.encode(message.depthSetPoint, writer.uint32(58).fork()).join();
|
|
1737
|
+
}
|
|
1738
|
+
if (message.reverse !== false) {
|
|
1739
|
+
writer.uint32(64).bool(message.reverse);
|
|
1740
|
+
}
|
|
1741
|
+
for (const v of message.waypoints) {
|
|
1742
|
+
exports.Waypoint.encode(v, writer.uint32(74).fork()).join();
|
|
1743
|
+
}
|
|
1744
|
+
if (message.swathWidth !== 0) {
|
|
1745
|
+
writer.uint32(85).float(message.swathWidth);
|
|
1746
|
+
}
|
|
1747
|
+
if (message.overlapPercent !== 0) {
|
|
1748
|
+
writer.uint32(93).float(message.overlapPercent);
|
|
1749
|
+
}
|
|
1750
|
+
return writer;
|
|
1751
|
+
},
|
|
1752
|
+
decode(input, length) {
|
|
1753
|
+
const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
|
|
1754
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
1755
|
+
const message = createBaseSurveyCommand();
|
|
1756
|
+
while (reader.pos < end) {
|
|
1757
|
+
const tag = reader.uint32();
|
|
1758
|
+
switch (tag >>> 3) {
|
|
1759
|
+
case 1: {
|
|
1760
|
+
if (tag !== 10) {
|
|
1761
|
+
break;
|
|
1762
|
+
}
|
|
1763
|
+
message.vertices.push(message_formats_1.LatLongPosition.decode(reader, reader.uint32()));
|
|
1764
|
+
continue;
|
|
1765
|
+
}
|
|
1766
|
+
case 2: {
|
|
1767
|
+
if (tag !== 21) {
|
|
1768
|
+
break;
|
|
1769
|
+
}
|
|
1770
|
+
message.surveyLineHeading = reader.float();
|
|
1771
|
+
continue;
|
|
1772
|
+
}
|
|
1773
|
+
case 3: {
|
|
1774
|
+
if (tag !== 29) {
|
|
1775
|
+
break;
|
|
1776
|
+
}
|
|
1777
|
+
message.laneSpacing = reader.float();
|
|
1778
|
+
continue;
|
|
1779
|
+
}
|
|
1780
|
+
case 4: {
|
|
1781
|
+
if (tag !== 37) {
|
|
1782
|
+
break;
|
|
1783
|
+
}
|
|
1784
|
+
message.turnaroundDistance = reader.float();
|
|
1785
|
+
continue;
|
|
1786
|
+
}
|
|
1787
|
+
case 5: {
|
|
1788
|
+
if (tag !== 45) {
|
|
1789
|
+
break;
|
|
1790
|
+
}
|
|
1791
|
+
message.cruiseSpeed = reader.float();
|
|
1792
|
+
continue;
|
|
1793
|
+
}
|
|
1794
|
+
case 6: {
|
|
1795
|
+
if (tag !== 53) {
|
|
1796
|
+
break;
|
|
1797
|
+
}
|
|
1798
|
+
message.circleOfAcceptance = reader.float();
|
|
1799
|
+
continue;
|
|
1800
|
+
}
|
|
1801
|
+
case 7: {
|
|
1802
|
+
if (tag !== 58) {
|
|
1803
|
+
break;
|
|
1804
|
+
}
|
|
1805
|
+
message.depthSetPoint = exports.DepthSetPoint.decode(reader, reader.uint32());
|
|
1806
|
+
continue;
|
|
1807
|
+
}
|
|
1808
|
+
case 8: {
|
|
1809
|
+
if (tag !== 64) {
|
|
1810
|
+
break;
|
|
1811
|
+
}
|
|
1812
|
+
message.reverse = reader.bool();
|
|
1813
|
+
continue;
|
|
1814
|
+
}
|
|
1815
|
+
case 9: {
|
|
1816
|
+
if (tag !== 74) {
|
|
1817
|
+
break;
|
|
1818
|
+
}
|
|
1819
|
+
message.waypoints.push(exports.Waypoint.decode(reader, reader.uint32()));
|
|
1820
|
+
continue;
|
|
1821
|
+
}
|
|
1822
|
+
case 10: {
|
|
1823
|
+
if (tag !== 85) {
|
|
1824
|
+
break;
|
|
1825
|
+
}
|
|
1826
|
+
message.swathWidth = reader.float();
|
|
1827
|
+
continue;
|
|
1828
|
+
}
|
|
1829
|
+
case 11: {
|
|
1830
|
+
if (tag !== 93) {
|
|
1831
|
+
break;
|
|
1832
|
+
}
|
|
1833
|
+
message.overlapPercent = reader.float();
|
|
1834
|
+
continue;
|
|
1835
|
+
}
|
|
1836
|
+
}
|
|
1837
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
1838
|
+
break;
|
|
1839
|
+
}
|
|
1840
|
+
reader.skip(tag & 7);
|
|
1841
|
+
}
|
|
1842
|
+
return message;
|
|
1843
|
+
},
|
|
1844
|
+
fromJSON(object) {
|
|
1845
|
+
return {
|
|
1846
|
+
vertices: gt.Array.isArray(object?.vertices) ? object.vertices.map((e) => message_formats_1.LatLongPosition.fromJSON(e)) : [],
|
|
1847
|
+
surveyLineHeading: isSet(object.surveyLineHeading) ? gt.Number(object.surveyLineHeading) : 0,
|
|
1848
|
+
laneSpacing: isSet(object.laneSpacing) ? gt.Number(object.laneSpacing) : 0,
|
|
1849
|
+
turnaroundDistance: isSet(object.turnaroundDistance) ? gt.Number(object.turnaroundDistance) : 0,
|
|
1850
|
+
cruiseSpeed: isSet(object.cruiseSpeed) ? gt.Number(object.cruiseSpeed) : 0,
|
|
1851
|
+
circleOfAcceptance: isSet(object.circleOfAcceptance) ? gt.Number(object.circleOfAcceptance) : 0,
|
|
1852
|
+
depthSetPoint: isSet(object.depthSetPoint) ? exports.DepthSetPoint.fromJSON(object.depthSetPoint) : undefined,
|
|
1853
|
+
reverse: isSet(object.reverse) ? gt.Boolean(object.reverse) : false,
|
|
1854
|
+
waypoints: gt.Array.isArray(object?.waypoints) ? object.waypoints.map((e) => exports.Waypoint.fromJSON(e)) : [],
|
|
1855
|
+
swathWidth: isSet(object.swathWidth) ? gt.Number(object.swathWidth) : 0,
|
|
1856
|
+
overlapPercent: isSet(object.overlapPercent) ? gt.Number(object.overlapPercent) : 0,
|
|
1857
|
+
};
|
|
1858
|
+
},
|
|
1859
|
+
toJSON(message) {
|
|
1860
|
+
const obj = {};
|
|
1861
|
+
if (message.vertices?.length) {
|
|
1862
|
+
obj.vertices = message.vertices.map((e) => message_formats_1.LatLongPosition.toJSON(e));
|
|
1863
|
+
}
|
|
1864
|
+
if (message.surveyLineHeading !== 0) {
|
|
1865
|
+
obj.surveyLineHeading = message.surveyLineHeading;
|
|
1866
|
+
}
|
|
1867
|
+
if (message.laneSpacing !== 0) {
|
|
1868
|
+
obj.laneSpacing = message.laneSpacing;
|
|
1869
|
+
}
|
|
1870
|
+
if (message.turnaroundDistance !== 0) {
|
|
1871
|
+
obj.turnaroundDistance = message.turnaroundDistance;
|
|
1872
|
+
}
|
|
1873
|
+
if (message.cruiseSpeed !== 0) {
|
|
1874
|
+
obj.cruiseSpeed = message.cruiseSpeed;
|
|
1875
|
+
}
|
|
1876
|
+
if (message.circleOfAcceptance !== 0) {
|
|
1877
|
+
obj.circleOfAcceptance = message.circleOfAcceptance;
|
|
1878
|
+
}
|
|
1879
|
+
if (message.depthSetPoint !== undefined) {
|
|
1880
|
+
obj.depthSetPoint = exports.DepthSetPoint.toJSON(message.depthSetPoint);
|
|
1881
|
+
}
|
|
1882
|
+
if (message.reverse !== false) {
|
|
1883
|
+
obj.reverse = message.reverse;
|
|
1884
|
+
}
|
|
1885
|
+
if (message.waypoints?.length) {
|
|
1886
|
+
obj.waypoints = message.waypoints.map((e) => exports.Waypoint.toJSON(e));
|
|
1887
|
+
}
|
|
1888
|
+
if (message.swathWidth !== 0) {
|
|
1889
|
+
obj.swathWidth = message.swathWidth;
|
|
1890
|
+
}
|
|
1891
|
+
if (message.overlapPercent !== 0) {
|
|
1892
|
+
obj.overlapPercent = message.overlapPercent;
|
|
1893
|
+
}
|
|
1894
|
+
return obj;
|
|
1895
|
+
},
|
|
1896
|
+
create(base) {
|
|
1897
|
+
return exports.SurveyCommand.fromPartial(base ?? {});
|
|
1898
|
+
},
|
|
1899
|
+
fromPartial(object) {
|
|
1900
|
+
const message = createBaseSurveyCommand();
|
|
1901
|
+
message.vertices = object.vertices?.map((e) => message_formats_1.LatLongPosition.fromPartial(e)) || [];
|
|
1902
|
+
message.surveyLineHeading = object.surveyLineHeading ?? 0;
|
|
1903
|
+
message.laneSpacing = object.laneSpacing ?? 0;
|
|
1904
|
+
message.turnaroundDistance = object.turnaroundDistance ?? 0;
|
|
1905
|
+
message.cruiseSpeed = object.cruiseSpeed ?? 0;
|
|
1906
|
+
message.circleOfAcceptance = object.circleOfAcceptance ?? 0;
|
|
1907
|
+
message.depthSetPoint = (object.depthSetPoint !== undefined && object.depthSetPoint !== null)
|
|
1908
|
+
? exports.DepthSetPoint.fromPartial(object.depthSetPoint)
|
|
1909
|
+
: undefined;
|
|
1910
|
+
message.reverse = object.reverse ?? false;
|
|
1911
|
+
message.waypoints = object.waypoints?.map((e) => exports.Waypoint.fromPartial(e)) || [];
|
|
1912
|
+
message.swathWidth = object.swathWidth ?? 0;
|
|
1913
|
+
message.overlapPercent = object.overlapPercent ?? 0;
|
|
1914
|
+
return message;
|
|
1915
|
+
},
|
|
1916
|
+
};
|
|
1675
1917
|
function createBasePathSegment() {
|
|
1676
1918
|
return {
|
|
1677
1919
|
id: 0,
|
package/dist/telemetry.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
2
2
|
import { AquaTrollProbeMetadata, AquaTrollSensorMetadataArray, AquaTrollSensorParametersArray } from "./aquatroll";
|
|
3
|
-
import { Altitude, Attitude, Battery, BatteryBQ40Z50, CalibrationState, CanisterHumidity, CanisterTemperature, ConnectedClient, ControlForce, ControllerHealth, ControlMode, CpProbe, CPUInfo, CPUTemperature, Depth, DiveTime, DroneInfo, DvlVelocity, ErrorFlags, ForwardDistance, GenericServo, GuestPortCurrent, Imu, IperfStatus, KernelLogEntry, Laser, LatLongPosition, Lights, LogEntry, MagneticDeclination, MedusaSpectrometerData, MultibeamConfig, MultibeamDiscovery, MultibeamPing, MultibeamServo, Notification, NStreamers, PositionEstimate, RecordState, Reference, RemovableStorageDevice, StorageSpace, SurfaceUnitBatteryInfo, SurfaceUnitVersionInfo, SystemTime, ThicknessGauge, TiltAngle, TiltStabilizationState, TimeLapseState, WaterTemperature } from "./message_formats";
|
|
3
|
+
import { Altitude, Attitude, Battery, BatteryBQ40Z50, CalibrationState, CameraPanTiltZoom, CanisterHumidity, CanisterTemperature, ConnectedClient, ControlForce, ControllerHealth, ControlMode, CpProbe, CPUInfo, CPUTemperature, Depth, DiveTime, DroneInfo, DvlVelocity, ErrorFlags, FilterMessage, ForwardDistance, GenericServo, GuestPortCurrent, Imu, IperfStatus, KernelLogEntry, Laser, LatLongPosition, Lights, LogEntry, MagneticDeclination, MedusaSpectrometerData, MultibeamConfig, MultibeamDiscovery, MultibeamPing, MultibeamServo, Notification, NStreamers, ObjectDetections, PositionEstimate, RecordState, Reference, RemovableStorageDevice, StorageSpace, SurfaceUnitBatteryInfo, SurfaceUnitVersionInfo, SystemPerformanceInfo, SystemTime, ThicknessGauge, TiltAngle, TiltStabilizationState, TimeLapseState, WaterTemperature } from "./message_formats";
|
|
4
4
|
import { MissionStatus, ReferenceAutoPilot } from "./mission_planning";
|
|
5
5
|
/**
|
|
6
6
|
* Telemetry
|
|
@@ -300,11 +300,21 @@ export interface MultibeamDiscoveryTel {
|
|
|
300
300
|
/** Discovery data from a multibeam sonar. */
|
|
301
301
|
discovery: MultibeamDiscovery | undefined;
|
|
302
302
|
}
|
|
303
|
-
/** Information about
|
|
303
|
+
/** Information about CPU and memory usage (deprecated, use SystemPerformanceInfoTel instead). */
|
|
304
304
|
export interface CPUInfoTel {
|
|
305
305
|
/** CPU information. */
|
|
306
306
|
cpuInfo: CPUInfo | undefined;
|
|
307
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* System performance telemetry message.
|
|
310
|
+
*
|
|
311
|
+
* Comprehensive performance metrics including per-core CPU, GPU, DLA,
|
|
312
|
+
* memory, thermals, and video codec utilization.
|
|
313
|
+
*/
|
|
314
|
+
export interface SystemPerformanceInfoTel {
|
|
315
|
+
/** System performance information. */
|
|
316
|
+
systemPerformanceInfo: SystemPerformanceInfo | undefined;
|
|
317
|
+
}
|
|
308
318
|
/** Surface Unit telemetry message. */
|
|
309
319
|
export interface SurfaceUnitTel {
|
|
310
320
|
/** Battery information. */
|
|
@@ -319,6 +329,30 @@ export interface LogEntryTel {
|
|
|
319
329
|
/** Kernel log entry. */
|
|
320
330
|
kernel?: KernelLogEntry | undefined;
|
|
321
331
|
}
|
|
332
|
+
/** Object detections from a computer vision model. */
|
|
333
|
+
export interface ObjectDetectionsTel {
|
|
334
|
+
/** List of object detections from a video frame. */
|
|
335
|
+
objectDetections: ObjectDetections | undefined;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Turbidity filter settings telemetry message.
|
|
339
|
+
*
|
|
340
|
+
* Message is published when the filter settings are changed.
|
|
341
|
+
*/
|
|
342
|
+
export interface TurbidityFilterTel {
|
|
343
|
+
/** Turbidity filter settings. */
|
|
344
|
+
turbidityFilter: FilterMessage | undefined;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Digital pan, tilt, and zoom telemetry from the main camera.
|
|
348
|
+
*
|
|
349
|
+
* Reports the actual pan, tilt, and zoom state of the camera.
|
|
350
|
+
* Only supported on X3 Ultra.
|
|
351
|
+
*/
|
|
352
|
+
export interface CameraPanTiltZoomTel {
|
|
353
|
+
/** Current pan, tilt, and zoom state. */
|
|
354
|
+
cameraPanTiltZoom: CameraPanTiltZoom | undefined;
|
|
355
|
+
}
|
|
322
356
|
export declare const AttitudeTel: MessageFns<AttitudeTel>;
|
|
323
357
|
export declare const MagneticDeclinationTel: MessageFns<MagneticDeclinationTel>;
|
|
324
358
|
export declare const AltitudeTel: MessageFns<AltitudeTel>;
|
|
@@ -376,8 +410,12 @@ export declare const MultibeamPingTel: MessageFns<MultibeamPingTel>;
|
|
|
376
410
|
export declare const MultibeamConfigTel: MessageFns<MultibeamConfigTel>;
|
|
377
411
|
export declare const MultibeamDiscoveryTel: MessageFns<MultibeamDiscoveryTel>;
|
|
378
412
|
export declare const CPUInfoTel: MessageFns<CPUInfoTel>;
|
|
413
|
+
export declare const SystemPerformanceInfoTel: MessageFns<SystemPerformanceInfoTel>;
|
|
379
414
|
export declare const SurfaceUnitTel: MessageFns<SurfaceUnitTel>;
|
|
380
415
|
export declare const LogEntryTel: MessageFns<LogEntryTel>;
|
|
416
|
+
export declare const ObjectDetectionsTel: MessageFns<ObjectDetectionsTel>;
|
|
417
|
+
export declare const TurbidityFilterTel: MessageFns<TurbidityFilterTel>;
|
|
418
|
+
export declare const CameraPanTiltZoomTel: MessageFns<CameraPanTiltZoomTel>;
|
|
381
419
|
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
382
420
|
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 {} ? {
|
|
383
421
|
[K in keyof T]?: DeepPartial<T[K]>;
|