No description
![]() * Added static single threaded executor functionality Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl> executor enhanced to run clients and waitable Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl> tested executor Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl> added semi-dynamic feature to the executor Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl> Jenkins error fixes Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl> Added static single threaded executor functionality Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl> * Added semi-dynamic feature and made changes based on review comments Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl> * re-added accidentally deleted code in node.hpp, fixed static_single_threaded_executor.cpp w.r.t. intra-process change since last commit Signed-off-by: MartinCornelis2 <martin.cornelis@nobleo.nl> * Remove not needed comparison wait_set_.size_of_* is always different than '0' if we are inside the for loop Signed-off-by: Mauro <mpasserino@irobot.com> * If new entity added to a node: re-collect entities Now we check ONLY node guard_conditions_ Some possible guard conditions to be triggered HERE are: 1. Ctrl+C guard condition 2. Executor interrupt_guard_condition_ 3. Node guard_conditions_ 4. Waitables guard conditions 5. ..more The previous approach was only checking if NOT (1 & 2), so if a Waitable was triggered, it would re-collect all entities, even if no new node entity was added. This was the case of the intra process manager, who relies on waitables. Every time a subscriber got a message, all the entities were collected. Signed-off-by: Mauro <mpasserino@irobot.com> * Implement static executor entities collector Signed-off-by: Mauro <mpasserino@irobot.com> * fixup and style Signed-off-by: William Woodall <william@osrfoundation.org> * mark new classes as final, with non-virtual destructors Signed-off-by: William Woodall <william@osrfoundation.org> * adding copyright to static executor files Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl> * fixup Signed-off-by: William Woodall <william@osrfoundation.org> * cpplint fixes Signed-off-by: William Woodall <william@osrfoundation.org> Co-authored-by: Ishu Goel <ishu.goel@nobleo.nl> Co-authored-by: MartinCornelis2 <martin.cornelis@nobleo.nl> Co-authored-by: Mauro <mpasserino@irobot.com> |
||
---|---|---|
.github | ||
rclcpp | ||
rclcpp_action | ||
rclcpp_components | ||
rclcpp_lifecycle | ||
.gitignore | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
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.