mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-09-14 20:10:19 +08:00
fixed enum openNI device
This commit is contained in:
@@ -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)"/>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user