* Commiting to back up work, does not function
* Can call user callback when goal request received
* fini action server in destructor
* rename user callback virtual functions
* handle_execute test passes
* Remove out of date comment
* Refactor execute into three functions
* Remove unused file
* Add failing cancel test
* Cancel test passes
* Remove out of date comments
* Make sure server publishes status when accepting a goal
* Send status when goals transition to cancelling
* Refactored sending goal request to its own function
* Refactor cancel request into it's own function
* Comment with remaining tests
* Executing and terminal state statuses
* publish feedback works
* server sends result to clients that request it
* Remove out of date comment
* Add ServerGoalHandle::is_active()
* Cleanup when goals expire
* Can pass in action server options
* cpplint and uncrustify fixes
* Fix clang warnings
* Copy rcl goal handle
* Fix clang warning
* Use intermediate value to avoid left shift on 32bit integer
* RCLCPP_ACTION_PUBLIC everwhere
* Change callback parameter from C type to C++
* Add accessors for request and uuid
* Feedback must include goal id
* Document Server<> and ServerBase<>
* handle_execute -> handle_accepted
* Test deferred execution
* only publish feedback if goal is executing
* Documentation for ServerGoalHandle
* document msg parameters
* remove unnecessary fini
* notify_goal_done only takes server
* Use unique_indentifier_msgs
* create_server accepts group and removes waitable
* uncrustify
* Use weak ptr to avoid crash if goal handle lives longer than server
* Handle goal callback const message
* Goal handle doesn't have server pointer anymore
* Lock goal_handles_ on Server<>
* rcl_action_server_t protected with mutex
* ServerBase results protected with mutex
* protect rcl goal handle with mutex
* is_cancel_request -> is_canceling
* Add missing include
* use GoalID and change uuid -> goal_id
* Keep rcl goal handle alive until it expires on server
* uncrustify
* Move UUID hash
* Log messages in server
* ACTION -> ActionT
* Cancel abandoned goal handles
* Add convert() for C and C++ goal id
* Remove unused variable
* Constant reference
* Move variable declaration down
* is_ready if goal expired
* map[] default constructs if it doesn't exist
* Use rcl_action_get_goal_status_array()
* Array -> GoalID
* Use reentrant mutex for everything
* comment
* scope exit to fini cancel response
* using GoalID
* WIP
* Removed async_cancel from action ClintGoalHandle API
* Added status handler to action client goal handler
* Added result handler to action client goal handler
* Identation fix
* Added get/set for action client goal handler
* Changed action client goal handler attrs from rcl to cpp versions
* Added check methods to action client goal handler
* Removed rcl_client pointer from action client goal handler
* Added basic waitable interface to action client
* Updated waitable execute from action client
* Added throw for rcl calls in action client
* Removed duplicated ready flags from action client
* Minor fix
* Added header to action ClientBaseImpl execute
* Mich's update to action client interface
* Added trailing suffix to client pimpl attrs
* Towards a consistent action client
* Misc fixes for the action client
* Yet more misc fixes for the action client
* Few more fixes and shortcuts to deal with missing type support.
* Fixed lint errors in action headers and client
* Fixes to action client internal workflow.
* Misc fixes to get client example to build
* More misck client fixes
* Remove debug print
* replace logging with throw_from_rcl_error
* Wrap result object given by client to user
* Fix a couple bugs trying to cancel goals
* Use unique_indentifier_msgs
* create_client accepts group and removes waitable
* Uncrustify fixes
* [rclcpp_action] Adds tests for action client.
* [WIP] Failing action client tests.
* [rclcpp_action] Action client tests passing.
* Spin both executors to make tests pass on my machine
* Feedback callback uses shared pointer
* comment about why make_result_aware is called
* Client documentation
* Execute one thing at a time
* Return nullptr instead of throwing RejectedGoalError
* ClientGoalHandle worries about feedback awareness
* cpplint + uncrustify
* Use node logging interface
* ACTION -> ActionT
* Make ClientBase constructor protected
* Return types on different line
* Avoid passing const reference to temporary
* Child logger rclcpp_action
* Child logger rclcpp_action
* possible windows fixes
* remove excess space
* swap argument order
* Misc test additions
* Windows independent_bits_engine can't do uint8_t
* Windows link issues
* refactor init to allow for non-global init
Signed-off-by: William Woodall <william@osrfoundation.org>
* Update rclcpp/include/rclcpp/utilities.hpp
Co-Authored-By: wjwwood <william+github@osrfoundation.org>
* Update rclcpp/include/rclcpp/utilities.hpp
Co-Authored-By: wjwwood <william+github@osrfoundation.org>
* Update rclcpp/include/rclcpp/utilities.hpp
Co-Authored-By: wjwwood <william+github@osrfoundation.org>
* Update rclcpp/src/rclcpp/utilities.cpp
Co-Authored-By: wjwwood <william+github@osrfoundation.org>
* refactor state into context objects and fix signal handling
Signed-off-by: William Woodall <william@osrfoundation.org>
* avoid nullptr access in error messages
Signed-off-by: William Woodall <william@osrfoundation.org>
* avoid exception in publish after shutdown was called
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix missing and unused headers
Signed-off-by: William Woodall <william@osrfoundation.org>
* cpplint
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixes found during testing
Signed-off-by: William Woodall <william@osrfoundation.org>
* address bug found in review comment
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixes and warnings fixed during testing
Signed-off-by: William Woodall <william@osrfoundation.org>
* addressing review comments
Signed-off-by: William Woodall <william@osrfoundation.org>
* ensure new ExecutorArgs are used everywhere
* [rclcpp] Add class Waitable
Provides a virtual API for interacting with wait sets.
* [rclcpp] Add node interface for Waitables
* [rclcpp] Implement node interface for Waitables
* [rclcpp] Integrate Waitable entities with executor
* Implement remaining logic for integrating Waitables
* Add visibility macros and other refactoring to Waitable class
* Return zero size for entities in a Waitable by default
* Bugfix: Clear list of waitable handles
* Bugfix: update Waitable handle list based on readiness
* Bugfix: update for loop condition
* Give node a node_waitables_
* Give lifecycle node a node_waitables
Now the functions take an optional output index argument.
Refactored the graph listener usage of rcl_wait_set_add_guard_condition() to take advantage of the new API.
* issue a warning if publishing on a not active publisher
* Adding a logger private member in LifecyclePublisher for avoiding creating a new one echa call
* Providing logging macro signature that accepts std::string
* - RCLCPP_ prefix to macros Add
- New tests added
* - Added doc to the functions and macros
- Functions declared as RCLCPP_PUBLIC
* - Small typo in doc corrected
* Fixed error when compiling with clang
* touch up docs
This fixes the build on MacOS High Sierra and later, and
is the more correct thing to do anyway.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Don't auto-activate ROS time if clock topic is being published
* Destroy subscription when not needed, avoid re-creating it
* Additional tests
* Always reset pointer
* Initialise sub in initialiser list
* Implement get_parameter_or_set_default.
This is syntactic sugar to allow the user to get a parameter.
If the parameter is already set on the node, it gets the value
of the parameter. If it is not set, then it gets the alternative
value and sets it on the node, ensuring that it exists.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Review fixes (one sentence per line).
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Rename get_parameter_or_set_default -> get_parameter_or_set
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Add TIME_MAX and DURATION_MAX functions
* Fix Linting Errors
* change funtion name as per coding style
* change function name as per coding style
* Update duration.cpp
* Update time.cpp
* Update test_duration.cpp
* Update time.hpp
* remove extra empty line
* fix indentation to comply with uncrusity 0.67
* fix spacing before opening brackets
* space between reference and variable name in signature
* questionable space between pointer marker and variable name