* Use --ros-args to deal with node arguments in rclcpp.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Document implicit --ros-args flag in NodeOptions::arguments().
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Add missing size_t to int cast.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Only add implicit --ros-args flag if not present already.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Add some rclcpp::NodeOptions test coverage.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Address peer review comments.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Please cpplint and uncrustify.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Add line break after first open paren in multiline function call
as per developer guide:
https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#open-versus-cuddled-braces
see https://github.com/ament/ament_lint/pull/148
Signed-off-by: Dan Rose <dan@digilabs.io>
Fix dedent when first function argument starts with a brace
Signed-off-by: Dan Rose <dan@digilabs.io>
Line break with multiline if condition
Remove line breaks where allowed.
Signed-off-by: Dan Rose <dan@digilabs.io>
Fixup after rebase
Signed-off-by: Dan Rose <dan@digilabs.io>
Fixup again after reverting indent_paren_open_brace
Signed-off-by: Dan Rose <dan@digilabs.io>
* Revert comment spacing change, condense some lines
Signed-off-by: Dan Rose <dan@digilabs.io>
* Switch the NodeParameters lock to recursive.
This is so that the on_set_parameter_callback can successfully
call other parameter methods (like get_parameter) without
deadlocking.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Make sure that modifications can't happen within a callback.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Review fixes.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Set parameter_modification_enabled_ in calls that make modifications.
This will prevent any modification from within modification,
which is a good thing.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Fix windows errors.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Switch to an RAII-style recursion guard.
Also update the documentation.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Adding a factory method to create a Duration from seconds
There are many places in the ROS codebase where a time duration is
specified as a floating point number of seconds. A factory function
to create a Duration object from these values makes the code a
bit simpler in many cases.
Signed-off-by: Carl Delsey <carl.r.delsey@intel.com>
* Adding some comments to clarify which constructors get matched.
Signed-off-by: Carl Delsey <carl.r.delsey@intel.com>
The short-term goal of this change is to enable the creation of a
parameter YAML file which is applied to each node, regardless of node
name or namespace.
Future work is to support all wildcard syntax in node names in
parameter YAML files.
Signed-off-by: Scott K Logan <logans@cottsay.net>
* use default parameter descriptor in parameters interface
Signed-off-by: Karsten Knese <karsten@openrobotics.org>
* use default parameter for value
Signed-off-by: Karsten Knese <karsten@openrobotics.org>
* rename initial_parameters in NodeOptions to parameter_overrides
Signed-off-by: William Woodall <william@osrfoundation.org>
* rename automatically_declare_initial_parameters to automatically_declare_parameters_from_overrides
Signed-off-by: William Woodall <william@osrfoundation.org>
* some additional renames I missed
Signed-off-by: William Woodall <william@osrfoundation.org>
* add test for setting after declaring with parameter overrides
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixup NodeOptions docs
Signed-off-by: William Woodall <william+github@osrfoundation.org>
Co-Authored-By: chapulina <louise@openrobotics.org>
* clarify relationship between allow_undeclared_parameters and parameter_overrides
Signed-off-by: William Woodall <william@osrfoundation.org>
* removed not used parameter client
Signed-off-by: alberto <alberto.soragna@gmail.com>
* moved parameter include directives to time source cpp file
Signed-off-by: alberto <alberto.soragna@gmail.com>
* change memory strategy API from vector of nodes to list of nodes
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
* store guard_condition of node in executor and ensure that it is removed from the memory strategy
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
* add unit test
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
* Throw nice errors when creating a publisher with intraprocess communication and history keep all or history depth 0.
Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
* created static functions
Signed-off-by: alsora <alberto.soragna@gmail.com>
Signed-off-by: alberto soragna <alberto.soragna@gmail.com>
* updated on_parameter_event to new subscriber api
Signed-off-by: alberto soragna <alberto.soragna@gmail.com>
* Update parameter_client.hpp
Reorderd typenames in template
Signed-off-by: alberto soragna <alberto.soragna@gmail.com>
* updated API also for Synchronous client and fixed linter errors
Signed-off-by: alberto soragna <alberto.soragna@gmail.com>
* added empty line at the end of files
Signed-off-by: alberto soragna <alberto.soragna@gmail.com>
* fixed linter error
Signed-off-by: alsora <alberto.soragna@gmail.com>
* added parameter client tests
Signed-off-by: alsora <alberto.soragna@gmail.com>
* added missing includes in unit test
Signed-off-by: alsora <alberto.soragna@gmail.com>
Fixes#705.
If the set_parameters() call fails, it's nice to be able to return a partial result.
Since there is no convenient method to obtain a partial result, we call set_parameters()
once for each parameter.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Add missing template functionality to lifecycle_node.
Recent changes to the node_parameters interface was accompanied by additions to the
node.hpp header and implementation files. However, these additions were not also made
to the corresponding lifecycle node files. This PR includes the changes required for
the lifecycle node.
Going forward, I suggest that any code like this that supplements the basic node interfaces
should either be factored out into a separate header that both node and lifecycle_node
include, or that the supplemental code simply be included in the appropriate node_interface
file directly, if possible. That way we can avoid code duplication and its symptoms which
is node and lifecycle_node getting out of sync (which they have several times).
Signed-off-by: Michael Jeronimo <michael.jeronimo@intel.com>
* consolidate documentation to just be in rclcpp/node.hpp
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix visibility macros
Signed-off-by: William Woodall <william@osrfoundation.org>
* deprecation methods that were also deprecated in rclcpp::Node
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixup variable name
Signed-off-by: William Woodall <william@osrfoundation.org>
* add missing template method implementations
Signed-off-by: William Woodall <william@osrfoundation.org>
* add more methods that were not ported to lifecycle node originally
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix cpplint
Signed-off-by: William Woodall <william@osrfoundation.org>