mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-09-12 19:20:20 +08:00
[launch]Add frame_aggregate_mode param in launch
This commit is contained in:
@@ -590,5 +590,7 @@ class OBCameraNode {
|
||||
int depth_ae_roi_top_ = -1;
|
||||
int depth_ae_roi_right_ = -1;
|
||||
int depth_ae_roi_bottom_ = -1;
|
||||
|
||||
std::string frame_aggregate_mode_ = "ANY"; // # full_frame、color_frame、ANY or disable
|
||||
};
|
||||
} // namespace orbbec_camera
|
||||
|
||||
@@ -188,6 +188,8 @@ def generate_launch_description():
|
||||
DeclareLaunchArgument('config_file_path', default_value=''),
|
||||
DeclareLaunchArgument('enable_heartbeat', default_value='false'),
|
||||
DeclareLaunchArgument('enable_hardware_reset', default_value='false'),
|
||||
|
||||
DeclareLaunchArgument('frame_aggregate_mode', default_value='ANY'), # full_frame、color_frame、ANY or disable
|
||||
]
|
||||
|
||||
def get_params(context, args):
|
||||
|
||||
@@ -1167,6 +1167,8 @@ void OBCameraNode::getParameters() {
|
||||
long software_trigger_period = 33;
|
||||
setAndGetNodeParameter<long>(software_trigger_period, "software_trigger_period", 33);
|
||||
software_trigger_period_ = std::chrono::milliseconds(software_trigger_period);
|
||||
|
||||
setAndGetNodeParameter<std::string>(frame_aggregate_mode_, "frame_aggregate_mode", "ANY");
|
||||
}
|
||||
|
||||
void OBCameraNode::setupTopics() {
|
||||
@@ -1257,6 +1259,16 @@ void OBCameraNode::setupPipelineConfig() {
|
||||
pipeline_config_->enableStream(stream_profile_[stream_index]);
|
||||
}
|
||||
}
|
||||
|
||||
if (frame_aggregate_mode_ == "full_frame") {
|
||||
pipeline_config_->setFrameAggregateOutputMode(OB_FRAME_AGGREGATE_OUTPUT_FULL_FRAME_REQUIRE);
|
||||
} else if (frame_aggregate_mode_ == "color_frame") {
|
||||
pipeline_config_->setFrameAggregateOutputMode(OB_FRAME_AGGREGATE_OUTPUT_COLOR_FRAME_REQUIRE);
|
||||
} else if (frame_aggregate_mode_ == "disable") {
|
||||
pipeline_config_->setFrameAggregateOutputMode(OB_FRAME_AGGREGATE_OUTPUT_DISABLE);
|
||||
} else {
|
||||
pipeline_config_->setFrameAggregateOutputMode(OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION);
|
||||
}
|
||||
}
|
||||
|
||||
void OBCameraNode::setupCameraInfo() {
|
||||
|
||||
Reference in New Issue
Block a user