No description
Find a file
William Woodall aaf8b3828c
[rclcpp] add WaitSet class and modify entities to work without executor (#1047)
* add rclcpp::GuardCondition wrapping rcl_guard_condition_t

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

* WIP second wait set refactor, just guard conditions so far

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

* fix typo

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

* removing a question/todo, I think this is fine as is

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

* added subscriptions and waitable to wait sets

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

* improve usability with subscriptions and wait sets

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

* adding take to subscription so it can be used without the executor

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

* add rclcpp::MessageInfo to replace use of rmw_message_info_t

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

* refactor Subscription and Executor so they can be used separately

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

* style and cpplint

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

* fixup take_serialized() and add tests for it

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

* add support for client and service to wait set

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

* fix typo

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

* fix typo

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

* fix review comment

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

* add thread-safe wait set policy

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

* add check for use with multiple wait set

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

* fixup visibility macro usage

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

* remove vestigial test case

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

* move visibility macro fixes

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

* remove vestigial TODO

Signed-off-by: William Woodall <william@osrfoundation.org>
2020-04-13 16:41:59 -07:00
.github advise to ask questions on ROS answers 2018-02-26 22:01:36 -08:00
rclcpp [rclcpp] add WaitSet class and modify entities to work without executor (#1047) 2020-04-13 16:41:59 -07:00
rclcpp_action rename rosidl_generator_c namespace to rosidl_runtime_c (#1062) 2020-04-10 21:58:22 -07:00
rclcpp_components Remove absolute path from installed CMake code (#948) 2019-12-17 15:23:16 -08:00
rclcpp_lifecycle Fix unknown macro errors reported by cppcheck 1.90 (#1000) 2020-03-04 09:05:21 -08:00
.gitignore add wait_for_action_server() for action clients (#598) 2018-12-06 18:57:25 -08:00
CONTRIBUTING.md add section about DCO to CONTRIBUTING.md 2019-03-20 08:38:07 -07:00
LICENSE update license file to keep copyright template 2015-04-03 12:30:27 -07:00
README.md New README (#942) 2019-12-11 19:39:06 +03:00

rclcpp

This repository contains the source code for the ROS Client Library for C++ package, included with a standard install of any ROS 2 distro.

rclcpp provides the standard C++ API for interacting with ROS 2.

Usage

#include "rclcpp/rclcpp.hpp" allows use of the most common elements of the ROS 2 system.

Visit the rclcpp API documentation for a complete list of its main components.

Examples

The ROS 2 tutorials Writing a simple publisher and subscriber and Writing a simple service and client contain some examples of rclcpp APIs in use.