Skip to content

Commit cf40191

Browse files
committed
Merge pull request OpenNI#34 from Intermodalics/feature/get_serial_service
added get_serial service
2 parents 0ede5dd + fe16af3 commit cf40191

5 files changed

Lines changed: 23 additions & 3 deletions

File tree

CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 2.8.3)
22
project(openni2_camera)
33

4-
find_package(catkin REQUIRED camera_info_manager dynamic_reconfigure image_transport nodelet sensor_msgs roscpp)
4+
find_package(catkin REQUIRED camera_info_manager dynamic_reconfigure image_transport nodelet sensor_msgs roscpp message_generation)
55

66
find_package(Boost REQUIRED COMPONENTS system thread)
77

@@ -13,11 +13,14 @@ if (NOT PC_OPENNI2_FOUND)
1313
endif()
1414

1515
generate_dynamic_reconfigure_options(cfg/OpenNI2.cfg)
16+
add_service_files(FILES
17+
GetSerial.srv)
18+
generate_messages()
1619

1720
catkin_package(
1821
INCLUDE_DIRS include
1922
LIBRARIES openni2_wrapper
20-
CATKIN_DEPENDS camera_info_manager dynamic_reconfigure image_transport nodelet sensor_msgs roscpp
23+
CATKIN_DEPENDS camera_info_manager dynamic_reconfigure image_transport nodelet sensor_msgs roscpp message_runtime
2124
DEPENDS libopenni2
2225
)
2326

@@ -60,7 +63,7 @@ add_executable(openni2_camera_node
6063
ros/openni2_camera_node.cpp
6164
)
6265
target_link_libraries(openni2_camera_node openni2_driver_lib ${catkin_LIBRARIES} ${Boost_LIBRARIES} )
63-
add_dependencies(openni2_camera_node ${PROJECT_NAME}_gencfg)
66+
add_dependencies(openni2_camera_node ${PROJECT_NAME}_gencfg ${PROJECT_NAME}_generate_messages_cpp)
6467

6568
add_executable(list_devices
6669
src/list_devices.cpp

include/openni2_camera/openni2_driver.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
#include "openni2_camera/openni2_device_manager.h"
5252
#include "openni2_camera/openni2_device.h"
5353
#include "openni2_camera/openni2_video_mode.h"
54+
#include "openni2_camera/GetSerial.h"
5455

5556
#include <ros/ros.h>
5657

@@ -88,6 +89,8 @@ class OpenNI2Driver
8889
void depthConnectCb();
8990
void irConnectCb();
9091

92+
bool getSerialCb(openni2_camera::GetSerialRequest& req, openni2_camera::GetSerialResponse& res);
93+
9194
void configCb(Config &config, uint32_t level);
9295

9396
void applyConfigToOpenNIDevice();
@@ -109,6 +112,9 @@ class OpenNI2Driver
109112

110113
std::string device_id_;
111114

115+
/** \brief get_serial server*/
116+
ros::ServiceServer get_serial_server;
117+
112118
/** \brief reconfigure server*/
113119
boost::shared_ptr<ReconfigureServer> reconfigure_server_;
114120
bool config_init_;

package.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<build_depend>roscpp</build_depend>
2020
<build_depend>dynamic_reconfigure</build_depend>
2121
<build_depend>image_transport</build_depend>
22+
<build_depend>message_generation</build_depend>
2223

2324
<run_depend>libopenni2-dev</run_depend>
2425
<run_depend>camera_info_manager</run_depend>
@@ -27,6 +28,7 @@
2728
<run_depend>sensor_msgs</run_depend>
2829
<run_depend>roscpp</run_depend>
2930
<run_depend>image_transport</run_depend>
31+
<run_depend>message_runtime</run_depend>
3032

3133
<export>
3234
<nodelet plugin="${prefix}/openni2_nodelets.xml"/>

src/openni2_driver.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,13 @@ void OpenNI2Driver::advertiseROSTopics()
139139
color_info_manager_ = boost::make_shared<camera_info_manager::CameraInfoManager>(color_nh, color_name, color_info_url_);
140140
ir_info_manager_ = boost::make_shared<camera_info_manager::CameraInfoManager>(ir_nh, ir_name, ir_info_url_);
141141

142+
get_serial_server = nh_.advertiseService("get_serial", &OpenNI2Driver::getSerialCb,this);
143+
144+
}
145+
146+
bool OpenNI2Driver::getSerialCb(openni2_camera::GetSerialRequest& req, openni2_camera::GetSerialResponse& res) {
147+
res.serial = device_manager_->getSerial(device_->getUri());
148+
return true;
142149
}
143150

144151
void OpenNI2Driver::configCb(Config &config, uint32_t level)

srv/GetSerial.srv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
string serial

0 commit comments

Comments
 (0)