Commit graph

799 commits

Author SHA1 Message Date
Michel Hidalgo
f2afddc910 [rcl action] Cleanup CMake code for test_action_client. 2018-11-13 12:03:05 -03:00
Michel Hidalgo
0c31382165 [rcl action] Addresses peer review comments (#319).
* Remove redundant null check for given rcl_node_t pointer.
* Always deallocate rcl_action_client_t pimpl on finalization.
* Minor formatting fixes.
2018-11-13 10:53:04 -03:00
Michel Hidalgo
7efd1a15ae [rcl action] Adds action client tests. 2018-11-12 14:26:42 -03: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
d1c3990f5d Addresses peer review comments (#319) 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
William Woodall
9351fd89c7
Move stdatomic helper to rcutils (#324)
* move stdatomic_helper* to rcutils

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

* refactor after moving stdatomic_helper.h to rcutils

Signed-off-by: William Woodall <william@osrfoundation.org>
2018-11-08 16:15:43 -06:00
Jacob Perron
5d12f54d13
Add subfolder argument to the ROSIDL_GET_SRV_TYPE_SUPPORT macro (#322) 2018-11-08 09:49:21 -08:00
Jacob Perron
e6985c0226 [rcl] Return appropriate error code when there is a bad allocation 2018-11-06 14:15:04 -08:00
Jacob Perron
48c168a5ca [rcl] Remove redundant error checking and set explicit error message with '_is_valid' functions 2018-11-06 14:15:04 -08: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
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
765de78140
Merge pull request #317 from ros2/hidmic/action-names
Add action services and topics name getters
2018-11-01 16:43:06 -03: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
Karsten Knese
77ef88a4f6
delete TRANSITION_SHUTDOWN (#313) 2018-10-31 19:19:45 -07: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
Karsten Knese
5e3d4be720
Lifecycle refactor (#298)
* no static initialization of states anymore

* make transition labels more descriptive

* introduce labeled keys

* define default transition keys

* fix memory management

* introduce service for transition graph

* export transition keys

* remove keys, transition id unique, label ambiguous

* semicolon for macro call
2018-10-11 14:03:41 -07:00
Jacob Perron
9d4b1c9912
Minor doc fixes (#305) 2018-10-08 18:50:24 -07:00
Chris Lalancette
3d0e2b7966
Add macro semicolons (#303)
* Add semicolons to all RCLCPP and RCUTILS macros.

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>

* Add semicolons in Windows stdatomic_helper.h

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
2018-10-05 17:30:27 -04:00
dhood
f1293b7d3b
[yaml parser] Fix FQN=//node_name when ns is / (#299)
* Fix FQN=//node_name when ns is /

* Check end of string for ns sep

* Add regression test
2018-09-21 14:50:48 -07:00
Shane Loretz
0a6d9186e8
Rcl timer with ros time (#286)
* rcl_wait() on timers with ROS clock

Timers handle time jump callbacks
rcl_wait() wakes when ros time gets a time after timer's next call time

* Set timer impl to NULL after fini
2018-09-13 09:28:12 -07:00
William Woodall
e5e338a8e0
typo (#297) 2018-09-11 17:39:39 -07:00
Dirk Thomas
a0f83b071a
ensure that timer period is non-negative (#295) 2018-09-06 18:36:28 -07:00
Dirk Thomas
16adb1e4f6
fix calculation of next timer call (#291)
* fix calculation of next timer call

* fix logic for period zero
2018-09-06 17:41:51 -07:00
Shane Loretz
e78e400018
Null deallocated jump callbacks (#294)
* Add failing test for add-remove-add callback

* Fix crash when adding callback after last was removed
2018-09-06 14:06:45 -07:00
Michael Carroll
f93072b1b8
Include namespaces in get_node_names. (#287) 2018-09-06 08:04:41 -05:00
Dirk Thomas
0e772b237e
fix naming of configure_error transition (#292) 2018-09-05 13:08:30 -07:00
William Woodall
7289d4a00a
Doc fixups (#288)
* remove vestigial parameter documentation

* fix parameter name typo

* small fixup
2018-08-31 18:32:27 -07:00
Shane Loretz
955c0c93da
Check if pointers are null before calling memset (#290) 2018-08-31 15:31:53 -07:00
Shane Loretz
ceff88b974
Clock has multiple time jump callbacks (#284)
* Clock has multiple time jump callbacks

Replaces pre_update and post_update
Adds callbacks when ROS time is activated or deactivated
Add rcl_clock_change_t, rcl_time_jump_t, rcl_jump_threshold_t
Add rcl_clock_add_jump_callback()
Add rcl_clock_remove_jump_callback()

* Fini generic clock after confirming correct clock type

* test_time no ASAN detections
2018-08-27 15:37:06 -07:00
Shane Loretz
ba9f24b852
consolidate wait set functions (#285)
* Consolidate functions to clear wait set

Add rcl_wait_set_clear()
Remove
  rcl_wait_set_clear_subscriptions()
  rcl_wait_set_clear_guard_conditions()
  rcl_wait_set_clear_clients()
  rcl_wait_set_clear_services()
  rcl_wait_set_clear_timers()

* Consolidate functions to resize wait set

Add rcl_wait_set_resize()
Removed
  rcl_wait_set_resize_subscriptions()
  rcl_wait_set_resize_guard_conditions()
  rcl_wait_set_resize_timers()
  rcl_wait_set_resize_clients()
  rcl_wait_set_resize_services()
2018-08-27 11:54:53 -07:00
Shane Loretz
3aebe9fbf9
ROS clock storage initially set to zero (#283) 2018-08-21 12:57:04 -07:00
Chris Ye
adc0190259 Fix deallocate issue of parameter_files (#279)
Correct pointer arithmetic on parameter_files to avoid deallocate memory out-of-bounds

Signed-off-by: Chris Ye <chris.ye@intel.com>
2018-08-16 11:21:28 -05:00
Chris Ye
696f62c80b Deallocate ret_val to avoid memery leak (#278)
In get_value() function ret_val is allocated from rcutils_strdup when type is DATA_TYPE_STRING,

Should be deallocate in switch val_type=DATA_TYPE_STRING case.

Signed-off-by: Chris Ye <chris.ye@intel.com>
2018-08-15 16:56:17 -05:00
Dirk Thomas
1e5bf4ac29
initialize memory before sending a message (#277)
* initialize memory before sending a message

* add todo referencing ticket

* wrap todo
2018-08-14 16:58:30 -07:00
dhood
e2f7c26123
Set error message when clock type is not ROS_TIME (#275) 2018-08-03 13:21:26 -07:00
dhood
3356bd4cf1
Copy allocator passed in to clock init (#274)
* Store allocator passed in to clock init

* Linter fix
2018-08-01 11:24:13 -07:00
Dirk Thomas
b324f9de0d
initialize timer with clock (#272)
* initialize timer with clock

* use rcl_clock_get_now

* call rcl_clock_fini at the end of each test

* modify rcl_clock_get_now to take a rcl_time_point_value_t

* update docblock

* update to pass time_point_value

* add check for NULL

* add rcl_timer_clock()

* fix style

* doc fixes

* fini clock
2018-07-27 18:28:02 -07:00
Mikael Arguedas
d3a734f266
use test_msgs instead of std_msgs in tests (#270) 2018-07-17 13:24:39 -07:00
dhood
c21a250a06 Add regression test for node:__ns remapping (#263)
* Add regression test for node:__ns remapping

* Fix node:=__ns remapping

* Finalize node in remap integration test
2018-07-16 15:18:23 -07:00
Dirk Thomas
0ed0581c44
remove use of uninitialized CMake var (#268) 2018-07-11 08:38:41 -07:00