[ROS2] hangs forever when getting parameter for node defined in another node [closed]
I have this script
#include "rclcpp/rclcpp.hpp"
using namespace std::chrono_literals;
class MinimalTimer : public rclcpp::Node
{
public:
MinimalTimer()
: Node("MinimalTimer")
{
node_ = std::make_shared<rclcpp::Node>("test_node");
node_->declare_parameter("parameter_A");
auto timer_callback = [this]() -> void {
RCLCPP_INFO(this->get_logger(), "Callback!");
};
timer_ = this->create_wall_timer(500ms, timer_callback);
this->declare_parameter("parameter_B");
}
private:
rclcpp::TimerBase::SharedPtr timer_;
std::shared_ptr<rclcpp::Node> node_;
};
int main(int argc, char * argv[])
{
rclcpp::init(argc, argv);
auto minimal_timer = std::make_shared<MinimalTimer>();
rclcpp::spin(minimal_timer);
rclcpp::shutdown();
return 0;
}
and I ran ros2 run ...
.
ros2 node list
gives
/MinimalTimer
/test_node
ros2 param list MinimalTimer
gives
parameter_B
use_sim_time
but ros param list test_node
hangs forever.
Any idea?