diff --git a/README.md b/README.md index ee99a27473..a77621972e 100644 --- a/README.md +++ b/README.md @@ -505,7 +505,7 @@ The following post processing filters are available: - `depth_module.hdr_enabled`: to enable/disable HDR - The way to set exposure and gain values for each sequence in runtime is by first selecting the sequence id, using the `depth_module.sequence_id` parameter and then modifying the `depth_module.gain`, and `depth_module.exposure`. - From FW versions 5.14.x.x and above, if HDR is enabled, the preset configs (like exposure, gain, etc.,) cannot be updated. - - The user should disable the HDR first using `depth_module.hdr_enabled` parameter and then, update the required presets. + - Disable the HDR first using `depth_module.hdr_enabled` parameter and then, update the required presets. - To view the effect on the infrared image for each sequence id use the `filter_by_sequence_id.sequence_id` parameter. - To initialize these parameters in start time use the following parameters: - `depth_module.exposure.1` diff --git a/realsense2_camera/src/dynamic_params.cpp b/realsense2_camera/src/dynamic_params.cpp index acce9038ca..e51dfb1818 100644 --- a/realsense2_camera/src/dynamic_params.cpp +++ b/realsense2_camera/src/dynamic_params.cpp @@ -25,6 +25,8 @@ namespace realsense2_camera _params_backend.add_on_set_parameters_callback( [this](const std::vector & parameters) { + rcl_interfaces::msg::SetParametersResult result; + result.successful = true; for (const auto & parameter : parameters) { try @@ -43,15 +45,15 @@ namespace realsense2_camera } } } - catch(const std::out_of_range& e) - {} catch(const std::exception& e) { - std::cerr << e.what() << ":" << parameter.get_name() << '\n'; + result.successful = false; + result.reason = e.what(); + ROS_WARN_STREAM("Set parameter {" << parameter.get_name() + << "} failed: " << e.what()); } } - rcl_interfaces::msg::SetParametersResult result; - result.successful = true; + return result; }); monitor_update_functions(); // Start parameters update thread diff --git a/realsense2_camera/src/sensor_params.cpp b/realsense2_camera/src/sensor_params.cpp index ff0cf151e9..c347a1d979 100644 --- a/realsense2_camera/src/sensor_params.cpp +++ b/realsense2_camera/src/sensor_params.cpp @@ -70,14 +70,7 @@ std::map get_enum_method(rs2::options sensor, rs2_option optio template void param_set_option(rs2::options sensor, rs2_option option, const rclcpp::Parameter& parameter) { - try - { - sensor.set_option(option, parameter.get_value()); - } - catch(const std::exception& e) - { - std::cout << "Failed to set value: " << e.what() << std::endl; - } + sensor.set_option(option, parameter.get_value()); } void SensorParams::clearParameters()