test_wrapper.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013, Willow Garage, Inc.
3  * Copyright (c) 2016, Orbbec Ltd.
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  * * Neither the name of the Willow Garage, Inc. nor the names of its
15  * contributors may be used to endorse or promote products derived from
16  * this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  *
30  * Author: Tim Liu (liuhua@orbbec.com)
31  */
32 
35 
36 #include <boost/date_time/posix_time/posix_time.hpp>
37 #include <boost/thread/thread.hpp>
38 #include <boost/foreach.hpp>
39 
40 #include <iostream>
41 
42 using namespace std;
43 using namespace astra_wrapper;
44 
45 int ir_counter_ = 0;
48 
49 void IRCallback(sensor_msgs::ImagePtr image)
50 {
51  ++ir_counter_;
52 }
53 
54 void ColorCallback(sensor_msgs::ImagePtr image)
55 {
57 }
58 
59 void DepthCallback(sensor_msgs::ImagePtr image)
60 {
62 }
63 
64 int main()
65 {
66  AstraDeviceManager device_manager;
67 
68  std::cout << device_manager;
69 
70  boost::shared_ptr<std::vector<std::string> > device_uris = device_manager.getConnectedDeviceURIs();
71 
72  BOOST_FOREACH(const std::string& uri, *device_uris)
73  {
74  boost::shared_ptr<AstraDevice> device = device_manager.getDevice(uri);
75 
76  std::cout << *device;
77 
78  device->setIRFrameCallback(boost::bind(&IRCallback, _1));
79  device->setColorFrameCallback(boost::bind(&ColorCallback, _1));
80  device->setDepthFrameCallback(boost::bind(&DepthCallback, _1));
81 
82  ir_counter_ = 0;
83  color_counter_ = 0;
84  depth_counter_ = 0;
85 
86  device->startColorStream();
87  device->startDepthStream();
88 
89  boost::this_thread::sleep(boost::posix_time::milliseconds(1000));
90 
91  device->stopAllStreams();
92 
93  std::cout<<std::endl;
94 
95  std::cout<<"Number of called to IRCallback: "<< ir_counter_ << std::endl;
96  std::cout<<"Number of called to ColorCallback: "<< color_counter_ << std::endl;
97  std::cout<<"Number of called to DepthCallback: "<< depth_counter_ << std::endl;
98  }
99 
100 
101  return 0;
102 }
int main()
void IRCallback(sensor_msgs::ImagePtr image)
void DepthCallback(sensor_msgs::ImagePtr image)
int color_counter_
int depth_counter_
void ColorCallback(sensor_msgs::ImagePtr image)
int ir_counter_


astra_camera
Author(s): Tim Liu
autogenerated on Wed Dec 16 2020 03:54:34