Commit graph

587 commits

Author SHA1 Message Date
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
Mikael Arguedas
16159adfc2
Uncrustify 0.67 (#266)
* fix indentation to comply with uncrusity 0.67

* fix spacing to comply with uncrusity 0.67
2018-07-11 08:31:06 -07:00
Mikael Arguedas
9a9762f175
Fix rosidl dependencies (#265)
* [rcl_lifecycle] remove rosidl deps as this package doesnt generate any messages

* depend on rosidl_generator_c
2018-07-05 13:01:12 -07:00
William Woodall
d13a902d9a 0.5.0 2018-06-25 14:38:04 -07:00
William Woodall
2f59759b0e fix version number for rcl_yaml_param_parser 2018-06-25 14:37:46 -07:00
William Woodall
aa4ac7d06c changelogs 2018-06-25 14:36:46 -07:00
dhood
c9fe312674
params -> ros__parameters 2018-06-18 21:37:16 -07:00
William Woodall
d63e2bc9cf
changes to support memory audit (#261)
* changes to rcutils_path_join()

* remove uses of malloc/realloc/calloc/free for allocator usage instead

* remove unused class members
2018-06-16 22:06:07 -07:00
William Woodall
ced49473db
Use private substitution in lifecycle topics and services (#260)
* use ~/<topic> rather than manually constructing topics/services

* use check argument for null macros
2018-06-16 18:36:58 -07:00
William Woodall
8f744520bd use rcutils_format_string() rather than malloc and rcutils_snprintf() (#240) 2018-06-16 13:47:51 -07:00
Karsten Knese
99c05cf3b4
*_raw function (#170)
* publish_raw function

* rcl_take_raw function

* comply to master

* add documentation

* use rcl_subscription_is_valid

* documentation fixups

* address review comments

* raw->serialized
2018-06-16 10:35:46 +02:00
Mikael Arguedas
bb6ea4c124
use test_msgs instead of example_interfaces (#259) 2018-06-13 18:29:58 +02:00
dhood
639916df70
Add regression test for connext 'wrong type writer' error (#257)
* Add regression test for connext 'wrong type writer' error

* Use osrf_testing_tools_cpp
2018-06-12 09:27:02 -07:00