fixed enum openNI device

This commit is contained in:
Joe Dong
2023-02-15 15:05:47 +08:00
parent dbaf8ba265
commit 9b79d6696b
2 changed files with 19 additions and 6 deletions
+5 -5
View File
@@ -6,17 +6,17 @@
<!-- stereo_s_u3, astrapro, astra -->
<arg name="camera1_prefix" default="01"/>
<arg name="camera2_prefix" default="02"/>
<arg name="camera1_serila_number" default="ADA611300CE"/>
<arg name="camera2_serila_number" default="sn123456789"/>
<arg name="camera1_serila_number" default="ADAX91301LB"/>
<arg name="camera2_serila_number" default="'18011820122'"/>
<arg name="device_num" default="2"/>
<node name="camera" pkg="orbbec_camera" type="ob_cleanup_shm_node" output="screen"/>
<include file="$(find-pkg-share orbbec_camera)/launch/$(arg 3d_sensor).launch.xml">
<node name="camera" pkg="orbbec_camera" exec="ob_cleanup_shm_node" output="screen"/>
<include file="$(find-pkg-share orbbec_camera)/launch/$(var 3d_sensor).launch.xml">
<arg name="camera_name" value="$(var camera_name)_$(var camera1_prefix)"/>
<arg name="serial_number" value="$(var camera1_serila_number)"/>
<arg name="device_num" value="$(var device_num)"/>
</include>
<include file="$(ind-pkg-share orbbec_camera)/launch/$(var 3d_sensor).launch.xml">
<include file="$(find-pkg-share orbbec_camera)/launch/$(var 3d_sensor).launch.xml">
<arg name="camera_name" value="$(var camera_name)_$(var camera2_prefix)"/>
<arg name="serial_number" value="$(var camera2_serila_number)"/>
<arg name="device_num" value="$(var device_num)"/>
+14 -1
View File
@@ -191,6 +191,19 @@ void OBCameraNodeFactory::startDevice(const std::shared_ptr<ob::DeviceList> &lis
}
try {
auto device = list->getDeviceBySN(serial_number_.c_str());
if (device == nullptr) {
for (size_t i = 0; i < list->deviceCount(); i++) {
auto dev = list->getDevice(i);
if (dev != nullptr) {
std::string sn = dev->getDeviceInfo()->serialNumber();
RCLCPP_INFO_STREAM(logger_, "Device serial number: " << sn);
if (sn == serial_number_ || lower_sn == sn) {
device = dev;
break;
}
}
}
}
device_ = device;
} catch (ob::Error &e) {
RCLCPP_INFO_STREAM(logger_, "Failed to get device info " << e.getMessage());
@@ -201,7 +214,7 @@ void OBCameraNodeFactory::startDevice(const std::shared_ptr<ob::DeviceList> &lis
}
if (device_ == nullptr) {
RCLCPP_WARN(logger_, "Device with serial number %s not found", serial_number_.c_str());
// RCLCPP_WARN(logger_, "Device with serial number %s not found", serial_number_.c_str());
device_connected_ = false;
return;
} else {