Open Usimian opened 1 year ago
In the process of debugging something else, I tried setting a parameter in the launch file and nothing happened. Looks like the parameters were being read before they were declared. I moved the declare_parameter stmts to the node before being read:
I2CPublisher() : Node("ros_qwiic_icm_20948"), _id(0) { declare_parameter<uint8_t>("i2c_address", 0x5D); declare_parameter<std::string>("frame_id", "imu"); declare_parameter<std::string>("topicImu", "/imu/data_raw"); declare_parameter<std::string>("topicMag", "/imu/mag"); declare_parameter<double>("poll", 15.0); get_parameter<uint8_t>("id", _id); get_parameter<std::string>("frame_id", _frameId); get_parameter<std::string>("topicImu", _topicImu); get_parameter<std::string>("topicMag", _topicMag); get_parameter<double>("poll", _poll); Wire.begin(); ...
In the process of debugging something else, I tried setting a parameter in the launch file and nothing happened. Looks like the parameters were being read before they were declared. I moved the declare_parameter stmts to the node before being read: