Commit graph

42 commits

Author SHA1 Message Date
Alejandro Hernández Cordero
aa0967f0e2
Removed doxygen warnings (#712) (#724)
* Removed doxygen warnings

Signed-off-by: ahcorde <ahcorde@gmail.com>

* added feedback

Signed-off-by: ahcorde <ahcorde@gmail.com>
2020-07-22 15:23:48 +02:00
Alejandro Hernández Cordero
c70774659d
Fixed doxygen warnings (#677) (#696)
Signed-off-by: ahcorde <ahcorde@gmail.com>
2020-06-23 19:55:31 +02:00
Dirk Thomas
94b5a1d7d0
rename rosidl_generator_c namespace to rosidl_runtime_c (#616)
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
2020-04-10 21:58:19 -07:00
Dirk Thomas
88fd4b0313
rename rosidl_generator_cpp namespace to rosidl_runtime_cpp (#615)
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
2020-04-10 15:55:20 -07:00
Jacob Perron
b7610d9392
[rcl_action] Correct action server documentation (#519)
rcl_action_process_cancel_request() will never return RCL_RET_ACTION_SERVER_TAKE_FAILED.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-10-11 13:51:29 -07:00
Siddharth Kucheria
9566f39d60
rcl_action - user friendly error messages for invalid transitions (#448)
* user friendly error messages for invalid transitions

Signed-off-by: Siddharth Kucheria <kucheria@usc.edu>
2019-05-21 15:17:37 -07:00
Jacob Perron
26744b0e5d
Rename action state transitions (#409)
* Rename action state transitions

Now using active verbs.
Resolves #399.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-04-16 04:46:16 -07:00
M. M
edaa18ae4b correct initialization of rmw_qos_profile_t struct instances (#416)
Signed-off-by: Miaofei <miaofei@amazon.com>
2019-04-15 17:43:51 -07:00
Jacob Perron
b5039d20d7
Add Action graph API (#411)
* Add action graph API

Builds on top of the rcl graph API.
A list of action names associated with action clients can be constructed by
looking for subscriber topic names that have the suffix "/_action/feedback".
Likewise, action servers are associated with publisher topic names with the same suffix.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Enable multiple rmw action graph API tests

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Use ament_target_dependencies for osrf_testing_tools_cpp

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Fix lint errors

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Refactor

* Move graph API common implementation to local function
* Refactor tests

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Disable graph tests with OpenSplice

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Include graph.h in rcl_action.h

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Remove duplicate test

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Prefix increment operators

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Rename 'suffix' -> 'identifier'

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Add missing finalize calls and remove redundant branch

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Finalize names and types struct on error

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Fix bugs in tests

Pass valid names and types struct and update expected error code.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Add zero allocator tests

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Fix indentation

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Check if action identifiers are the suffix

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-04-14 07:30:51 -07:00
Jacob Perron
1a34301995
[rcl_action] Minor documentation fixes (#397)
* Update rcl_action Doxyfile

Add reference to rcl tagfile and fix generated tagfile name.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Fix minor doc errors

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-03-11 14:46:18 -07:00
Jacob Perron
5ec52d004b
Fix rcl_action documentation (#380)
* Fix rcl_action_goal_info_t documentation

* Fix rcl_action_expire_goals documentation

* Fix information about thread safety

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-02-12 09:31:19 -08:00
Jacob Perron
97bc6ac764 Remove unused action server option 'clock_type'
The clock type is instead as an argument to the action server's init function and stored in the impl.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-02-07 11:24:30 -08:00
Jacob Perron
ecc3cb5377
Add parentheses around use of zerouuid macro (#371)
Otherwise the preprocessor may gobble up the commas in mistake of extra parameters when it is passed to uuidcmpzero.
cppcheck v1.86 was complaining about this line.
2019-01-09 15:50:15 -08:00
William Woodall
0518125724 add wait_for_action_server() for action clients (#349)
Signed-off-by: William Woodall <william@osrfoundation.org>
2018-12-06 18:57:17 -08:00
Shane Loretz
c1dfda97e1
add rcl_action_server_is_valid_except_context (#348) 2018-12-01 08:55:07 -08:00
Shane Loretz
fd77323b9d
Add timer to action server to check expired goals + asan fixes (#343)
* Add timer to action server to check expired goals

* Fix leak in action_server

* Fix leaks and heap overflow errors

* Fix leaks in tests
2018-11-30 18:24:17 -08:00
Shane Loretz
b2694dfb3d
rcl_action_expire_goals() outputs goals that expire (#342)
* rcl_action_expire_goals() outputs goals that expire
2018-11-28 19:10:06 -08:00
Shane Loretz
15ac20738c
process_cancel_request no longer changes goal state (#341) 2018-11-27 15:05:38 -08:00
Michel Hidalgo
f531f682ea [rcl action] Exposes sequence numbers for all requests and responses. (#339) 2018-11-21 16:50:03 -08:00
Jacob Perron
acc974e43b
Add action server implementation (#323)
* Implement action server init, fini, and is_valid functions

* Add macros for initializing services and publishers

* Implement rcl_action_server_get_default_options()

* Implement rcl_action_accept_new_goal()

* Add function, rcl_action_server_goal_exists(), for checking if goal is already being tracked by an action server

* Add unit tests

* Implement rcl_action_server_get_goal_handles()

* Implement rcl_action_server_get_options()

* Implement rcl_action_server_get_action_name()

* Implement rcl_action_get_goal_status_array()

* Bugfix: reset pointers and size in type finalize functions
Also let finalize functions be called on already finalized objects

* Implement send/take functions for action server services

* Implement action server publishers for feedback and status

* Implement rcl_action_process_cancel_request()

* Add partial communication tests

* Define UUID_SIZE

* Use type-erased pointer for rcl_action_publish_status()

* Implement rcl_action_clear_expired_goals()
Introduce rcl_clock_t to action server implementation.

* Change internal goal handle array to be an array of pointers.

* Add check for invalid action names

* Do heap allocation of temporary array to satisfy MSVC compiler

* Bugfix: finalize node in test tear downs and reset expected errors

* Update documentation

* Update package.xml

* Pass in rcl_clock_t to action server
Rather than initializing internally.

* Do not finalize goal handles in expire function
Instead, leave it up to the caller to finalize goal handles.
Renamed the function to rcl_action_expire_goals.
2018-11-20 12:04:13 -08:00
Jacob Perron
d86d1c4135 Refactor actions wait set functions to leverage new wait set API 2018-11-20 10:04:49 -08:00
Michel Hidalgo
e59c14638d
Merge pull request #329 from ros2/hidmic/fix-empty-action-name
Makes rcl_action_get_*_name() functions check for empty action names.
2018-11-16 16:11:28 -03:00
Michel Hidalgo
f256da0a86
Merge pull request #319 from ros2/hidmic/action-client-implementation
Action client implementation
2018-11-15 13:42:08 -03:00
Michel Hidalgo
276aed1dff [rcl action] Addresses peer review comments (#329) 2018-11-14 19:33:21 -03:00
Michel Hidalgo
d77c9b6965 [rcl action] Makes rcl_action_get_*_name() functions check for empty action names. 2018-11-14 17:27:17 -03:00
Michel Hidalgo
c7e61834b4 [rcl action] Use macros instead of static function for action client impl. 2018-11-14 16:56:05 -03:00
Michel Hidalgo
78168bb52a [rcl action] Removes duplicate typedef in action_client header. 2018-11-14 15:54:32 -03:00
Jacob Perron
8b00791a56
[rcl_action] Add function to check if goal can be transitioned to CANCELING (#325)
* [rcl_action] Add function for checking if goal can be transitioned to CANCELING

Add unit tests for the new function rcl_action_goal_handle_is_cancelable(), as well as rcl_action_goal_handle_is_active().
2018-11-13 11:55:28 -08:00
Michel Hidalgo
cca18daad2 [rcl action] Fixes after changes introduced by (#310) 2018-11-12 13:59:50 -03:00
Michel Hidalgo
e2ee3c5475 [rcl action] Wait set support for action clients (restrictive). 2018-11-12 13:59:50 -03:00
Michel Hidalgo
89563623f7 [rcl action] Refactors action client error checking. 2018-11-12 13:59:50 -03:00
Michel Hidalgo
16205873ea [rcl action] Action client first implementation. 2018-11-12 13:59:47 -03:00
Jacob Perron
b2578bbbda
[rcl_action] Implement goal handle (#320)
* Add action goal handle implementation and unit tests
* Add check to goal state machine transition function for index out of bounds
2018-11-06 10:28:06 -08:00
Jacob Perron
88eaa3a926 [rcl_action] Store allocator used for message initialization in the message struct
This relieves the user from providing the correct allocator when finalizing messages.
2018-11-02 12:41:13 -07:00
Jacob Perron
e64fcaf5a8 [rcl_action] Bugfix: check if number of elements to allocate for message is greater than zero 2018-11-02 12:41:13 -07:00
William Woodall
4d8cb487f8
use new error handling API from rcutils (#314)
* use new error handling API from rcutils

Signed-off-by: William Woodall <william@osrfoundation.org>

* use semicolons after macros

Signed-off-by: William Woodall <william@osrfoundation.org>

* use new error handling API from rcutils

Signed-off-by: William Woodall <william@osrfoundation.org>

* minimize vertical whitespace

Signed-off-by: William Woodall <william@osrfoundation.org>

* use semicolons after macros

Signed-off-by: William Woodall <william@osrfoundation.org>
2018-11-01 21:08:31 -05:00
Michel Hidalgo
55d83f27d7 [rcl action] Addresses peer review comments (#317) 2018-11-01 10:55:52 -03:00
Michel Hidalgo
8b65abeed5 [rcl action] Add action services and topics name getters 2018-11-01 10:54:36 -03:00
Jacob Perron
f9dfc5ddd1
[rcl_action] Implement init/fini functions for types (#312)
* Refactored API. Removed init/fini functions for types that do not necessarily need allocation on the heap.
* Added unit tests for implementation.
2018-10-31 13:36:48 -07:00
Jacob Perron
29e7dbe156
Refactor goal state machine implementation and add unit tests (#311)
* Fix buggy if-conditions in transition functions.
* Bugfix: incease number of states by one
* Cleanup CMakeLists.txt and package.xml
* Move goal state machine implementation details from header to C file
2018-10-30 16:15:10 -07:00
Jacob Perron
2c0e35d9d1
[rcl_action] Add missing visibilty control definitions (#315) 2018-10-30 10:39:02 -07:00
Jacob Perron
451bf4a1a4
Add rcl_action package and headers (#307)
* Create rcl_action package with proposed headers for:
  - Action client
  - Action server
  - Goal handle
  - Goal state machine
  - Types

* Add rcl_action.h and Doxyfile

* Add functions for adding action clients and action servers to a wait set

* Add default QoS profile for status topic and document default options for action clients/servers

* Include all headers in a .c file for testing compilation
2018-10-26 15:55:13 -07:00