feat: rename enable_sports_mode to ae_strategy and update related callbacks

This commit is contained in:
slz
2026-04-03 19:24:01 +08:00
parent 85cb7ed0ee
commit a531db7853
5 changed files with 21 additions and 19 deletions
@@ -411,8 +411,8 @@ class OBCameraNode {
void setAEReferenceStreamCallback(const std::shared_ptr<SetString::Request>& request,
std::shared_ptr<SetString::Response>& response);
void setSportsModeCallback(const std::shared_ptr<SetBool::Request>& request,
std::shared_ptr<SetBool::Response>& response);
void setAEStrategyCallback(const std::shared_ptr<SetString::Request>& request,
std::shared_ptr<SetString::Response>& response);
void setUserCalibParamsCallback(const std::shared_ptr<SetUserCalibParams::Request>& request,
std::shared_ptr<SetUserCalibParams::Response>& response);
@@ -621,7 +621,7 @@ class OBCameraNode {
rclcpp::Service<GetUserCalibParams>::SharedPtr get_user_calib_params_srv_;
rclcpp::Service<SetUserCalibParams>::SharedPtr set_user_calib_params_srv_;
rclcpp::Service<SetString>::SharedPtr set_ae_reference_stream_srv_;
rclcpp::Service<SetBool>::SharedPtr set_sports_mode_srv_;
rclcpp::Service<SetString>::SharedPtr set_ae_strategy_srv_;
bool enable_sync_output_accel_gyro_ = false;
bool publish_tf_ = false;
@@ -921,7 +921,7 @@ class OBCameraNode {
std::string intra_camera_sync_reference_ = "";
std::string ae_reference_stream_;
bool enable_sports_mode_;
std::string ae_strategy_;
int pid_ = 0;
};
} // namespace orbbec_camera
+1 -1
View File
@@ -109,7 +109,7 @@ def generate_launch_description():
DeclareLaunchArgument('cloud_frame_id', default_value=''),
DeclareLaunchArgument('connection_delay', default_value='10'),
DeclareLaunchArgument('ae_reference_stream', default_value='depth'), # depth or color
DeclareLaunchArgument('enable_sports_mode', default_value='false'),
DeclareLaunchArgument('ae_strategy', default_value='motion'), # default or motion
DeclareLaunchArgument('color_width', default_value='0'),
DeclareLaunchArgument('color_height', default_value='0'),
DeclareLaunchArgument('color_fps', default_value='0'),
+1 -1
View File
@@ -109,7 +109,7 @@ def generate_launch_description():
DeclareLaunchArgument('cloud_frame_id', default_value=''),
DeclareLaunchArgument('connection_delay', default_value='10'),
DeclareLaunchArgument('ae_reference_stream', default_value='depth'), # depth or color
DeclareLaunchArgument('enable_sports_mode', default_value='false'),
DeclareLaunchArgument('ae_strategy', default_value='motion'), # default or motion
DeclareLaunchArgument('color_width', default_value='0'),
DeclareLaunchArgument('color_height', default_value='0'),
DeclareLaunchArgument('color_fps', default_value='0'),
+3 -3
View File
@@ -1005,8 +1005,8 @@ void OBCameraNode::setupDevices() {
}
}
if (device_->isPropertySupported(OB_PROP_DEVICE_AE_STRATEGY_INT, OB_PERMISSION_WRITE)) {
device_->setIntProperty(OB_PROP_DEVICE_AE_STRATEGY_INT, (enable_sports_mode_ ? 0 : 1));
RCLCPP_INFO_STREAM(logger_, "Setting Sports Mode to " << (enable_sports_mode_ ? "ON" : "OFF"));
device_->setIntProperty(OB_PROP_DEVICE_AE_STRATEGY_INT, (ae_strategy_ == "motion" ? 1 : 0));
RCLCPP_INFO_STREAM(logger_, "Setting AE Strategy to " << ae_strategy_);
}
if ((ae_reference_stream_ == "depth" || ae_reference_stream_ == "color") &&
@@ -2308,7 +2308,7 @@ void OBCameraNode::getParameters() {
setAndGetNodeParameter<std::string>(intra_camera_sync_reference_, "intra_camera_sync_reference",
"Middle");
setAndGetNodeParameter<std::string>(ae_reference_stream_, "ae_reference_stream", "depth");
setAndGetNodeParameter<bool>(enable_sports_mode_, "enable_sports_mode", false);
setAndGetNodeParameter<std::string>(ae_strategy_, "ae_strategy", "motion");
RCLCPP_INFO_STREAM(logger_, "current time domain: " << time_domain_);
RCLCPP_INFO_STREAM(logger_, "hdr_index1_laser_control_ "
+12 -10
View File
@@ -287,10 +287,10 @@ void OBCameraNode::setupCameraCtrlServices() {
std::shared_ptr<SetString::Response> response) {
setAEReferenceStreamCallback(request, response);
});
set_sports_mode_srv_ = node_->create_service<SetBool>(
"set_sports_mode", [this](const std::shared_ptr<SetBool::Request> request,
std::shared_ptr<SetBool::Response> response) {
setSportsModeCallback(request, response);
set_ae_strategy_srv_ = node_->create_service<SetString>(
"set_ae_strategy", [this](const std::shared_ptr<SetString::Request> request,
std::shared_ptr<SetString::Response> response) {
setAEStrategyCallback(request, response);
});
set_streams_enable_srv_ = node_->create_service<SetBool>(
"set_streams_enable", [this](const std::shared_ptr<SetBool::Request> request,
@@ -1668,16 +1668,18 @@ void OBCameraNode::setAEReferenceStreamCallback(const std::shared_ptr<SetString:
response->message = "exception occurred";
}
}
void OBCameraNode::setSportsModeCallback(const std::shared_ptr<SetBool::Request>& request,
std::shared_ptr<SetBool::Response>& response) {
void OBCameraNode::setAEStrategyCallback(const std::shared_ptr<SetString::Request>& request,
std::shared_ptr<SetString::Response>& response) {
try {
if (device_->isPropertySupported(OB_PROP_DEVICE_AE_STRATEGY_INT, OB_PERMISSION_WRITE)) {
device_->setIntProperty(OB_PROP_DEVICE_AE_STRATEGY_INT, request->data ? 1 : 0);
if (device_->isPropertySupported(OB_PROP_DEVICE_AE_STRATEGY_INT, OB_PERMISSION_WRITE) &&
(request->data == "default" || request->data == "motion")) {
device_->setIntProperty(OB_PROP_DEVICE_AE_STRATEGY_INT, request->data == "motion" ? 1 : 0);
ae_strategy_ = request->data;
response->success = true;
response->message = "set sports mode success";
response->message = "set AE strategy success";
} else {
response->success = false;
response->message = "set sports mode failed";
response->message = "set AE strategy failed";
}
} catch (...) {
response->success = false;