Rclex.ParameterServer (Rclex (Experimental) v0.12.0)

Copy Markdown View Source

Provides parameter service functionality for ROS 2 nodes.

This module implements the standard ROS 2 parameter services:

  • ~/get_parameters
  • ~/set_parameters
  • ~/set_parameters_atomically
  • ~/list_parameters
  • ~/describe_parameters
  • ~/get_parameter_types

Summary

Functions

Add an on-set callback for parameter updates.

Add a post-set callback for parameter updates.

Add a pre-set callback for parameter updates.

Returns a specification to start this module under a supervisor.

Get parameter descriptors for the given parameter names.

Get the value of a parameter.

Get parameter types for the given parameter names.

Callback implementation for GenServer.init/1.

List all declared parameters.

Functions

add_on_set_parameters_callback(name, namespace, callback)

Add an on-set callback for parameter updates.

The callback receives a list of {name, parameter_value} tuples and may approve or reject the update.

add_post_set_parameters_callback(name, namespace, callback)

Add a post-set callback for parameter updates.

The callback is invoked with (parameter_name, new_value, old_value).

add_pre_set_parameters_callback(name, namespace, callback)

Add a pre-set callback for parameter updates.

The callback receives a list of {name, parameter_value} tuples and may return a modified list.

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

declare_parameter(name, namespace, parameter_name, opts \\ [])

Declare a parameter on the node.

Parameters must be declared before they can be set or retrieved.

describe_parameters(name, namespace, parameter_names \\ [])

Get parameter descriptors for the given parameter names.

If no names are provided, returns descriptors for all parameters.

get_parameter(name, namespace, parameter_name)

Get the value of a parameter.

Returns {:ok, value} if the parameter exists, {:error, reason} otherwise.

get_parameter_types(name, namespace, parameter_names)

Get parameter types for the given parameter names.

Returns a list of parameter types corresponding to the parameter names.

handle_describe_parameters(map, node_name, node_namespace)

handle_get_parameter_types(map, node_name, node_namespace)

handle_get_parameters(map, node_name, node_namespace)

handle_list_parameters(map, node_name, node_namespace)

handle_set_parameters(map, node_name, node_namespace)

handle_set_parameters_atomically(map, node_name, node_namespace)

init(args)

Callback implementation for GenServer.init/1.

list_parameters(name, namespace)

List all declared parameters.

Get a list of parameter names and their prefixes.

Returns a list of parameter names.

name(name, namespace \\ "/")

remove_on_set_parameters_callback(name, namespace, callback)

Remove an on-set callback.

remove_post_set_parameters_callback(name, namespace, callback)

Remove a post-set callback.

remove_pre_set_parameters_callback(name, namespace, callback)

Remove a pre-set callback.

set_parameter(name, namespace, parameter_name, value, opts \\ [])

Set single parameter.

Returns :ok if the parameter was set successfully, {:error, reason} otherwise.

set_parameters(name, namespace, parameters, convert \\ false, atomically \\ true)

Set multiple parameters atomically.

Returns :ok if all parameters were set successfully, {:error, reason} otherwise.

start_link(args)