Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
jazzy

Package Summary

Tags No category tags.
Version 6.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version rolling
Last Updated 2025-06-04
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

6.2.0 (2024-10-15)

  • Use fully qualified node name in parameter events (#402)

6.1.0 (2023-06-15)

  • Add empty set_atomically parameter service (#354)

3.0.9 (2023-03-22)

  • Added documentation (#301)
  • Fix parameter change event (#310) (#311)

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
kilted

Package Summary

Tags No category tags.
Version 6.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version rolling
Last Updated 2025-06-04
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

6.2.0 (2024-10-15)

  • Use fully qualified node name in parameter events (#402)

6.1.0 (2023-06-15)

  • Add empty set_atomically parameter service (#354)

3.0.9 (2023-03-22)

  • Added documentation (#301)
  • Fix parameter change event (#310) (#311)

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 6.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version rolling
Last Updated 2025-06-04
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

6.2.0 (2024-10-15)

  • Use fully qualified node name in parameter events (#402)

6.1.0 (2023-06-15)

  • Add empty set_atomically parameter service (#354)

3.0.9 (2023-03-22)

  • Added documentation (#301)
  • Fix parameter change event (#310) (#311)

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
eloquent

Package Summary

Tags No category tags.
Version 6.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version master
Last Updated 2023-06-23
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

6.0.0 (2023-06-15)

  • Add empty set_atomically parameter service (#354)

3.0.9 (2023-03-22)

  • Added documentation (#301)
  • Fix parameter change event (#310) (#311)

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
galactic

Package Summary

Tags No category tags.
Version 2.0.6
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version galactic
Last Updated 2023-01-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros
README
No README found. See repository README.
CHANGELOG

Changelog for package rclc_parameter

2.0.6 (2022-01-25)

  • no change

2.0.5 (2021-11-08)

  • Fix parameter init

2.0.4 (2021-08-19)

  • Added Quality Declaration Statement

2.0.3 (2021-07-26)

  • Added test dependencies for rclc_parameter

2.0.2 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 1.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version foxy
Last Updated 2023-06-12
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros
README
No README found. See repository README.
CHANGELOG

Changelog for package rclc_parameter

1.1.2 (2023-03-31)

  • Fix parameter tests timeout (backport #283) (#284)
  • rclc_parameter: Fix rcl return values (backport #270) (#276)
  • added documentation (#301) (#304)

1.1.1 (2022-03-16)

  • Backport parameters (#263)

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
iron

Package Summary

Tags No category tags.
Version 5.0.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version iron
Last Updated 2023-12-14
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

5.0.1 (2023-06-15)

  • Add empty set_atomically parameter service (#354)

3.0.9 (2023-03-22)

  • Added documentation (#301)
  • Fix parameter change event (#310) (#311)

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rclc_parameter package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Parameter server implementation for micro-ROS nodes

Additional Links

No additional links.

Maintainers

  • Antonio Cuadros

Authors

  • Antonio Cuadros

The rclc parameter package

ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here

This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet). Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c.

Table of contents

Initialization

  • Default initialization:
    // Parameter server object
    rclc_parameter_server_t param_server;
    // Initialize parameter server with default configuration
    rcl_ret_t rc = rclc_parameter_server_init_default(&param_server, &node);

    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Custom options:

    The following options can be configured:

    • notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
    • max_params: Maximum number of parameters allowed on the rclc_parameter_server_t object.
    • allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a set operation is requested on a non-existing parameter.
    • low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
    // Parameter server object
    rclc_parameter_server_t param_server;

    // Initialize parameter server options
    const rclc_parameter_options_t options = {
        .notify_changed_over_dds = true,
        .max_params = 4,
        .allow_undeclared_parameters = true,
        .low_mem_mode = false; };

    // Initialize parameter server with configured options
    rcl_ret_t rc = rclc_parameter_server_init_with_option(&param_server, &node, &options);
    if (RCL_RET_OK != rc) {
      ... // Handle error
      return -1;
    }
    
  • Low memory mode:

    This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:

    • Request size limited to one parameter on Set, Get, Get types and Describe services.
    • List parameter request has no prefixes enabled nor depth.
    • Parameter description strings not allowed, rclc_add_parameter_description is disabled.

    Memory benchmark results on STM32F4 for 7 parameters with RCLC_PARAMETER_MAX_STRING_LENGTH = 50 and notify_changed_over_dds = true:

    • Full mode: 11736 B
    • Low memory mode: 4160 B

Memory requirements

The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds package memory configuration:

# colcon.meta example with memory requirements to use a parameter server
{
    "names": {
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=1",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
                "-DRMW_UXRCE_MAX_SERVICES=5",
                "-DRMW_UXRCE_MAX_CLIENTS=0"
            ]
        }
    }
}

At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES defines the necessary number of handles required by a parameter server for the rclc Executor:

// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
    &executor, &support.context,
    RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_parameter

4.0.2 (2023-03-22)

  • Fix parameter change event (#310)

4.0.1 (2022-07-20)

  • improved doxygen-generated API documentation (#301) (#302)

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Parameters fini memory (#253)
  • Fix RCLC int parameter get (cherry-pick) (#272)
  • rclc_parameter: Fix rcl return values (#270)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • Add rclc_parameter Quality Declaration (#144)
  • Check all dynamic allocations in parameter server init (#169)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Add test dependencies for rclc_parameter

3.0.1 (2021-07-17)

  • Removed shared from rclc_parameter
  • Ensure clean message when set_parameter
  • Added QoS entity creation API
  • Updated CMakeLists.txt
  • Major vesion bump was neccessary because API change in rcl_lifecycle package

0.1.0 (2021-05-27)

  • Initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_parameter at Robotics Stack Exchange