mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-11 15:09:48 +08:00
Using hardware timestamp when not OpenNI device
This commit is contained in:
@@ -137,9 +137,8 @@ class OBCameraNode {
|
|||||||
void clean();
|
void clean();
|
||||||
|
|
||||||
void startStreams();
|
void startStreams();
|
||||||
|
|
||||||
void startIMU();
|
|
||||||
|
|
||||||
|
void startIMU();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct IMUData {
|
struct IMUData {
|
||||||
@@ -445,7 +444,7 @@ class OBCameraNode {
|
|||||||
uint8_t* rgb_buffer_ = nullptr;
|
uint8_t* rgb_buffer_ = nullptr;
|
||||||
bool is_color_frame_decoded_ = false;
|
bool is_color_frame_decoded_ = false;
|
||||||
std::mutex device_lock_;
|
std::mutex device_lock_;
|
||||||
//For color
|
// For color
|
||||||
std::queue<std::shared_ptr<ob::FrameSet>> colorFrameQueue_;
|
std::queue<std::shared_ptr<ob::FrameSet>> colorFrameQueue_;
|
||||||
std::shared_ptr<std::thread> colorFrameThread_ = nullptr;
|
std::shared_ptr<std::thread> colorFrameThread_ = nullptr;
|
||||||
std::mutex colorFrameMtx_;
|
std::mutex colorFrameMtx_;
|
||||||
@@ -454,5 +453,6 @@ class OBCameraNode {
|
|||||||
bool ordered_pc_ = false;
|
bool ordered_pc_ = false;
|
||||||
bool use_hardware_time_ = false;
|
bool use_hardware_time_ = false;
|
||||||
bool enable_depth_scale_ = true;
|
bool enable_depth_scale_ = true;
|
||||||
|
bool is_openni_device_ = false;
|
||||||
};
|
};
|
||||||
} // namespace orbbec_camera
|
} // namespace orbbec_camera
|
||||||
|
|||||||
@@ -606,6 +606,14 @@ void OBCameraNode::getParameters() {
|
|||||||
setAndGetNodeParameter<int>(max_save_images_count_, "max_save_images_count", 10);
|
setAndGetNodeParameter<int>(max_save_images_count_, "max_save_images_count", 10);
|
||||||
setAndGetNodeParameter<bool>(use_hardware_time_, "use_hardware_time", false);
|
setAndGetNodeParameter<bool>(use_hardware_time_, "use_hardware_time", false);
|
||||||
setAndGetNodeParameter<bool>(enable_depth_scale_, "enable_depth_scale", true);
|
setAndGetNodeParameter<bool>(enable_depth_scale_, "enable_depth_scale", true);
|
||||||
|
auto info = device_->getDeviceInfo();
|
||||||
|
is_openni_device_ = isOpenNIDevice(info->pid());
|
||||||
|
if (is_openni_device_) {
|
||||||
|
RCLCPP_INFO_STREAM(logger_, "OpenNI device detected.");
|
||||||
|
use_hardware_time_ = false;
|
||||||
|
}else {
|
||||||
|
use_hardware_time_ = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OBCameraNode::setupTopics() {
|
void OBCameraNode::setupTopics() {
|
||||||
|
|||||||
Reference in New Issue
Block a user