feat: add support for left and right color streams in camera control services

This commit is contained in:
slz
2026-01-13 17:23:08 +08:00
committed by ob-yalian
parent a631162745
commit ea701b9e4f
+30
View File
@@ -371,6 +371,8 @@ void OBCameraNode::setExposureCallback(const std::shared_ptr<SetInt32::Request>&
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, request->data); device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, request->data);
break; break;
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
case OB_STREAM_COLOR_LEFT:
case OB_STREAM_COLOR_RIGHT:
device_->setIntProperty(OB_PROP_COLOR_EXPOSURE_INT, request->data); device_->setIntProperty(OB_PROP_COLOR_EXPOSURE_INT, request->data);
break; break;
default: default:
@@ -407,6 +409,8 @@ void OBCameraNode::getGainCallback(const std::shared_ptr<GetInt32::Request>& req
response->data = device_->getIntProperty(OB_PROP_DEPTH_GAIN_INT); response->data = device_->getIntProperty(OB_PROP_DEPTH_GAIN_INT);
break; break;
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
case OB_STREAM_COLOR_LEFT:
case OB_STREAM_COLOR_RIGHT:
response->data = device_->getIntProperty(OB_PROP_COLOR_GAIN_INT); response->data = device_->getIntProperty(OB_PROP_COLOR_GAIN_INT);
break; break;
default: default:
@@ -442,6 +446,8 @@ void OBCameraNode::setGainCallback(const std::shared_ptr<SetInt32 ::Request>& re
prop_id = OB_PROP_DEPTH_GAIN_INT; prop_id = OB_PROP_DEPTH_GAIN_INT;
break; break;
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
case OB_STREAM_COLOR_LEFT:
case OB_STREAM_COLOR_RIGHT:
prop_id = OB_PROP_COLOR_GAIN_INT; prop_id = OB_PROP_COLOR_GAIN_INT;
break; break;
default: default:
@@ -517,6 +523,8 @@ void OBCameraNode::setAeRoiCallback(const std::shared_ptr<SetArrays ::Request>&
<< ", Top: " << config.y0_top << ", Bottom: " << config.y1_bottom << " ]"); << ", Top: " << config.y0_top << ", Bottom: " << config.y1_bottom << " ]");
break; break;
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
case OB_STREAM_COLOR_LEFT:
case OB_STREAM_COLOR_RIGHT:
config.x0_left = (static_cast<short int>(request->data_param[0]) < 0) config.x0_left = (static_cast<short int>(request->data_param[0]) < 0)
? 0 ? 0
: static_cast<short int>(request->data_param[0]); : static_cast<short int>(request->data_param[0]);
@@ -667,6 +675,8 @@ void OBCameraNode::setAutoExposureCallback(
prop_id = OB_PROP_DEPTH_AUTO_EXPOSURE_BOOL; prop_id = OB_PROP_DEPTH_AUTO_EXPOSURE_BOOL;
break; break;
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
case OB_STREAM_COLOR_LEFT:
case OB_STREAM_COLOR_RIGHT:
prop_id = OB_PROP_COLOR_AUTO_EXPOSURE_BOOL; prop_id = OB_PROP_COLOR_AUTO_EXPOSURE_BOOL;
break; break;
default: default:
@@ -813,6 +823,8 @@ void OBCameraNode::getExposureCallback(const std::shared_ptr<GetInt32::Request>&
response->data = device_->getIntProperty(OB_PROP_DEPTH_EXPOSURE_INT); response->data = device_->getIntProperty(OB_PROP_DEPTH_EXPOSURE_INT);
break; break;
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
case OB_STREAM_COLOR_LEFT:
case OB_STREAM_COLOR_RIGHT:
response->data = device_->getIntProperty(OB_PROP_COLOR_EXPOSURE_INT); response->data = device_->getIntProperty(OB_PROP_COLOR_EXPOSURE_INT);
break; break;
default: default:
@@ -900,6 +912,12 @@ void OBCameraNode::setMirrorCallback(const std::shared_ptr<SetBool::Request>& re
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
device_->setBoolProperty(OB_PROP_COLOR_MIRROR_BOOL, request->data); device_->setBoolProperty(OB_PROP_COLOR_MIRROR_BOOL, request->data);
break; break;
case OB_STREAM_COLOR_LEFT:
device_->setBoolProperty(OB_PROP_COLOR_LEFT_MIRROR_BOOL, request->data);
break;
case OB_STREAM_COLOR_RIGHT:
device_->setBoolProperty(OB_PROP_COLOR_RIGHT_MIRROR_BOOL, request->data);
break;
default: default:
RCLCPP_ERROR(logger_, " %s NOT a video stream", __FUNCTION__); RCLCPP_ERROR(logger_, " %s NOT a video stream", __FUNCTION__);
break; break;
@@ -939,6 +957,12 @@ void OBCameraNode::setFlipCallback(const std::shared_ptr<SetBool::Request>& requ
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
device_->setBoolProperty(OB_PROP_COLOR_FLIP_BOOL, request->data); device_->setBoolProperty(OB_PROP_COLOR_FLIP_BOOL, request->data);
break; break;
case OB_STREAM_COLOR_LEFT:
device_->setBoolProperty(OB_PROP_COLOR_LEFT_FLIP_BOOL, request->data);
break;
case OB_STREAM_COLOR_RIGHT:
device_->setBoolProperty(OB_PROP_COLOR_RIGHT_FLIP_BOOL, request->data);
break;
default: default:
RCLCPP_ERROR(logger_, " %s NOT a video stream", __FUNCTION__); RCLCPP_ERROR(logger_, " %s NOT a video stream", __FUNCTION__);
break; break;
@@ -978,6 +1002,12 @@ void OBCameraNode::setRotationCallback(const std::shared_ptr<SetInt32::Request>&
case OB_STREAM_COLOR: case OB_STREAM_COLOR:
device_->setIntProperty(OB_PROP_COLOR_ROTATE_INT, request->data); device_->setIntProperty(OB_PROP_COLOR_ROTATE_INT, request->data);
break; break;
case OB_STREAM_COLOR_LEFT:
device_->setIntProperty(OB_PROP_COLOR_LEFT_ROTATE_INT, request->data);
break;
case OB_STREAM_COLOR_RIGHT:
device_->setIntProperty(OB_PROP_COLOR_RIGHT_ROTATE_INT, request->data);
break;
default: default:
RCLCPP_ERROR(logger_, " %s NOT a video stream", __FUNCTION__); RCLCPP_ERROR(logger_, " %s NOT a video stream", __FUNCTION__);
break; break;