Commit graph

495 commits

Author SHA1 Message Date
ivanpauno
64a1412594
Add function to get publisher actual qos settings (#406)
* Add rcl_publisher_get_actual_qos function

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>

* Add test for rcl_publisher_get_actual_qos

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>

* Correct RMW_IMPLEMENTATION checking. Add opensplice system default qos test

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>

* Add system default test for connext

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>

* Solve windows build problem

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
2019-04-01 17:54:48 -03:00
Jacob Perron
03dec21cde
Refactor graph API docs (#401)
Fix errors, remove redundant information, and try to make sentences more concise.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-03-20 14:19:59 -07:00
ivanpauno
99630cb66d
Using ament_target_dependencies where possible (#400)
* Using ament_target_dependencies where possible

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>

* Modified rcl_add_custom_* to use AMENT_DEPENDENCIES where possible

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>

* Added again osrf_testing_tools_cpp::memory_tools library where needed.

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>

* Modified with PR comment, and replaced forgotten osrf_testing_tools_cpp including

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
2019-03-19 09:22:16 -03:00
Michael Carroll
29b0838388
Fix regression around fully qualified node name. (#402)
* Fix regression around fully qualified node name.

Regression was introduced in 114bc5289 (PR #381).

Signed-off-by: Michael Carroll <michael@openrobotics.org>

* Clean up test code based on feedback.

Signed-off-by: Michael Carroll <michael@openrobotics.org>

* Combine tests to prevent Connext timeout.

Signed-off-by: Michael Carroll <michael@openrobotics.org>
2019-03-18 17:08:33 -05:00
Jacob Perron
dcffef54f1
Add function rcl_names_and_types_init (#403)
This wraps the rmw function just like the finalize function.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-03-18 15:06:51 -07:00
Dirk Thomas
4f9e6bc12f
initialize sequence number of client (#395)
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
2019-03-08 16:18:54 -08:00
Michel Hidalgo
85a46726b6
Add launch along with launch_testing as test dependencies. (#393)
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
2019-03-06 09:03:02 -08:00
Sachin Suresh Bhat
2ff5df0c11 Set symbol visibility to hidden for rcl (#391)
* Set symbol visibility to hidden for rcl

Enabling symbol visibility feature in gcc and clang compilers.
This will hep find symbol export related issues in linux and
potentially reduce compile times.

Discourse topic link:
https://discourse.ros.org/t/set-symbol-visibility-to-hidden-for-rmw-and-rcl-packages/7981

Signed-off-by: Sachin Suresh Bhat <bhatsach@amazon.com>

* Remove WIN specific compiler definition in configure_rcl

Signed-off-by: Sachin Suresh Bhat <bhatsach@amazon.com>

* Rename macro name rcl_set_symbol_visibility_hidden

Signed-off-by: Sachin Suresh Bhat <bhatsach@amazon.com>

* Change macro to args for rcl_set_symbol_visibility_hidden

Signed-off-by: Sachin Suresh Bhat <bhatsach@amazon.com>
2019-03-05 18:09:55 -08:00
Shane Loretz
b5cdc496d0
Split test_token to avoid compiler note (#392)
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
2019-02-27 14:54:54 -08:00
Michel Hidalgo
e133167524 Drops legacy launch API usage. (#387)
* Drops legacy launch API usage.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Adds launch_testing as test dependency.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
2019-02-27 13:36:43 -06:00
AAlon
b0a124dcf6 Security directory lookup improvements (#332)
* Changing security directory lookup to a prefix match rather than exact match.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Changing security directory lookup to a prefix match rather than exact match.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Changing security directory lookup to a prefix match rather than exact match.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Changing security directory lookup to a prefix match rather than exact match.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Changing security directory prefix matching to be optional. Improving error messages around security directory lookup.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Fixing get_best_matching_directory so that it always fetches the next file inside the loop.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* make pr ready for ros2cli security feature (#1)

* update docs about possibility of rcl_take no taking (#356)

* update rcl_wait doc with respect to subs and possibility of failing takes

* add a note about possible failing takes in rcl_take docs

* 0.6.2

* Set rmw_wait timeout using ros timers too (#357)

* 0.6.3

* Avoid timer period being set to 0 (#359)

* Fix logic that moves goal handles when one expires (#360)

* Fix error from uncrustify v0.68 (#364)

* Ensure that context instance id storage is aligned correctly (#365)

* Ensure that context instance id storage is aligned correctly

* Make alignment compatible with MSVC

* Namespace alignment macro with RCL_

* [rcl] Guard against bad allocation calling rcl_arguments_copy() (#367)

* [rcl] Add test for copying arguments struct with no arguments

* Override allocate function in test to reveal bug

* [rcl] Only allocate arrays if there are things to copy in rcl_argument_copy()

Also guard against freeing invalid pointers if rcl_argument_copy() fails.

* Remove uncessary guard against NULL pointer

* linter, styles, uncrustify fixes

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Update rcl/include/rcl/security_directory.h

Co-Authored-By: AAlon <avishayalon@gmail.com>
Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Adding line break in docstring

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Removing duplicate doc string

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Removing tinydir from the source tree, instead using the ROS package tinydir_vendor.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Removing tinydir

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Reformatting license notice as per linter template.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Update test_security_directory.cpp

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Changing input to putenv to be a global, statically allocated buffer.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* test_security_directory - Using a larger buffer for env string manipulations.

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Copy environment variable to allocated string so it is not clobbered by next lookup

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Address review comments

fix security directory exact match comment and unset env vars before tests

Signed-off-by: Emerson Knapp <eknapp@amazon.com>

* Remove strncpy

Signed-off-by: Emerson Knapp <eknapp@amazon.com>
2019-02-21 09:25:25 -08:00
Michel Hidalgo
471075197c
Enforce non-null argv values on rcl_init(). (#388)
* Enforce non-null argv values on rcl_init().

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Adds test case for null argv values on rcl_init().

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
2019-02-12 15:07:52 -03:00
William Woodall
4c9be76b92
remove incorrect argument documentation (#361)
* remove incorrect argument documentation

* remove another incorrect argument doc
2019-02-08 16:14:36 -08:00
Ross Desmond
af49d6b3bf Change error to warning for multiple loggers. (#384)
* Change error to warning for multiple loggers

* Updating warning message

* Updating TODO message.

* Reformatting todo and uncrustify warn message.

* Add early return back in.

* Break string literal across multiple lines.

Signed-off-by: Steven! Ragnarök <steven@nuclearsandwich.com>

* Remove commented-out error and return block.

Signed-off-by: Steven! Ragnarök <steven@nuclearsandwich.com>
2019-02-07 15:44:24 -08:00
Michael Carroll
b301180872 Support for rclcpp::NodeOptions (#379)
* Move node_options into it's own header.

Signed-off-by: Michael Carroll <michael@openrobotics.org>

* Check before fini to avoid duplicate.

Signed-off-by: Michael Carroll <michael@openrobotics.org>
2019-02-06 12:00:45 -08:00
RARvolt
114bc52891 Fully qualified node name is computed once and stored. 2019-02-01 18:35:25 -08:00
RARvolt
586ae664c5 Add rcl_node_get_fully_qualified_name (#255) 2019-02-01 18:35:25 -08:00
Michael Carroll
e9279d1914
Make rcl_remap_t use the PIMPL pattern (#377)
Signed-off-by: Michael Carroll <carroll.michael@gmail.com>
2019-01-29 09:16:25 -06:00
Michael Carroll
59ab083ade
Minor documentation typo (#376)
Fix a small typo in the documentation for `rcl_get_zero_initialized_arguments`

Signed-off-by: Michael Carroll <carroll.michael@gmail.com>
2019-01-29 09:16:01 -06:00
M. M
097ff294d0 remove unit test hack (#368)
Signed-off-by: Miaofei <miaofei@amazon.com>
2019-01-29 08:09:12 -05:00
William Woodall
7f6b914ac4
pass context to wait set, and fini rmw context (#373)
* pass context to wait set, and fini rmw context

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

* use identifier rather than impl to check init status

Signed-off-by: William Woodall <william@osrfoundation.org>
2019-01-24 19:43:49 -08:00
Nick Burek
c6788e4e54 Publish logs to Rosout (#350)
* Implementing the rosout logging feature.

* fixup for PR

* Fixup for PR.

* Fixing broken unit tests.

* Minor fixup for PR.

* Fixing bug in rosout teardown.

* Fixing unit test that broke because the rosout node wasn't getting counted.

* Fixing warnings on Windows.
2019-01-14 13:47:57 -08:00
Steven! Ragnarök
ca97e5ca0b 0.6.4 2019-01-11 12:13:30 -08:00
William Woodall
c60290e17d
add method for accessing rmw_context from rcl_context (#372)
Signed-off-by: William Woodall <william@osrfoundation.org>
2019-01-10 17:13:44 -05:00
Jacob Perron
65bf34b3b7
[rcl] Guard against bad allocation calling rcl_arguments_copy() (#367)
* [rcl] Add test for copying arguments struct with no arguments

* Override allocate function in test to reveal bug

* [rcl] Only allocate arrays if there are things to copy in rcl_argument_copy()

Also guard against freeing invalid pointers if rcl_argument_copy() fails.

* Remove uncessary guard against NULL pointer
2019-01-03 16:31:12 -08:00
sgvandijk
22e61b4107 Ensure that context instance id storage is aligned correctly (#365)
* Ensure that context instance id storage is aligned correctly

* Make alignment compatible with MSVC

* Namespace alignment macro with RCL_
2019-01-03 11:54:08 -08:00
Jacob Perron
f755c64de8
Fix error from uncrustify v0.68 (#364) 2018-12-21 10:06:28 -08:00
Shane Loretz
657d9e84c7 0.6.3 2018-12-13 17:09:47 -08:00
Shane Loretz
3b7c208bba
Set rmw_wait timeout using ros timers too (#357) 2018-12-13 15:50:37 -08:00
Steven! Ragnarök
e5df9aa428 0.6.2 2018-12-12 21:51:15 -08:00
William Woodall
c3c0789c7a
update docs about possibility of rcl_take no taking (#356)
* update rcl_wait doc with respect to subs and possibility of failing takes

* add a note about possible failing takes in rcl_take docs
2018-12-12 15:28:25 -08:00
Jacob Perron
f0aef34bd7 [rcl] Bugfix: ensure NULL timeout is passed to rmw_wait() when min_timeout is not set
Otherwise, there is a risk of integer overflow (e.g. in rmw_fastrtps) and rmw_wait() will wake immediately.
2018-12-11 11:07:41 -08:00
Steven! Ragnarök
3b101540a2 0.6.1 2018-12-06 21:58:54 -08:00
Nick Burek
228cd0082c Adding new cli parameters for configuring the logging. (#327)
* Adding new cli parameters for configuring the logging.

cr https://code.amazon.com/reviews/CR-3728503

* Moving the external logger library from rcutils into rcl. Also automatic uncrustify.

* Fixing issue with rebase

* Temporarily switching the default to noop logger ext_lib while system dependency issue is solved for Windows/Mac.

* Fixing the format2/3 xmllint issue.

* style changes, and one actual fix

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

* rename rc_logging* to rcl_logging*

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

* Expand rcl_logging_configure API with allocator

This is to make sure that this API is complete, and we can merge rcl#350 later without breaking the API at a later date.

* update logging.c with new use of allocator in API

* update init.c with new API changes

* Switching back to va_list for output handlers.

* address review comments

Signed-off-by: William Woodall <william@osrfoundation.org>
2018-12-06 17:47:56 -08:00
Ross Desmond
8d6fb9aab5 Add node graph api to rcl. (#333)
This is an omnibus rollup of all of the previous commits
from https://github.com/ros2/rcl/pull/333
2018-12-06 16:04:29 -08:00
William Woodall
1529b620cc
fix compiler warning in clang (#345)
* fix compiler warning in clang

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

* same thing but for node too

Signed-off-by: William Woodall <william@osrfoundation.org>
2018-11-30 16:40:02 -06: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
Michael Carroll
fbd2b08937
Methods to retrieve matched counts on pub/sub. (#326)
* Methods to retrieve matched counts on pub/sub.

* Add documentation.

* Use simplified error checking.

* Add sleep for opensplice and connext.

* Fix docs.

* Address reviewer feedback.

* Wait on guard condition rather than static timeout.

* Attempt to force mismatched QoS settings.

* Fix mismatched QoS test.
2018-11-28 10:35:19 -06:00
Jacob Perron
87d41f0808 [rcl] Output index in container when adding an entity to a wait set
This feature is useful when different libraries interact with the same wait set (e.g. rcl_action).
2018-11-20 10:04:49 -08:00
Steven! Ragnarök
b2177b2281 0.6.0 2018-11-19 06:22:36 -08:00
Ruffin
a2546fa0b0
Expand node_secure_root using local_namespace (#300)
* Expand node_secure_root using local_namespace

* rcutils_normalize_path -> rcutils_to_native_path

* correct comments and docblock

* node_root_norm -> node_root_path

* normalized -> native

* Adding TODOs for function reuse

* Adding Null check node_secure_root

* Adding override for ROS_SECURITY_NODE_DIRECTORY
Addressing https://github.com/ros2/sros2/issues/69

* Change from strcpy to memcpy

Signed-off-by: Ruffin White <roxfoxpox@gmail.org>
2018-11-13 14:13:24 -08: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
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
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
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