fixed HUB hot plug bug

This commit is contained in:
Joe Dong
2023-07-13 17:15:48 +08:00
parent b7673beb62
commit 66774bac3e
3 changed files with 38 additions and 12 deletions
@@ -72,6 +72,8 @@ class OBCameraNodeDriver : public rclcpp::Node {
void syncTime();
void resetDevice();
private:
std::string config_path_;
std::unique_ptr<ob::Context> ctx_ = nullptr;
@@ -92,5 +94,9 @@ class OBCameraNodeDriver : public rclcpp::Node {
int num_devices_connected_ = 0;
rclcpp::TimerBase::SharedPtr check_connect_timer_ = nullptr;
std::shared_ptr<std::thread> sync_time_thread_ = nullptr;
std::shared_ptr<std::thread> reset_device_thread_ = nullptr;
std::mutex reset_device_mutex_;
std::condition_variable reset_device_cond_;
std::atomic_bool reset_device_flag_{false};
};
} // namespace orbbec_camera