# set_parameters_callback *This file is ai generated. Do not edit this file directly. Instead, edit the node source code and run the generate-node-docs command to update this file.* ## Description A ROS2 node that demonstrates the complete parameter callback chain: pre-set, on-set (validation), and post-set callbacks. This shows best practices for parameter handling, including validation and triggering side effects when parameters change. When `param1` is set, the node automatically also sets `param2` as a side effect. ## Parameters - `param1` (double, default: 0.0): Primary parameter that triggers param2 update - `param2` (double, default: 0.0): Secondary parameter automatically set when param1 changes ## Example Usage ```bash # Run the node ros2 run demo_nodes_py set_parameters_callback ``` To test parameter callbacks: ```bash # Terminal 1: Run the node ros2 run demo_nodes_py set_parameters_callback # Terminal 2: Set param1 (this will also trigger param2 to be set to 4.0) ros2 param set /set_parameters_callback param1 1.0 # Terminal 3: Get parameters ros2 param get /set_parameters_callback param1 ros2 param get /set_parameters_callback param2 ``` Or use the service interface directly: ```bash ros2 service call /set_parameters_callback/set_parameters rcl_interfaces/srv/SetParameters \ "{parameters: [{name: 'param1', value: {type: 3, double_value: 1.0}}]}" ``` The node demonstrates: - **Pre-set callback**: Modifies parameter list before setting (adds param2 when param1 is set) - **On-set callback**: Validates parameters before accepting changes - **Post-set callback**: Updates internal state after successful parameter changes