mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-10 22:49:51 +08:00
add sync_signal_trigger_out param
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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_);
|
||||||
|
|||||||
Reference in New Issue
Block a user