Commit graph

18 commits

Author SHA1 Message Date
Jacob Perron
97b87263d9 Remove dummy executable
Previously used to test compilation of rcl_action headers.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-02-07 11:24:30 -08:00
Alexis Pojomovsky
c5798e4774 Adds action interaction tests (#352)
* Add action_interaction_tests

* Fixed tests to work with new uuid

* Added comments for each test

* Addressed peer review comments

* Removed unnecessary rcl_reset_error calls from test_action_communication

* Addressed second part of peer review
2018-12-06 14:09:03 -08:00
Alexis Pojomovsky
f9ce6bd186 Increased gtest timeout for communication tests 2018-12-06 14:41:09 -03:00
Alexis Pojomovsky
46e2911d45 Removed unnecessary condition in cmake 2018-12-05 17:37:21 -03:00
Alexis Pojomovsky
316c62d20d Make test_action_communication to be compiled against all available rmw" 2018-12-05 16:53:41 -03:00
William Woodall
97ad0013e2
refactor init to not be global (#336)
* refactor init to not be global

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

* style changes

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

* refactor to hide use of C11 atomics in implementation

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

* fix new action tests

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

* use alternative atomic init for Windows support

* updates after rebase

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

* cleanup rmw_init_options before copying

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

* fix two bugs in new init code

* relax validity checks in a few places to facilitate post shutdown cleanup

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

* fixing tests for new API behavior

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

* to allocator -> to allocate

* acutally call rmw_shutdown() and address review comments

Signed-off-by: William Woodall <william@osrfoundation.org>
2018-11-29 21:32:54 -08:00
Jacob Perron
f39ac3cbe7 [rcl_action] Clean up CMakeLists.txt 2018-11-20 17:53:23 -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
Michel Hidalgo
f2afddc910 [rcl action] Cleanup CMake code for test_action_client. 2018-11-13 12:03:05 -03:00
Michel Hidalgo
7efd1a15ae [rcl action] Adds action client tests. 2018-11-12 14:26:42 -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
1120b2f6a4 [rcl_action] Remove unnecessary 'target_link_libraries' macro 2018-11-02 12:41:13 -07: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
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