From 3da38e76a659ae56ba859190ae4d9f09f91ceaa2 Mon Sep 17 00:00:00 2001 From: Jonas Otto Date: Fri, 2 Feb 2024 13:29:44 +0100 Subject: [PATCH 1/3] add start_type_description_service default parameter --- src/service_wrapper.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/service_wrapper.cpp b/src/service_wrapper.cpp index acb8ecb..fa2b49b 100644 --- a/src/service_wrapper.cpp +++ b/src/service_wrapper.cpp @@ -8,6 +8,7 @@ #include "service_wrapper.hpp" #include +#include using namespace std::chrono_literals; @@ -230,9 +231,11 @@ void ServiceWrapper::nodeParametersReceived(const rclcpp::Client(future.get()->result.names); if (ignoreDefaultParameters) { - // ignore node used for querying the services + // Hide default parameters "use_sim_time", "qos_overrides./*", "start_type_description_service" + static std::regex HIDDEN_PARAMETER_REGEX = std::regex( + "^use_sim_time$|^qos_overrides\\.\\/.*$|^start_type_description_service$"); std::erase_if(valueRequest->parameterNames, [](const std::string &s) { - return (s.starts_with("qos_overrides./") || s.starts_with("use_sim_time")); + return std::regex_match(s, HIDDEN_PARAMETER_REGEX); }); } From d74b422ca32f5f73782e0db317ff3a4872196b7e Mon Sep 17 00:00:00 2001 From: Jonas Otto Date: Fri, 2 Feb 2024 13:30:58 +0100 Subject: [PATCH 2/3] add option to show default parameters --- include/service_wrapper.hpp | 2 ++ src/rig_reconfigure.cpp | 12 ++++++++++++ src/service_wrapper.cpp | 4 ++++ 3 files changed, 18 insertions(+) diff --git a/include/service_wrapper.hpp b/include/service_wrapper.hpp index 03d29b1..2d00183 100644 --- a/include/service_wrapper.hpp +++ b/include/service_wrapper.hpp @@ -53,6 +53,8 @@ class ServiceWrapper { void checkForTimeouts(); + void setIgnoreDefaultParameters(bool ignoreDefaultParameters); + private: void threadFunc(); void handleRequest(const RequestPtr &request); diff --git a/src/rig_reconfigure.cpp b/src/rig_reconfigure.cpp index ac2ede7..e722c18 100644 --- a/src/rig_reconfigure.cpp +++ b/src/rig_reconfigure.cpp @@ -143,6 +143,8 @@ int main(int argc, char *argv[]) { bool shouldResetLayout = false; bool showInfo = false; + bool ignoreDefaultParameters = true; + serviceWrapper.setIgnoreDefaultParameters(ignoreDefaultParameters); // Main loop while (!glfwWindowShouldClose(window)) { @@ -295,6 +297,16 @@ int main(int argc, char *argv[]) { ImGui::EndMenu(); } + if (ImGui::BeginMenu("Parameters")) { + bool propertyChanged = ImGui::MenuItem("Hide default parameters", nullptr, &ignoreDefaultParameters); + serviceWrapper.setIgnoreDefaultParameters(ignoreDefaultParameters); + if (propertyChanged && !curSelectedNode.empty()) { + // Reload parameters if menu item was toggled + serviceWrapper.pushRequest(std::make_shared(Request::Type::QUERY_NODE_PARAMETERS)); + } + ImGui::EndMenu(); + } + if (ImGui::BeginMenu("Info")) { ImGui::MenuItem("Show info", nullptr, &showInfo); ImGui::EndMenu(); diff --git a/src/service_wrapper.cpp b/src/service_wrapper.cpp index fa2b49b..9e74021 100644 --- a/src/service_wrapper.cpp +++ b/src/service_wrapper.cpp @@ -288,3 +288,7 @@ void ServiceWrapper::parameterModificationResponseReceived(const rclcpp::Client< responseQueue.push(response); } + +void ServiceWrapper::setIgnoreDefaultParameters(bool ignoreDefaultParameters_) { + this->ignoreDefaultParameters=ignoreDefaultParameters_; +} From 6e3674288c3e2391ffcb640a38e25112639b7fd6 Mon Sep 17 00:00:00 2001 From: Jonas Otto Date: Sat, 3 Feb 2024 09:07:18 +0100 Subject: [PATCH 3/3] formatting Co-authored-by: Dominik <45536968+authaldo@users.noreply.github.com> --- src/service_wrapper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/service_wrapper.cpp b/src/service_wrapper.cpp index 9e74021..f5eeea6 100644 --- a/src/service_wrapper.cpp +++ b/src/service_wrapper.cpp @@ -290,5 +290,5 @@ void ServiceWrapper::parameterModificationResponseReceived(const rclcpp::Client< } void ServiceWrapper::setIgnoreDefaultParameters(bool ignoreDefaultParameters_) { - this->ignoreDefaultParameters=ignoreDefaultParameters_; + this->ignoreDefaultParameters = ignoreDefaultParameters_; }