diff --git a/orbbec_camera/src/ros_service.cpp b/orbbec_camera/src/ros_service.cpp index 77e9dd76..7daf3a8f 100644 --- a/orbbec_camera/src/ros_service.cpp +++ b/orbbec_camera/src/ros_service.cpp @@ -493,6 +493,20 @@ void OBCameraNode::setAeRoiCallback(const std::shared_ptr& std::shared_ptr& response, const stream_index_pair& stream_index) { auto stream = stream_index.first; + if (device_->getDeviceInfo()->getPid() == GEMINI_305_PID && + (stream != OB_STREAM_COLOR && ae_mode_ == "colorbased")) { + response->success = false; + response->message = + "AE MODE is colorbased, other sensors setting is not supported on Gemini305"; + return; + } + if (device_->getDeviceInfo()->getPid() == GEMINI_305_PID && + (stream != OB_STREAM_DEPTH && ae_mode_ == "depthbased")) { + response->success = false; + response->message = + "AE MODE is depthbased, other sensors sensor setting is not supported on Gemini305"; + return; + } auto config = OBRegionOfInterest(); uint32_t data_size = sizeof(config); try {