Skip to content

Commit

Permalink
added flush buffer flags for all demos
Browse files Browse the repository at this point in the history
  • Loading branch information
skucheria committed Jul 22, 2019
1 parent d90a6be commit 5890e65
Show file tree
Hide file tree
Showing 13 changed files with 339 additions and 326 deletions.
26 changes: 13 additions & 13 deletions demo_nodes_cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,40 +57,40 @@ custom_executable(parameters parameter_events_async)

# Tutorial with Topics, Services, and Paramteres using composable nodes
use_composition(serverlib services add_two_ints_server)
rclcpp_components_register_node(serverlib PLUGIN "demo_nodes_cpp::ServerNode"
rclcpp_components_register_node(serverlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::ServerNode"
EXECUTABLE add_two_ints_server)
use_composition(clientasynclib services add_two_ints_client_async)
rclcpp_components_register_node(clientasynclib PLUGIN "demo_nodes_cpp::ClientNode"
rclcpp_components_register_node(clientasynclib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::ClientNode"
EXECUTABLE add_two_ints_client_async)
use_composition(listparameterslib parameters list_parameters)
rclcpp_components_register_node(listparameterslib PLUGIN "demo_nodes_cpp::ListParameters"
rclcpp_components_register_node(listparameterslib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::ListParameters"
EXECUTABLE list_parameters)
use_composition(parameterblackboardlib parameters parameter_blackboard)
rclcpp_components_register_node(parameterblackboardlib PLUGIN "demo_nodes_cpp::ParameterBlackboard"
rclcpp_components_register_node(parameterblackboardlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::ParameterBlackboard"
EXECUTABLE parameter_blackboard)
use_composition(setandgetparameterslib parameters set_and_get_parameters)
rclcpp_components_register_node(setandgetparameterslib PLUGIN "demo_nodes_cpp::SetAndGetParameters"
EXECUTABLE set_and_get_parameters)
rclcpp_components_register_node(setandgetparameterslib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::SetAndGetParameters"
EXECUTABLE set_and_get_parameters)
use_composition(talkerlib topics talker)
rclcpp_components_register_node(talkerlib PLUGIN "demo_nodes_cpp::Talker"
rclcpp_components_register_node(talkerlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::Talker"
EXECUTABLE talker)
use_composition(talkerserializedlib topics talker_serialized_message)
rclcpp_components_register_node(talkerserializedlib PLUGIN "demo_nodes_cpp::SerializedMessageTalker"
rclcpp_components_register_node(talkerserializedlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::SerializedMessageTalker"
EXECUTABLE talker_serialized_message)
use_composition(listenerlib topics listener)
rclcpp_components_register_node(listenerlib PLUGIN "demo_nodes_cpp::Listener"
rclcpp_components_register_node(listenerlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::Listener"
EXECUTABLE listener)
use_composition(listenerserializedlib topics listener_serialized_message)
rclcpp_components_register_node(listenerserializedlib PLUGIN "demo_nodes_cpp::SerializedMessageListener"
rclcpp_components_register_node(listenerserializedlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::SerializedMessageListener"
EXECUTABLE listener_serialized_message)
use_composition(listenerbesteffortlib topics listener_best_effort)
rclcpp_components_register_node(listenerbesteffortlib PLUGIN "demo_nodes_cpp::ListenerBestEffort"
rclcpp_components_register_node(listenerbesteffortlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::ListenerBestEffort"
EXECUTABLE listener_best_effort)
use_composition(oneofftimerlib timers one_off_timer)
rclcpp_components_register_node(oneofftimerlib PLUGIN "demo_nodes_cpp::OneOffTimerNode"
rclcpp_components_register_node(oneofftimerlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::OneOffTimerNode"
EXECUTABLE one_off_timer)
use_composition(resusetimerlib timers reuse_timer)
rclcpp_components_register_node(resusetimerlib PLUGIN "demo_nodes_cpp::ReuseTimerNode"
rclcpp_components_register_node(resusetimerlib FLUSH_BUFFER PLUGIN "demo_nodes_cpp::ReuseTimerNode"
EXECUTABLE reuse_timer)

install(TARGETS
Expand Down
2 changes: 1 addition & 1 deletion demo_nodes_cpp/src/parameters/parameter_events_async.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -144,4 +144,4 @@ int main(int argc, char ** argv)
rclcpp::shutdown();

return 0;
}
}
11 changes: 5 additions & 6 deletions demo_nodes_cpp/src/topics/listener.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,17 @@ class Listener : public rclcpp::Node
topic_name_ = tmptopic;
}
auto callback =
[this](const std_msgs::msg::String::SharedPtr msg) -> void
{
RCLCPP_INFO(this->get_logger(), "I heard: [%s]", msg->data.c_str());
};
[this](const std_msgs::msg::String::SharedPtr msg) -> void
{
RCLCPP_INFO(this->get_logger(), "I heard: [%s]", msg->data.c_str());
};

// Create a subscription to the topic which can be matched with one or more compatible ROS
// publishers.
// Note that not all publishers on the same topic with the same type will be compatible:
// they must have compatible Quality of Service policies.
sub_ = create_subscription<std_msgs::msg::String>(topic_name_, 10, callback);
}

}

void print_usage()
Expand Down Expand Up @@ -89,4 +88,4 @@ class Listener : public rclcpp::Node

} // namespace demo_nodes_cpp

RCLCPP_COMPONENTS_REGISTER_NODE(demo_nodes_cpp::Listener)
RCLCPP_COMPONENTS_REGISTER_NODE(demo_nodes_cpp::Listener)
1 change: 1 addition & 0 deletions demo_nodes_cpp/src/topics/listener_serialized_message.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include <iostream>
#include <memory>
#include <string>
#include <vector>

#include "rcl/types.h"
#include "rclcpp/rclcpp.hpp"
Expand Down
20 changes: 10 additions & 10 deletions demo_nodes_cpp/src/topics/talker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include <memory>
#include <string>
#include <utility>
#include <vector>

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_components/register_node_macro.hpp"
Expand Down Expand Up @@ -47,16 +48,15 @@ class Talker : public rclcpp::Node
topic_name_ = tmptopic;
}
auto publish_message =
[this]() -> void
{
msg_ = std::make_unique<std_msgs::msg::String>();
msg_->data = "Hello World: " + std::to_string(count_++);
RCLCPP_INFO(this->get_logger(), "Publishing: '%s'", msg_->data.c_str());

// Put the message into a queue to be processed by the middleware.
// This call is non-blocking.
pub_->publish(std::move(msg_));
};
[this]() -> void
{
msg_ = std::make_unique<std_msgs::msg::String>();
msg_->data = "Hello World: " + std::to_string(count_++);
RCLCPP_INFO(this->get_logger(), "Publishing: '%s'", msg_->data.c_str());
// Put the message into a queue to be processed by the middleware.
// This call is non-blocking.
pub_->publish(std::move(msg_));
};
// Create a publisher with a custom Quality of Service profile.
rclcpp::QoS qos(rclcpp::KeepLast(7));
pub_ = this->create_publisher<std_msgs::msg::String>(topic_name_, qos);
Expand Down
6 changes: 3 additions & 3 deletions demo_nodes_cpp/src/topics/talker_serialized_message.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include <iostream>
#include <memory>
#include <string>
#include <vector>

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_components/register_node_macro.hpp"
Expand Down Expand Up @@ -49,7 +50,6 @@ class SerializedMessageTalker : public rclcpp::Node
if (!tmptopic.empty()) {
topic_name_ = tmptopic;
}

serialized_msg_ = rmw_get_zero_initialized_serialized_message();
auto allocator = rcutils_get_default_allocator();
auto initial_capacity = 0u;
Expand Down Expand Up @@ -85,8 +85,8 @@ class SerializedMessageTalker : public rclcpp::Node
// necessary memory to hold all the data.
// This is specifically interesting to do here, because this means
// no dynamic memory allocation has to be done down the stack.
// If we don't allocate enough memory, the serialized message will be dynamically allocated
// before sending it to the wire.
// If we don't allocate enough memory, the serialized message will be
// dynamically allocated before sending it to the wire.
auto message_header_length = 8u;
auto message_payload_length = static_cast<size_t>(string_msg->data.size());
auto ret = rmw_serialized_message_resize(
Expand Down
2 changes: 1 addition & 1 deletion demo_nodes_cpp_native/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ ament_target_dependencies(talkerLib
"std_msgs"
"rclcpp_components"
"rmw_fastrtps_cpp")
rclcpp_components_register_node(talkerLib PLUGIN "demo_nodes_cpp_native::Talker" EXECUTABLE talker)
rclcpp_components_register_node(talkerLib FLUSH_BUFFER PLUGIN "demo_nodes_cpp_native::Talker" EXECUTABLE talker)

install(TARGETS
talkerLib
Expand Down
29 changes: 14 additions & 15 deletions image_tools/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,36 +13,35 @@ endif()

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_components REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(std_msgs REQUIRED)

find_package(OpenCV REQUIRED)

include_directories(include)

add_executable(cam2image
src/burger.cpp
add_library(imagetools SHARED
src/cam2image.cpp
src/showimage.cpp
src/options.cpp
)
ament_target_dependencies(cam2image
src/burger.cpp)
ament_target_dependencies(imagetools
"rclcpp"
"sensor_msgs"
"std_msgs"
"rclcpp_components"
"OpenCV")
rclcpp_components_register_node(imagetools FLUSH_BUFFER PLUGIN "image_tools::Cam2Image" EXECUTABLE cam2image)
rclcpp_components_register_node(imagetools FLUSH_BUFFER PLUGIN "image_tools::ShowImage" EXECUTABLE showimage)

add_executable(showimage
src/options.cpp
src/showimage.cpp
)
ament_target_dependencies(showimage
"rclcpp"
"sensor_msgs"
"std_msgs"
"OpenCV")
install(TARGETS
imagetools
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin)

install(TARGETS
cam2image
# cam2image
showimage
DESTINATION lib/${PROJECT_NAME})

Expand Down
2 changes: 1 addition & 1 deletion image_tools/include/image_tools/options.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ std::string get_command_option(
* \param[in] burger_mode If true, produce images of burgers rather than use a camera.
*/
bool parse_command_options(
int argc, char ** argv, size_t * depth,
std::vector<std::string> args, size_t * depth,
rmw_qos_reliability_policy_t * reliability_policy,
rmw_qos_history_policy_t * history_policy, bool * show_camera = nullptr, double * freq = nullptr,
size_t * width = nullptr, size_t * height = nullptr, bool * burger_mode = nullptr,
Expand Down
2 changes: 2 additions & 0 deletions image_tools/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@
<buildtool_depend>ament_cmake</buildtool_depend>
<build_depend>libopencv-dev</build_depend>
<build_depend>rclcpp</build_depend>
<build_depend>rclcpp_components</build_depend>
<build_depend>sensor_msgs</build_depend>
<build_depend>std_msgs</build_depend>

<exec_depend>libopencv-dev</exec_depend>
<exec_depend>rclcpp</exec_depend>
<exec_depend>rclcpp_components</exec_depend>
<exec_depend>sensor_msgs</exec_depend>
<exec_depend>std_msgs</exec_depend>

Expand Down
Loading

0 comments on commit 5890e65

Please sign in to comment.