feat: support multiple ROS 2 distributions

This commit is contained in:
slz
2026-07-28 21:06:41 +08:00
parent dc4bb4484a
commit 10a40ce314
25 changed files with 554 additions and 104 deletions
@@ -139,9 +139,9 @@ class CameraExampleNode : public rclcpp::Node {
"/camera/device_status", 10,
std::bind(&CameraExampleNode::deviceStatusCallback, this, std::placeholders::_1));
while (rclcpp::ok()) {
rclcpp::spin_some(shared_from_this());
}
rclcpp::executors::SingleThreadedExecutor executor;
executor.add_node(shared_from_this());
executor.spin();
}
// Feature 7: Set Color AE ROI
@@ -1,8 +1,17 @@
#include <rclcpp/rclcpp.hpp>
#include <sensor_msgs/msg/image.hpp>
#if __has_include(<message_filters/subscriber.hpp>)
#include <message_filters/subscriber.hpp>
#include <message_filters/sync_policies/approximate_time.hpp>
#include <message_filters/synchronizer.hpp>
#include <rclcpp/rclcpp.hpp>
#include <sensor_msgs/msg/image.hpp>
#elif __has_include(<message_filters/subscriber.h>)
#include <message_filters/subscriber.h>
#include <message_filters/sync_policies/approximate_time.h>
#include <message_filters/synchronizer.h>
#else
#error "No compatible message_filters headers found"
#endif
#if __has_include(<cv_bridge/cv_bridge.hpp>)
#include <cv_bridge/cv_bridge.hpp>
@@ -79,7 +88,7 @@ class ImageSyncNode : public rclcpp::Node {
rclcpp::QoS qos{rclcpp::KeepLast(queue_size_)};
qos.reliable();
#ifdef message_filters_QoS
#ifdef ORBBEC_MESSAGE_FILTERS_USES_RCLCPP_QOS
const rclcpp::QoS qos_prof = qos;
#else
const rmw_qos_profile_t qos_prof = qos.get_rmw_qos_profile();