jhu-lcsr-forks / rtt_ros_integration

Orocos-ROS integration libraries and tools
1 stars 2 forks source link

rtt_rosparam: Added support for subservices #50

Closed meyerj closed 10 years ago

meyerj commented 10 years ago

Recreated #47 as I accidentally pushed a merged branch to the wrong repository:

This patch will add sub-service support to rtt_rosparam. A component could have nested services that also have properties. Currently it is not possible to load or store parameters of nested services.

There are several modifications, that I shortly summarize here:

  1. I added policy-specific operations getAllXXX() and setAllXXX() in analogy to the per-parameter operations. This is not directly related to services, but I need it to fetch all parameters of a component with a nested service from another namespace than it's private component namespace (dd2ef57).
  2. The getAllXXX() and setAllXXX() operations will recurse into services and also get/set their properties from/on the parameter server. This will only work for services, not for peers.
  3. If a service is passed to getXXX(name) or setXXX(name) operations and no property of that name exists, the rosparam service will search a service with that name and recursively call getAllXXX()/setAllXXX() for that specific service only.

Note that getAllAbsolute() and setAllAbsolute() (where the latter probably does not make so much sense anyway) currently are broken due to https://github.com/ros/ros_comm/pull/313.

Documentation in README.md still needs to be updated...

jbohren commented 10 years ago

This looks good to merge. I'd like to update the documentation to be clear where it says "... or configure a service" so that it describes "... or populates the properties of a named RTT sub-service from the corresponding ROS parameter namespace.", and so users don't think it's creating a ROS service server.

meyerj commented 10 years ago

It happened again: I accidentally pushed to hydro-devel instead of rtt-rosparam-subservices and closed this pull request. Moved and reopened in https://github.com/orocos-toolchain/rtt_ros_integration/pull/7.