From a47b669bd652afa008baac5dc29d22535621d642 Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Fri, 31 Oct 2025 09:27:30 +0000 Subject: [PATCH 01/14] Retention management services --- CMakeLists.txt | 2 ++ srv/StartBagRetention.srv | 13 +++++++++++++ srv/StopBagRetention.srv | 9 +++++++++ 3 files changed, 24 insertions(+) create mode 100644 srv/StartBagRetention.srv create mode 100644 srv/StopBagRetention.srv diff --git a/CMakeLists.txt b/CMakeLists.txt index 47596be..dd67b8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,6 +63,8 @@ rosidl_generate_interfaces(${PROJECT_NAME} "srv/ListBagRecordings.srv" "srv/DeleteMap.srv" "srv/ListMaps.srv" + "srv/StartBagRetention.srv" + "srv/StopBagRetention.srv" "action/GenerateOfflineMap.action" DEPENDENCIES ${dependencies} ) diff --git a/srv/StartBagRetention.srv b/srv/StartBagRetention.srv new file mode 100644 index 0000000..37221a6 --- /dev/null +++ b/srv/StartBagRetention.srv @@ -0,0 +1,13 @@ +## Request + +# Session suffix (optional, recommended) +string session_suffix + +--- +## Response + +# Indicate successful run of service +bool success + +# Error messages +string error diff --git a/srv/StopBagRetention.srv b/srv/StopBagRetention.srv new file mode 100644 index 0000000..49b7aef --- /dev/null +++ b/srv/StopBagRetention.srv @@ -0,0 +1,9 @@ +## Request +--- +## Response + +# Indicate successful run of service +bool success + +# Error messages +string error From 73d39155677f47815aa388b95f61bbc382c5a560 Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Wed, 5 Nov 2025 06:14:14 +0000 Subject: [PATCH 02/14] List continuous recordings service --- CMakeLists.txt | 1 + srv/ListContinuousRecordings.srv | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 srv/ListContinuousRecordings.srv diff --git a/CMakeLists.txt b/CMakeLists.txt index dd67b8b..dc96f85 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,6 +65,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "srv/ListMaps.srv" "srv/StartBagRetention.srv" "srv/StopBagRetention.srv" + "srv/ListContinuousRecordings.srv" "action/GenerateOfflineMap.action" DEPENDENCIES ${dependencies} ) diff --git a/srv/ListContinuousRecordings.srv b/srv/ListContinuousRecordings.srv new file mode 100644 index 0000000..1fd0463 --- /dev/null +++ b/srv/ListContinuousRecordings.srv @@ -0,0 +1,15 @@ +## Request + +--- +## Response + +# Indicate successful run of service +bool success + +# Bag recordings from each category +BagRecording[] active_recordings +BagRecording[] buffer_recordings +BagRecording[] keep_sessions + +# Error messages +string error From f2542a04ef9378fe83c6c968fb5033a53149fe53 Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Thu, 6 Nov 2025 17:40:04 +0000 Subject: [PATCH 03/14] Delete recording interface --- CMakeLists.txt | 1 + srv/DeleteContinuousRecording.srv | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 srv/DeleteContinuousRecording.srv diff --git a/CMakeLists.txt b/CMakeLists.txt index dc96f85..9083c44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,6 +66,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "srv/StartBagRetention.srv" "srv/StopBagRetention.srv" "srv/ListContinuousRecordings.srv" + "srv/DeleteContinuousRecording.srv" "action/GenerateOfflineMap.action" DEPENDENCIES ${dependencies} ) diff --git a/srv/DeleteContinuousRecording.srv b/srv/DeleteContinuousRecording.srv new file mode 100644 index 0000000..08eb38b --- /dev/null +++ b/srv/DeleteContinuousRecording.srv @@ -0,0 +1,24 @@ +## Request + +# Recording Types (enum) +# +# BUFFER_FILE: Delete a recording from the buffer dir +# KEEP_SESSION: Delete a session from keep dir +uint8 BUFFER_FILE=0 +uint8 KEEP_SESSION=1 + + +# Type of request (see options above) +uint8 delete_request_type + +# File/session name +string name + +--- +## Response + +# Indicate successful run of service +bool success + +# Error messages +string error From 42117165834749a82bf45187b0bf68fefa41b98e Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Thu, 6 Nov 2025 22:07:25 +0000 Subject: [PATCH 04/14] datetime and retain recording interfaces --- CMakeLists.txt | 2 ++ msg/DateTime.msg | 9 +++++++++ srv/RetainRecording.srv | 19 +++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 msg/DateTime.msg create mode 100644 srv/RetainRecording.srv diff --git a/CMakeLists.txt b/CMakeLists.txt index 9083c44..b71dc0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,6 +46,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/HttpRequest.msg" "msg/HttpResponse.msg" "msg/MapIdNamePair.msg" + "msg/DateTime.msg" "srv/FetchRouteNode.srv" "srv/ModifyRouteNode.srv" "srv/ModifyRouteEdge.srv" @@ -67,6 +68,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "srv/StopBagRetention.srv" "srv/ListContinuousRecordings.srv" "srv/DeleteContinuousRecording.srv" + "srv/RetainRecording.srv" "action/GenerateOfflineMap.action" DEPENDENCIES ${dependencies} ) diff --git a/msg/DateTime.msg b/msg/DateTime.msg new file mode 100644 index 0000000..4e92a3e --- /dev/null +++ b/msg/DateTime.msg @@ -0,0 +1,9 @@ +# Date +uint16 year +uint8 month +uint8 day + +# Time (UTC) +uint8 hour +uint8 minute +uint8 second diff --git a/srv/RetainRecording.srv b/srv/RetainRecording.srv new file mode 100644 index 0000000..e4819af --- /dev/null +++ b/srv/RetainRecording.srv @@ -0,0 +1,19 @@ +## Request + +# Start time for retention +polymath_msgs/DateTime start_time + +# End time for retention +polymath_msgs/DateTime end_time + +# Session suffix (optional, recommended) +string session_suffix + +--- +## Response + +# Indicate successful run of service +bool success + +# Error messages +string error From 0a6031c37a70994df72f9932d32627f70578eebe Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Thu, 6 Nov 2025 23:36:27 +0000 Subject: [PATCH 05/14] Status message --- CMakeLists.txt | 1 + msg/ContinuousRecordingStatus.msg | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 msg/ContinuousRecordingStatus.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index b71dc0d..1ae0dfe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,6 +47,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/HttpResponse.msg" "msg/MapIdNamePair.msg" "msg/DateTime.msg" + "msg/ContinuousRecordingStatus.msg" "srv/FetchRouteNode.srv" "srv/ModifyRouteNode.srv" "srv/ModifyRouteEdge.srv" diff --git a/msg/ContinuousRecordingStatus.msg b/msg/ContinuousRecordingStatus.msg new file mode 100644 index 0000000..a43f0e8 --- /dev/null +++ b/msg/ContinuousRecordingStatus.msg @@ -0,0 +1,7 @@ +# Status information about continuous recording & storage management + +string recording_status +bool storage_available +uint64 bags_dir_size_bytes # Size of the bags directory in bytes +uint64 available_disk_space_bytes # Available disk space in bytes +polymath_msgs/DateTime last_sweep # Time of the last storage sweep From 28f0770b6d3ca25d070d713a23c54553619fca3b Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Thu, 20 Nov 2025 08:54:47 +0000 Subject: [PATCH 06/14] Storage status --- CMakeLists.txt | 1 + msg/StorageStatus.msg | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 msg/StorageStatus.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index b71dc0d..29dfe03 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,6 +47,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/HttpResponse.msg" "msg/MapIdNamePair.msg" "msg/DateTime.msg" + "msg/StorageStatus.msg" "srv/FetchRouteNode.srv" "srv/ModifyRouteNode.srv" "srv/ModifyRouteEdge.srv" diff --git a/msg/StorageStatus.msg b/msg/StorageStatus.msg new file mode 100644 index 0000000..798a343 --- /dev/null +++ b/msg/StorageStatus.msg @@ -0,0 +1,4 @@ +bool is_storage_available +uint64 bags_dir_size_bytes +uint64 available_disk_space_bytes +builtin_interfaces/Time last_sweep_time From a0934b0fa128f41049e1a5ee6b936a1a16fd617a Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Thu, 20 Nov 2025 10:09:30 +0000 Subject: [PATCH 07/14] Removed stop retention srv --- CMakeLists.txt | 1 - srv/StopBagRetention.srv | 9 --------- 2 files changed, 10 deletions(-) delete mode 100644 srv/StopBagRetention.srv diff --git a/CMakeLists.txt b/CMakeLists.txt index 29dfe03..c8988ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,6 @@ rosidl_generate_interfaces(${PROJECT_NAME} "srv/DeleteMap.srv" "srv/ListMaps.srv" "srv/StartBagRetention.srv" - "srv/StopBagRetention.srv" "srv/ListContinuousRecordings.srv" "srv/DeleteContinuousRecording.srv" "srv/RetainRecording.srv" diff --git a/srv/StopBagRetention.srv b/srv/StopBagRetention.srv deleted file mode 100644 index 49b7aef..0000000 --- a/srv/StopBagRetention.srv +++ /dev/null @@ -1,9 +0,0 @@ -## Request ---- -## Response - -# Indicate successful run of service -bool success - -# Error messages -string error From ca6d9caca1e0e6a2d23a0cdb51b9f2b57ea1e28b Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Thu, 20 Nov 2025 11:07:16 +0000 Subject: [PATCH 08/14] Changed to builtin time --- srv/RetainRecording.srv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srv/RetainRecording.srv b/srv/RetainRecording.srv index e4819af..521cceb 100644 --- a/srv/RetainRecording.srv +++ b/srv/RetainRecording.srv @@ -1,10 +1,10 @@ ## Request # Start time for retention -polymath_msgs/DateTime start_time +builtin_interfaces/Time start_time # End time for retention -polymath_msgs/DateTime end_time +builtin_interfaces/Time end_time # Session suffix (optional, recommended) string session_suffix From 2588b23e27702c403c4b58495d5f6d5fd7dbe38f Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Thu, 20 Nov 2025 18:38:32 +0000 Subject: [PATCH 09/14] Removed custom date time --- CMakeLists.txt | 1 - msg/DateTime.msg | 9 --------- 2 files changed, 10 deletions(-) delete mode 100644 msg/DateTime.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index c8988ad..2414e72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,6 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/HttpRequest.msg" "msg/HttpResponse.msg" "msg/MapIdNamePair.msg" - "msg/DateTime.msg" "msg/StorageStatus.msg" "srv/FetchRouteNode.srv" "srv/ModifyRouteNode.srv" diff --git a/msg/DateTime.msg b/msg/DateTime.msg deleted file mode 100644 index 4e92a3e..0000000 --- a/msg/DateTime.msg +++ /dev/null @@ -1,9 +0,0 @@ -# Date -uint16 year -uint8 month -uint8 day - -# Time (UTC) -uint8 hour -uint8 minute -uint8 second From 9a657ec11679388caaa7b07577a8880cb1a57dc5 Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Tue, 2 Dec 2025 05:52:19 +0000 Subject: [PATCH 10/14] status to summary --- CMakeLists.txt | 2 +- msg/{StorageStatus.msg => StorageSummary.msg} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename msg/{StorageStatus.msg => StorageSummary.msg} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2414e72..5e0e565 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/HttpRequest.msg" "msg/HttpResponse.msg" "msg/MapIdNamePair.msg" - "msg/StorageStatus.msg" + "msg/StorageSummary.msg" "srv/FetchRouteNode.srv" "srv/ModifyRouteNode.srv" "srv/ModifyRouteEdge.srv" diff --git a/msg/StorageStatus.msg b/msg/StorageSummary.msg similarity index 100% rename from msg/StorageStatus.msg rename to msg/StorageSummary.msg From 1f8c0f19f4f91bb9e46782d97090a84b81c4c804 Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Tue, 2 Dec 2025 23:16:11 +0000 Subject: [PATCH 11/14] Renamed storage services --- CMakeLists.txt | 8 +++---- srv/DeleteContinuousRecording.srv | 24 ------------------- srv/ListContinuousRecordings.srv | 15 ------------ srv/StorageRemoveSession.srv | 13 ++++++++++ ...inRecording.srv => StorageSaveSession.srv} | 0 ...gRetention.srv => StorageStartSession.srv} | 0 srv/StorageStopSession.srv | 10 ++++++++ 7 files changed, 27 insertions(+), 43 deletions(-) delete mode 100644 srv/DeleteContinuousRecording.srv delete mode 100644 srv/ListContinuousRecordings.srv create mode 100644 srv/StorageRemoveSession.srv rename srv/{RetainRecording.srv => StorageSaveSession.srv} (100%) rename srv/{StartBagRetention.srv => StorageStartSession.srv} (100%) create mode 100644 srv/StorageStopSession.srv diff --git a/CMakeLists.txt b/CMakeLists.txt index b321868..4773c5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,10 +67,10 @@ rosidl_generate_interfaces(${PROJECT_NAME} "srv/ListBagRecordings.srv" "srv/DeleteMap.srv" "srv/ListMaps.srv" - "srv/StartBagRetention.srv" - "srv/ListContinuousRecordings.srv" - "srv/DeleteContinuousRecording.srv" - "srv/RetainRecording.srv" + "srv/StorageStartSession.srv" + "srv/StorageStopSession.srv" + "srv/StorageRemoveSession.srv" + "srv/StorageSaveSession.srv" "action/GenerateOfflineMap.action" DEPENDENCIES ${dependencies} ) diff --git a/srv/DeleteContinuousRecording.srv b/srv/DeleteContinuousRecording.srv deleted file mode 100644 index 08eb38b..0000000 --- a/srv/DeleteContinuousRecording.srv +++ /dev/null @@ -1,24 +0,0 @@ -## Request - -# Recording Types (enum) -# -# BUFFER_FILE: Delete a recording from the buffer dir -# KEEP_SESSION: Delete a session from keep dir -uint8 BUFFER_FILE=0 -uint8 KEEP_SESSION=1 - - -# Type of request (see options above) -uint8 delete_request_type - -# File/session name -string name - ---- -## Response - -# Indicate successful run of service -bool success - -# Error messages -string error diff --git a/srv/ListContinuousRecordings.srv b/srv/ListContinuousRecordings.srv deleted file mode 100644 index 1fd0463..0000000 --- a/srv/ListContinuousRecordings.srv +++ /dev/null @@ -1,15 +0,0 @@ -## Request - ---- -## Response - -# Indicate successful run of service -bool success - -# Bag recordings from each category -BagRecording[] active_recordings -BagRecording[] buffer_recordings -BagRecording[] keep_sessions - -# Error messages -string error diff --git a/srv/StorageRemoveSession.srv b/srv/StorageRemoveSession.srv new file mode 100644 index 0000000..0b83151 --- /dev/null +++ b/srv/StorageRemoveSession.srv @@ -0,0 +1,13 @@ +## Request + +# File/session name +string name + +--- +## Response + +# Indicate successful run of service +bool success + +# Error messages +string error diff --git a/srv/RetainRecording.srv b/srv/StorageSaveSession.srv similarity index 100% rename from srv/RetainRecording.srv rename to srv/StorageSaveSession.srv diff --git a/srv/StartBagRetention.srv b/srv/StorageStartSession.srv similarity index 100% rename from srv/StartBagRetention.srv rename to srv/StorageStartSession.srv diff --git a/srv/StorageStopSession.srv b/srv/StorageStopSession.srv new file mode 100644 index 0000000..ee55984 --- /dev/null +++ b/srv/StorageStopSession.srv @@ -0,0 +1,10 @@ +## Request + +--- +## Response + +# Indicate successful run of service +bool success + +# Error messages +string error From e166cc2c551ac698d6e5e78f36479482c84de5a7 Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Wed, 3 Dec 2025 22:38:10 +0000 Subject: [PATCH 12/14] docstrings summary --- msg/StorageSummary.msg | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/msg/StorageSummary.msg b/msg/StorageSummary.msg index 798a343..f507fac 100644 --- a/msg/StorageSummary.msg +++ b/msg/StorageSummary.msg @@ -1,4 +1,11 @@ +# Based on storage configuration, is storage available for recording? bool is_storage_available + +# Size of bags directory in bytes uint64 bags_dir_size_bytes + +# Available disk space in bytes uint64 available_disk_space_bytes -builtin_interfaces/Time last_sweep_time + +# When was the summary updated last +builtin_interfaces/Time last_updated From ecab7f3786d05ebe2f9dd63aeab07b09dc885248 Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Tue, 9 Dec 2025 16:33:27 +0000 Subject: [PATCH 13/14] cmake fix --- CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d591472..4773c5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,13 +48,8 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/HttpRequest.msg" "msg/HttpResponse.msg" "msg/MapIdNamePair.msg" -<<<<<<< HEAD - "msg/DateTime.msg" - "msg/ContinuousRecordingStatus.msg" -======= "msg/GeoBoundary.msg" "msg/StorageSummary.msg" ->>>>>>> e166cc2c551ac698d6e5e78f36479482c84de5a7 "srv/FetchRouteNode.srv" "srv/ModifyRouteNode.srv" "srv/ModifyRouteEdge.srv" From 6d5cf31b2f5d4c941b29970189f2c6beddd6688d Mon Sep 17 00:00:00 2001 From: Dhruv Tyagi Date: Tue, 9 Dec 2025 17:35:17 +0000 Subject: [PATCH 14/14] Removed status --- msg/ContinuousRecordingStatus.msg | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 msg/ContinuousRecordingStatus.msg diff --git a/msg/ContinuousRecordingStatus.msg b/msg/ContinuousRecordingStatus.msg deleted file mode 100644 index a43f0e8..0000000 --- a/msg/ContinuousRecordingStatus.msg +++ /dev/null @@ -1,7 +0,0 @@ -# Status information about continuous recording & storage management - -string recording_status -bool storage_available -uint64 bags_dir_size_bytes # Size of the bags directory in bytes -uint64 available_disk_space_bytes # Available disk space in bytes -polymath_msgs/DateTime last_sweep # Time of the last storage sweep