add get_ldp_measure_distance

This commit is contained in:
Joe Dong
2024-07-10 19:57:17 +08:00
parent 2e7ec7b9c0
commit 49ba570897
2 changed files with 27 additions and 0 deletions
@@ -269,6 +269,9 @@ class OBCameraNode {
void getLdpStatusCallback(const std::shared_ptr<GetBool::Request>& request, void getLdpStatusCallback(const std::shared_ptr<GetBool::Request>& request,
std::shared_ptr<GetBool::Response>& response); std::shared_ptr<GetBool::Response>& response);
void getLdpMeasureDistanceCallback(const std::shared_ptr<GetInt32::Request>& request,
std::shared_ptr<GetInt32::Response>& response);
bool toggleSensor(const stream_index_pair& stream_index, bool enabled, std::string& msg); 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, void saveImageCallback(const std::shared_ptr<std_srvs::srv::Empty::Request>& request,
@@ -408,6 +411,7 @@ class OBCameraNode {
rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr set_floor_enable_srv_; rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr set_floor_enable_srv_;
rclcpp::Service<SetInt32>::SharedPtr set_fan_work_mode_srv_; rclcpp::Service<SetInt32>::SharedPtr set_fan_work_mode_srv_;
rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr toggle_sensors_srv_; rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr toggle_sensors_srv_;
rclcpp::Service<GetInt32>::SharedPtr get_ldp_measure_distance_srv_;
bool enable_sync_output_accel_gyro_ = false; bool enable_sync_output_accel_gyro_ = false;
bool publish_tf_ = false; bool publish_tf_ = false;
+23
View File
@@ -164,6 +164,11 @@ void OBCameraNode::setupCameraCtrlServices() {
std::shared_ptr<SetBool::Response> response) { std::shared_ptr<SetBool::Response> response) {
setIRLongExposureCallback(request, response); setIRLongExposureCallback(request, response);
}); });
get_ldp_measure_distance_srv_ = node_->create_service<GetInt32>(
"get_ldp_measure_distance", [this](const std::shared_ptr<GetInt32::Request> request,
std::shared_ptr<GetInt32::Response> response) {
getLdpMeasureDistanceCallback(request, response);
});
} }
void OBCameraNode::setExposureCallback(const std::shared_ptr<SetInt32::Request>& request, void OBCameraNode::setExposureCallback(const std::shared_ptr<SetInt32::Request>& request,
@@ -628,6 +633,24 @@ void OBCameraNode::getLdpStatusCallback(const std::shared_ptr<GetBool::Request>&
} }
} }
void OBCameraNode::getLdpMeasureDistanceCallback(const std::shared_ptr<GetInt32::Request>& request,
std::shared_ptr<GetInt32::Response>& response) {
(void)request;
try {
response->data = device_->getIntProperty(OB_PROP_LDP_MEASURE_DISTANCE_INT);
response->success = true;
} catch (const ob::Error& e) {
response->message = e.getMessage();
response->success = false;
} catch (const std::exception& e) {
response->message = e.what();
response->success = false;
} catch (...) {
response->message = "unknown error";
response->success = false;
}
}
void OBCameraNode::toggleSensorCallback(const std::shared_ptr<SetBool::Request>& request, void OBCameraNode::toggleSensorCallback(const std::shared_ptr<SetBool::Request>& request,
std::shared_ptr<SetBool::Response>& response, std::shared_ptr<SetBool::Response>& response,
const stream_index_pair& stream_index) { const stream_index_pair& stream_index) {