From 3b875500f02026e9ba50e7793e81f5b15c90019a Mon Sep 17 00:00:00 2001 From: Andreas Viggen Date: Fri, 22 Nov 2024 11:02:10 +0100 Subject: [PATCH 1/3] Add Dvl raw data message --- protobuf_definitions/message_formats.proto | 21 +++++++++++++++++++++ protobuf_definitions/telemetry.proto | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index ba26147a..e5f7613c 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -422,6 +422,27 @@ enum ResetCoordinateSource { RESET_COORDINATE_SOURCE_MANUAL = 2; // Uses a coordinate in decimal degrees to set the reset point } +// DVL raw transducer data. +message DvlTransducer { + int32 id = 1; // Transducer ID, 3 beams for Nucleus DVL, 4 beams for DVL A50 + float velocity = 2; // Velocity (m/s) + float distance = 3; // Distance (m) + float beam_valid = 4; // Beam validity + float rssi = 5; // Received signal strength indicator: strength of the signal received by this transducer (dBm) + float nsd = 6; // Noise spectral density: strength of the background noise received by this transducer (dBm) +} + +// DVL raw velocity data. +message DvlVelocity { + NavigationSensorID sensor_id = 1; // Sensor id + int32 status = 2; // Status of the DVL. See bit mask in maunal for Nucleus DVL + float delta_time = 3; // Time since last velocity measurement (ms) + float fom = 4; // Figure of merit, a measure of the accuracy of the velocities (m/s) + Vector3 velocity = 5; // Velocity in m/s (x forward, y left, z down) + bool is_water_tracking = 6; // Water tracking status + repeated DvlTransducer transducers = 7; // List of transducers +} + // Water depth of the drone. message Depth { float value = 1; // Drone depth below surface (m) diff --git a/protobuf_definitions/telemetry.proto b/protobuf_definitions/telemetry.proto index 9af54ddc..01619991 100644 --- a/protobuf_definitions/telemetry.proto +++ b/protobuf_definitions/telemetry.proto @@ -24,6 +24,11 @@ message ForwardDistanceTel { ForwardDistance forward_distance = 1; } +// Dvl raw sensor data. +message DvlVelocityTel { + DvlVelocity dvl_velocity = 1; // Dvl velocity data. +} + // Position estimate of the drone if a DVL or a positioning system is available. message PositionEstimateTel { PositionEstimate position_estimate = 1; From 01ef558fe42ff2012fb62efc0462c860679b7a41 Mon Sep 17 00:00:00 2001 From: Andreas Viggen Date: Mon, 25 Nov 2024 11:23:33 +0100 Subject: [PATCH 2/3] Use bool for beam_valid --- protobuf_definitions/message_formats.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index e5f7613c..157a2bd4 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -427,7 +427,7 @@ message DvlTransducer { int32 id = 1; // Transducer ID, 3 beams for Nucleus DVL, 4 beams for DVL A50 float velocity = 2; // Velocity (m/s) float distance = 3; // Distance (m) - float beam_valid = 4; // Beam validity + bool beam_valid = 4; // Beam validity float rssi = 5; // Received signal strength indicator: strength of the signal received by this transducer (dBm) float nsd = 6; // Noise spectral density: strength of the background noise received by this transducer (dBm) } From 5d3b210683d9566bf100c47a778a7be2b5cef7ec Mon Sep 17 00:00:00 2001 From: Andreas Viggen Date: Mon, 25 Nov 2024 11:25:21 +0100 Subject: [PATCH 3/3] Update comments --- protobuf_definitions/message_formats.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index 157a2bd4..0cc3716a 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -435,10 +435,10 @@ message DvlTransducer { // DVL raw velocity data. message DvlVelocity { NavigationSensorID sensor_id = 1; // Sensor id - int32 status = 2; // Status of the DVL. See bit mask in maunal for Nucleus DVL + int32 status = 2; // Vendor-specific status of the DVL float delta_time = 3; // Time since last velocity measurement (ms) float fom = 4; // Figure of merit, a measure of the accuracy of the velocities (m/s) - Vector3 velocity = 5; // Velocity in m/s (x forward, y left, z down) + Vector3 velocity = 5; // Velocity, x forward, y left, z down (m/s) bool is_water_tracking = 6; // Water tracking status repeated DvlTransducer transducers = 7; // List of transducers }