File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11cmake_minimum_required (VERSION 2.8.3 )
22project (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
66find_package (Boost REQUIRED COMPONENTS system thread )
77
@@ -13,11 +13,14 @@ if (NOT PC_OPENNI2_FOUND)
1313endif ()
1414
1515generate_dynamic_reconfigure_options (cfg/OpenNI2.cfg )
16+ add_service_files (FILES
17+ GetSerial.srv )
18+ generate_messages ()
1619
1720catkin_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)
6265target_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
6568add_executable (list_devices
6669 src/list_devices.cpp
Original file line number Diff line number Diff line change 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_;
Original file line number Diff line number Diff line change 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 >
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" />
Original file line number Diff line number Diff 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
144151void OpenNI2Driver::configCb (Config &config, uint32_t level)
Original file line number Diff line number Diff line change 1+ ---
2+ string serial
You can’t perform that action at this time.
0 commit comments