Skip to content

Commit

Permalink
[rcl_interfaces] Homogenize iface definition (#23)
Browse files Browse the repository at this point in the history
* homogenize interfaces definition

* move rcl_interfaces README inside rcl_interfaces package

* add generic README for rcl_interfaces repo

* Update readme with changes from discussion
  • Loading branch information
mikaelarguedas committed Nov 3, 2017
1 parent d8c73c5 commit 7710246
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 33 deletions.
33 changes: 2 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,2 @@
# rcl_interfaces
This package contains the messages and services which ROS client libraries will use under the hood to
communicate higher level concepts such as parameters.


## Parameter Groups
Parameters are contained in groups.
The default group is '/'.
It behaves like a filepath, where you can nest sub-groups within groups.

## Standard topics for parameters

The ROS API for a node will be as follows inside the node's namespace.

### Topics:
* `parameter_events`: `ParameterEvent`
* This topic provides a way to subscribe to all parameter updates occuring on the node, including addition removal and changes in value. Every atomic change will be published separately.
* `parameter_event_descriptors`: `ParameterEventDescriptors`
* This topic provides a way to subscribe to all parameter updates occuring on the node, including addition removal and changes in value.
Every atomic change will be published separately. This is provided if large parameter values are expected to slow down the system.

### Services:

* `get_parameters`: `GetParameters`
* The service to get the value of parameters which are set on this node.
* `has_parameters`: `HasParameters`
* Query this node if specific parameters are set.
* `list_parameters`: `ListParameters`
* List the parameters on this node matching the filters.
* `set_parameters`: `SetParameters`
* Set parameters on this node.
# rcl_interfaces repository
This repository contains a set of packages that primarily contain interface files (.msg and .srv) which are used both to implement client library concepts and for testing.
31 changes: 31 additions & 0 deletions rcl_interfaces/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# rcl_interfaces
This package contains the messages and services which ROS client libraries will use under the hood to
communicate higher level concepts such as parameters.


## Parameter Groups
Parameters are contained in groups.
The default group is '/'.
It behaves like a filepath, where you can nest sub-groups within groups.

## Standard topics for parameters

The ROS API for a node will be as follows inside the node's namespace.

### Topics:
* `parameter_events`: `ParameterEvent`
* This topic provides a way to subscribe to all parameter updates occuring on the node, including addition removal and changes in value. Every atomic change will be published separately.
* `parameter_event_descriptors`: `ParameterEventDescriptors`
* This topic provides a way to subscribe to all parameter updates occuring on the node, including addition removal and changes in value.
Every atomic change will be published separately. This is provided if large parameter values are expected to slow down the system.

### Services:

* `get_parameters`: `GetParameters`
* The service to get the value of parameters which are set on this node.
* `has_parameters`: `HasParameters`
* Query this node if specific parameters are set.
* `list_parameters`: `ListParameters`
* List the parameters on this node matching the filters.
* `set_parameters`: `SetParameters`
* Set parameters on this node.
2 changes: 1 addition & 1 deletion rcl_interfaces/srv/DescribeParameters.srv
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ string[] names
# A list of the descriptors of all parameters requested in the same order
# as they were requested.
# This list has the same length as the list of parameters requested.
rcl_interfaces/ParameterDescriptor[] descriptors
ParameterDescriptor[] descriptors
1 change: 1 addition & 0 deletions rcl_interfaces/srv/GetParameterTypes.srv
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ string[] names
---

# List of types which is the same length and order as the provided names.
# Type enum defined in ParameterType.msg
# ParameterType.PARAMETER_NOT_SET indicates that the parameter is not currently set.
uint8[] types
2 changes: 1 addition & 1 deletion rcl_interfaces/srv/SetParameters.srv
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# A list of parameters to set
rcl_interfaces/Parameter[] parameters
Parameter[] parameters

---

Expand Down

0 comments on commit 7710246

Please sign in to comment.