ROS2 add_on_set_parameters_callback not triggered for launch parameter
I've defined a callback for parameter value change:
MyNode::MyNode() : Node("myNode")
{
// subscriber, publisher, ....
// Define callback to update parameter
parameter_set_callback = this->add_on_set_parameters_callback(std::bind(&MyNode::update_parameter_callback, this, _1));
}
The function update_parameter_callback
itself sets the changed parameter values in my application.
rcl_interfaces::msg::SetParametersResult MyNode::update_parameter_callback(const std::vector<rclcpp::Parameter> ¶meters)
{
rcl_interfaces::msg::SetParametersResult res;
// Update parameter
res = UpdateParameter_MyCode(parameters);
return res;
}
This works well when setting parameter during runtime via ros2 param set
When I set a default value in launch file, this callback is not triggered:
<node pkg = "my_pkg" name = "MyNode" exec = "MyNode" >
<param name="bar" value="201.0"/>
</node>
Is there any chance to re-use existing callback for parameter that are set within launch?