From b775665850447ee1b0fba3b3627dba7dcb82808a Mon Sep 17 00:00:00 2001 From: slz Date: Wed, 17 Jun 2026 10:20:10 +0800 Subject: [PATCH] fix: require ldp switch and status for status service --- orbbec_camera/src/ros_service.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/orbbec_camera/src/ros_service.cpp b/orbbec_camera/src/ros_service.cpp index 31e0b72d..ab37d889 100644 --- a/orbbec_camera/src/ros_service.cpp +++ b/orbbec_camera/src/ros_service.cpp @@ -1299,7 +1299,14 @@ void OBCameraNode::getLdpStatusCallback(const std::shared_ptr& std::shared_ptr& response) { (void)request; try { - response->data = device_->getBoolProperty(OB_PROP_LDP_STATUS_BOOL); + if (!device_->isPropertySupported(OB_PROP_LDP_BOOL, OB_PERMISSION_READ) || + !device_->isPropertySupported(OB_PROP_LDP_STATUS_BOOL, OB_PERMISSION_READ)) { + response->message = "LDP property is not supported"; + response->success = false; + return; + } + response->data = device_->getBoolProperty(OB_PROP_LDP_BOOL) && + device_->getBoolProperty(OB_PROP_LDP_STATUS_BOOL); response->success = true; } catch (const ob::Error& e) { response->message = orbbec_camera::formatObErrorWithStatus(e);