From 17575d67ba03a6b9abd8ce000bd6f38f670198f6 Mon Sep 17 00:00:00 2001 From: Juan Pablo Pino Bravo Date: Wed, 28 Aug 2024 14:31:11 +0200 Subject: [PATCH 1/7] Add frame generation timestamp --- protobuf_definitions/message_formats.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index 45168018..db6e8b57 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -972,6 +972,8 @@ message MultibeamPing { bytes ping_data = 10; // Ping data (row major, 2D, grayscale image) GuestPortDeviceID device_id = 11; // Device ID of the sonar + + google.protobuf.Timestamp frame_generation_timestamp = 12; // Timestamp when the frame was generated } From 8523ffb49fc25b83d45852ce7a8d272e54accda7 Mon Sep 17 00:00:00 2001 From: Juan Pablo Pino Bravo Date: Thu, 5 Sep 2024 10:15:06 +0200 Subject: [PATCH 2/7] Add MutltibeamRecordingIndexx to cache multibeam frame positions --- protobuf_definitions/message_formats.proto | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index db6e8b57..9ffa45a2 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -5,6 +5,7 @@ syntax = "proto3"; package blueye.protocol; import "google/protobuf/any.proto"; +import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; option csharp_namespace = "Blueye.Protocol.Protobuf"; @@ -1022,6 +1023,15 @@ message MultibeamDiscovery { GuestPortDeviceID device_id = 7; // Device ID of the sonar } +message MultibeamFrameOffset { + google.protobuf.Duration duration = 1; // Duration from the start of the recording + uint32 offset = 2; // Offset in bytes from the start of the file +} + +message MutltibeamRecordingIndex { + repeated MultibeamFrameOffset frame_offsets = 1; // List of frame offsets +} + // PersistentStorageSettings defines settings for writing various types of data in the persistent storage on the drone // // Some of the data is written during factory calibration (acc calibration), while other data is written during user From 1e9ef68fc69d37e98284758cdcf605944f072046 Mon Sep 17 00:00:00 2001 From: Juan Pablo Pino Bravo Date: Thu, 5 Sep 2024 10:15:54 +0200 Subject: [PATCH 3/7] Remove empty line --- protobuf_definitions/message_formats.proto | 1 - 1 file changed, 1 deletion(-) diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index 9ffa45a2..d4f6bece 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -973,7 +973,6 @@ message MultibeamPing { bytes ping_data = 10; // Ping data (row major, 2D, grayscale image) GuestPortDeviceID device_id = 11; // Device ID of the sonar - google.protobuf.Timestamp frame_generation_timestamp = 12; // Timestamp when the frame was generated } From d8ee4d3083e7b89d4c14eabf265f76239950db5f Mon Sep 17 00:00:00 2001 From: Juan Pablo Pino Bravo Date: Thu, 5 Sep 2024 11:09:34 +0200 Subject: [PATCH 4/7] Add type comments to new Multibeam caching messages --- protobuf_definitions/message_formats.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index d4f6bece..db30a07c 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -1022,11 +1022,13 @@ message MultibeamDiscovery { GuestPortDeviceID device_id = 7; // Device ID of the sonar } +// Frame offset for multibeam recordings index cache message MultibeamFrameOffset { google.protobuf.Duration duration = 1; // Duration from the start of the recording uint32 offset = 2; // Offset in bytes from the start of the file } +// Multibeam recording index cache message MutltibeamRecordingIndex { repeated MultibeamFrameOffset frame_offsets = 1; // List of frame offsets } From 0f74aa67179ed5a7620033de15f362860b3c697e Mon Sep 17 00:00:00 2001 From: Juan Pablo Pino Bravo Date: Thu, 5 Sep 2024 11:18:21 +0200 Subject: [PATCH 5/7] Make offset in MultibeamFrameOffset uint64 to match type size in code --- 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 db30a07c..53b6e23c 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -1025,7 +1025,7 @@ message MultibeamDiscovery { // Frame offset for multibeam recordings index cache message MultibeamFrameOffset { google.protobuf.Duration duration = 1; // Duration from the start of the recording - uint32 offset = 2; // Offset in bytes from the start of the file + uint64 offset = 2; // Offset in bytes from the start of the file } // Multibeam recording index cache From 8635bfb633ff058d2cacacd6c2e106db0485f6dc Mon Sep 17 00:00:00 2001 From: Juan Pablo Pino Bravo Date: Thu, 5 Sep 2024 13:27:30 +0200 Subject: [PATCH 6/7] Make offset in MultibeamFrameOffset int64 to match type size in code --- 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 53b6e23c..d144f5a7 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -1025,7 +1025,7 @@ message MultibeamDiscovery { // Frame offset for multibeam recordings index cache message MultibeamFrameOffset { google.protobuf.Duration duration = 1; // Duration from the start of the recording - uint64 offset = 2; // Offset in bytes from the start of the file + int64 offset = 2; // Offset in bytes from the start of the file } // Multibeam recording index cache From 020e8e8b1826437e7e4ddec93c1e122d177c94b1 Mon Sep 17 00:00:00 2001 From: Juan Pablo Pino Bravo Date: Thu, 5 Sep 2024 14:14:52 +0200 Subject: [PATCH 7/7] Make frame_generation_timestamp backwards compatible --- 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 d144f5a7..2296ccf5 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -973,7 +973,7 @@ message MultibeamPing { bytes ping_data = 10; // Ping data (row major, 2D, grayscale image) GuestPortDeviceID device_id = 11; // Device ID of the sonar - google.protobuf.Timestamp frame_generation_timestamp = 12; // Timestamp when the frame was generated + optional google.protobuf.Timestamp frame_generation_timestamp = 12; // Timestamp when the frame was generated }