From 2014c5763fe4ae8fc6e66a0a8eb2fba88e8ae075 Mon Sep 17 00:00:00 2001 From: nibanovic Date: Fri, 17 Jul 2026 14:30:51 +0200 Subject: [PATCH 1/3] add missing controller async parameter declarations --- controller_interface/src/controller_interface_base.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/controller_interface/src/controller_interface_base.cpp b/controller_interface/src/controller_interface_base.cpp index 43ee52ee32..722cbb61d5 100644 --- a/controller_interface/src/controller_interface_base.cpp +++ b/controller_interface/src/controller_interface_base.cpp @@ -100,6 +100,13 @@ return_type ControllerInterfaceBase::init( auto_declare("update_rate", static_cast(params.controller_manager_update_rate)); auto_declare("is_async", false); auto_declare("thread_priority", -100); + + auto_declare("async_parameters.thread_priority", 50); + auto_declare("async_parameters.scheduling_policy", "synchronized"); + auto_declare>("async_parameters.cpu_affinity", std::vector()); + auto_declare("async_parameters.execution_rate", impl_->ctrl_itf_params_.update_rate); + auto_declare("async_parameters.wait_until_initial_trigger", true); + auto_declare("async_parameters.print_warnings", true); } catch (const std::exception & e) { From f10bd925ebaab16e53970a054337a6b4c24310ad Mon Sep 17 00:00:00 2001 From: nibanovic Date: Mon, 27 Jul 2026 10:54:22 +0200 Subject: [PATCH 2/3] declare async parameters via AsyncFunctionHandlerParams --- controller_interface/src/controller_interface_base.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/controller_interface/src/controller_interface_base.cpp b/controller_interface/src/controller_interface_base.cpp index 722cbb61d5..efb0034574 100644 --- a/controller_interface/src/controller_interface_base.cpp +++ b/controller_interface/src/controller_interface_base.cpp @@ -101,12 +101,8 @@ return_type ControllerInterfaceBase::init( auto_declare("is_async", false); auto_declare("thread_priority", -100); - auto_declare("async_parameters.thread_priority", 50); - auto_declare("async_parameters.scheduling_policy", "synchronized"); - auto_declare>("async_parameters.cpu_affinity", std::vector()); - auto_declare("async_parameters.execution_rate", impl_->ctrl_itf_params_.update_rate); - auto_declare("async_parameters.wait_until_initial_trigger", true); - auto_declare("async_parameters.print_warnings", true); + realtime_tools::AsyncFunctionHandlerParams::declare( + impl_->node_, "async_parameters.", impl_->ctrl_itf_params_.update_rate); } catch (const std::exception & e) { From b59bb71c6499efc2176530204a7d5e53ae39aa1b Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Wed, 29 Jul 2026 19:50:05 +0200 Subject: [PATCH 3/3] Remove legacy parametrer --- controller_interface/src/controller_interface_base.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/controller_interface/src/controller_interface_base.cpp b/controller_interface/src/controller_interface_base.cpp index efb0034574..8a427444c4 100644 --- a/controller_interface/src/controller_interface_base.cpp +++ b/controller_interface/src/controller_interface_base.cpp @@ -99,7 +99,6 @@ return_type ControllerInterfaceBase::init( // no rclcpp::ParameterValue unsigned int specialization auto_declare("update_rate", static_cast(params.controller_manager_update_rate)); auto_declare("is_async", false); - auto_declare("thread_priority", -100); realtime_tools::AsyncFunctionHandlerParams::declare( impl_->node_, "async_parameters.", impl_->ctrl_itf_params_.update_rate);