add sync_signal_trigger_out param

This commit is contained in:
Joe Dong
2023-04-28 10:19:17 +08:00
parent aa3faffd01
commit e74c31c1ee
3 changed files with 5 additions and 0 deletions
@@ -382,6 +382,7 @@ class OBCameraNode {
int ir_trigger_signal_in_delay_ = 0; int ir_trigger_signal_in_delay_ = 0;
int rgb_trigger_signal_in_delay_ = 0; int rgb_trigger_signal_in_delay_ = 0;
int device_trigger_signal_out_delay_ = 0; int device_trigger_signal_out_delay_ = 0;
bool sync_signal_trigger_out_ = false;
std::string depth_precision_str_; std::string depth_precision_str_;
OB_DEPTH_PRECISION_LEVEL depth_precision_ = OB_PRECISION_0MM8; OB_DEPTH_PRECISION_LEVEL depth_precision_ = OB_PRECISION_0MM8;
// IMU // IMU
+2
View File
@@ -61,6 +61,7 @@
<arg name="ir_trigger_signal_in_delay" default="0"/> <arg name="ir_trigger_signal_in_delay" default="0"/>
<arg name="rgb_trigger_signal_in_delay" default="0"/> <arg name="rgb_trigger_signal_in_delay" default="0"/>
<arg name="device_trigger_signal_out_delay" default="0"/> <arg name="device_trigger_signal_out_delay" default="0"/>
<arg name="sync_signal_trigger_out" default="false"/>
<group> <group>
<push-ros-namespace namespace="$(var camera_name)"/> <push-ros-namespace namespace="$(var camera_name)"/>
<node name="camera" pkg="orbbec_camera" exec="orbbec_camera_node" output="screen"> <node name="camera" pkg="orbbec_camera" exec="orbbec_camera_node" output="screen">
@@ -124,6 +125,7 @@
<param name="ir_trigger_signal_in_delay" value="$(var ir_trigger_signal_in_delay)"/> <param name="ir_trigger_signal_in_delay" value="$(var ir_trigger_signal_in_delay)"/>
<param name="rgb_trigger_signal_in_delay" value="$(var rgb_trigger_signal_in_delay)"/> <param name="rgb_trigger_signal_in_delay" value="$(var rgb_trigger_signal_in_delay)"/>
<param name="device_trigger_signal_out_delay" value="$(var device_trigger_signal_out_delay)"/> <param name="device_trigger_signal_out_delay" value="$(var device_trigger_signal_out_delay)"/>
<param name="sync_signal_trigger_out" value="$(var sync_signal_trigger_out)"/>
<remap from="/$(var camera_name)/depth/color/points" to="/$(var camera_name)/depth_registered/points"/> <remap from="/$(var camera_name)/depth/color/points" to="/$(var camera_name)/depth_registered/points"/>
</node> </node>
</group> </group>
+2
View File
@@ -114,6 +114,7 @@ void OBCameraNode::setupDevices() {
sync_config.rgbTriggerSignalInDelay = rgb_trigger_signal_in_delay_; sync_config.rgbTriggerSignalInDelay = rgb_trigger_signal_in_delay_;
sync_config.deviceTriggerSignalOutDelay = device_trigger_signal_out_delay_; sync_config.deviceTriggerSignalOutDelay = device_trigger_signal_out_delay_;
device_->setSyncConfig(sync_config); device_->setSyncConfig(sync_config);
// TODO: add set signal trigger out mode
} }
if (info->pid() == GEMINI2_PID) { if (info->pid() == GEMINI2_PID) {
auto default_precision_level = device_->getIntProperty(OB_PROP_DEPTH_PRECISION_LEVEL_INT); auto default_precision_level = device_->getIntProperty(OB_PROP_DEPTH_PRECISION_LEVEL_INT);
@@ -393,6 +394,7 @@ void OBCameraNode::getParameters() {
setAndGetNodeParameter(ir_trigger_signal_in_delay_, "ir_trigger_signal_in_delay", 0); setAndGetNodeParameter(ir_trigger_signal_in_delay_, "ir_trigger_signal_in_delay", 0);
setAndGetNodeParameter(rgb_trigger_signal_in_delay_, "rgb_trigger_signal_in_delay", 0); setAndGetNodeParameter(rgb_trigger_signal_in_delay_, "rgb_trigger_signal_in_delay", 0);
setAndGetNodeParameter(device_trigger_signal_out_delay_, "device_trigger_signal_out_delay", 0); setAndGetNodeParameter(device_trigger_signal_out_delay_, "device_trigger_signal_out_delay", 0);
setAndGetNodeParameter(sync_signal_trigger_out_, "sync_signal_trigger_out", false);
setAndGetNodeParameter<std::string>(depth_precision_str_, "depth_precision", "0.8mm"); setAndGetNodeParameter<std::string>(depth_precision_str_, "depth_precision", "0.8mm");
std::transform(sync_mode_str_.begin(), sync_mode_str_.end(), sync_mode_str_.begin(), ::toupper); std::transform(sync_mode_str_.begin(), sync_mode_str_.end(), sync_mode_str_.begin(), ::toupper);
sync_mode_ = OBSyncModeFromString(sync_mode_str_); sync_mode_ = OBSyncModeFromString(sync_mode_str_);