mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-07 21:37:46 +08:00
Add save camera parameter services
This commit is contained in:
@@ -58,6 +58,8 @@
|
||||
#include "orbbec_camera_msgs/srv/set_string.hpp"
|
||||
#include "orbbec_camera_msgs/srv/set_filter.hpp"
|
||||
#include "orbbec_camera_msgs/srv/set_arrays.hpp"
|
||||
#include "orbbec_camera_msgs/srv/get_camera_params.hpp"
|
||||
#include "orbbec_camera_msgs/srv/set_camera_params.hpp"
|
||||
#include "orbbec_camera/constants.h"
|
||||
#include "orbbec_camera/dynamic_params.h"
|
||||
#include "orbbec_camera/d2c_viewer.h"
|
||||
@@ -113,6 +115,8 @@ using SetBool = std_srvs::srv::SetBool;
|
||||
using GetBool = orbbec_camera_msgs::srv::GetBool;
|
||||
using SetFilter = orbbec_camera_msgs::srv::SetFilter;
|
||||
using SetArrays = orbbec_camera_msgs::srv::SetArrays;
|
||||
using SetCameraParams = orbbec_camera_msgs::srv::SetCameraParams;
|
||||
using GetCameraParams = orbbec_camera_msgs::srv::GetCameraParams;
|
||||
|
||||
typedef std::pair<ob_stream_type, int> stream_index_pair;
|
||||
|
||||
@@ -369,11 +373,21 @@ class OBCameraNode {
|
||||
void switchIRCameraCallback(const std::shared_ptr<SetString::Request>& request,
|
||||
std::shared_ptr<SetString::Response>& response);
|
||||
|
||||
void setWriteCustomerData(const std::shared_ptr<SetString::Request>& request,
|
||||
std::shared_ptr<SetString::Response>& response);
|
||||
bool writeCustomerData(const std::string &data);
|
||||
|
||||
void setReadCustomerData(const std::shared_ptr<SetString::Request>& request,
|
||||
std::shared_ptr<SetString::Response>& response);
|
||||
bool readCustomerData(std::string &out_data);
|
||||
|
||||
void writeCustomerDataCallback(const std::shared_ptr<SetString::Request>& request,
|
||||
std::shared_ptr<SetString::Response>& response);
|
||||
|
||||
void readCustomerDataCallback(const std::shared_ptr<GetString::Request>& request,
|
||||
std::shared_ptr<GetString::Response>& response);
|
||||
|
||||
void getCameraParamsCallback(const std::shared_ptr<GetCameraParams::Request>& request,
|
||||
std::shared_ptr<GetCameraParams::Response>& response);
|
||||
|
||||
void setCameraParamsCallback(const std::shared_ptr<SetCameraParams::Request>& request,
|
||||
std::shared_ptr<SetCameraParams::Response>& response);
|
||||
|
||||
void setIRLongExposureCallback(const std::shared_ptr<std_srvs::srv::SetBool::Request>& request,
|
||||
std::shared_ptr<std_srvs::srv::SetBool::Response>& response);
|
||||
@@ -449,7 +463,10 @@ class OBCameraNode {
|
||||
|
||||
void setDisparitySearchOffset();
|
||||
|
||||
bool isWriteCustomerDataSuccess() const;
|
||||
|
||||
private:
|
||||
std::atomic_bool write_customer_data_success_{false};
|
||||
rclcpp::Node* node_ = nullptr;
|
||||
std::shared_ptr<ob::Device> device_ = nullptr;
|
||||
std::shared_ptr<Parameters> parameters_ = nullptr;
|
||||
@@ -520,8 +537,8 @@ class OBCameraNode {
|
||||
rclcpp::Service<SetBool>::SharedPtr set_auto_white_balance_srv_;
|
||||
rclcpp::Service<GetString>::SharedPtr get_sdk_version_srv_;
|
||||
rclcpp::Service<SetString>::SharedPtr switch_ir_camera_srv_;
|
||||
rclcpp::Service<SetString>::SharedPtr set_write_customerdata_srv_;
|
||||
rclcpp::Service<SetString>::SharedPtr set_read_customerdata_srv_;
|
||||
rclcpp::Service<SetString>::SharedPtr write_customerdata_srv_;
|
||||
rclcpp::Service<GetString>::SharedPtr read_customerdata_srv_;
|
||||
rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr set_ir_long_exposure_srv_;
|
||||
std::map<stream_index_pair, rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr>
|
||||
set_auto_exposure_srv_;
|
||||
@@ -543,6 +560,8 @@ class OBCameraNode {
|
||||
rclcpp::Service<SetFilter>::SharedPtr set_filter_srv_;
|
||||
rclcpp::Service<orbbec_camera_msgs::srv::GetBool>::SharedPtr get_streams_enable_srv_;
|
||||
rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr set_streams_enable_srv_;
|
||||
rclcpp::Service<GetCameraParams>::SharedPtr get_camera_params_srv_;
|
||||
rclcpp::Service<SetCameraParams>::SharedPtr set_camera_params_srv_;
|
||||
|
||||
bool enable_sync_output_accel_gyro_ = false;
|
||||
bool publish_tf_ = false;
|
||||
|
||||
@@ -27,6 +27,11 @@
|
||||
#include "magic_enum/magic_enum.hpp"
|
||||
#include <sensor_msgs/msg/point_cloud2.hpp>
|
||||
#include <opencv2/opencv.hpp>
|
||||
#include <openssl/evp.h>
|
||||
#include <sstream>
|
||||
#include <iomanip>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
|
||||
namespace orbbec_camera {
|
||||
inline void LogFatal(const char* file, int line, const std::string& message) {
|
||||
@@ -194,4 +199,6 @@ cv::Mat undistortImage(const cv::Mat& image, const OBCameraIntrinsic& intrinsic,
|
||||
const OBCameraDistortion& distortion);
|
||||
|
||||
std::string getDistortionModels(OBCameraDistortion distortion);
|
||||
|
||||
std::string calcMD5(const std::string &data);
|
||||
} // namespace orbbec_camera
|
||||
|
||||
Reference in New Issue
Block a user