[service]add set_sync_interleaverlaser and set_sync_hosttime

This commit is contained in:
jj
2024-11-21 15:51:00 +08:00
parent 60fec1d8f8
commit 87463a6d1f
3 changed files with 65 additions and 2 deletions
@@ -293,6 +293,10 @@ class OBCameraNode {
std::shared_ptr<std_srvs::srv::SetBool::Response>& response);
void setRESETTimestampCallback(const std::shared_ptr<std_srvs::srv::SetBool::Request>& request,
std::shared_ptr<std_srvs::srv::SetBool::Response>& response);
void setSYNCInterleaveLaserCallback(const std::shared_ptr<SetInt32 ::Request>& request,
std::shared_ptr<SetInt32 ::Response>& response);
void setSYNCHostimeCallback(const std::shared_ptr<std_srvs::srv::SetBool::Request>& request,
std::shared_ptr<std_srvs::srv::SetBool::Response>& response);
bool toggleSensor(const stream_index_pair& stream_index, bool enabled, std::string& msg);
void saveImageCallback(const std::shared_ptr<std_srvs::srv::Empty::Request>& request,
@@ -359,6 +363,10 @@ class OBCameraNode {
void setupDepthPostProcessFilter();
// interleave AE
int init_interleave_hdr_param();
int init_interleave_laser_param();
private:
rclcpp::Node* node_ = nullptr;
std::shared_ptr<ob::Device> device_ = nullptr;
@@ -439,6 +447,8 @@ class OBCameraNode {
rclcpp::Service<GetInt32>::SharedPtr get_ldp_measure_distance_srv_;
rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr set_sync_immediately_srv_;
rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr set_reset_timestamp_srv_;
rclcpp::Service<SetInt32>::SharedPtr set_interleaver_laser_sync_srv_;
rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr set_sync_host_time_srv_;
bool enable_sync_output_accel_gyro_ = false;
bool publish_tf_ = false;
@@ -602,5 +612,11 @@ class OBCameraNode {
bool use_intra_process_ = false;
std::string cloud_frame_id_;
std::vector<std::shared_ptr<ob::Filter>> filter_list_;
// interleave AE
std::string interleave_ae_mode_ = "hdr"; // hdr or laser
bool interleave_frame_enable_ = false;
bool interleave_skip_enable_ = false;
int interleave_skip_index_ = 1;
};
} // namespace orbbec_camera