driver.h
Go to the documentation of this file.
1 // Copyright (C) 2012 Austin Robot Technology, Jack O'Quin
2 // All rights reserved.
3 //
4 // Software License Agreement (BSD License 2.0)
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions
8 // are met:
9 //
10 // * Redistributions of source code must retain the above copyright
11 // notice, this list of conditions and the following disclaimer.
12 // * Redistributions in binary form must reproduce the above
13 // copyright notice, this list of conditions and the following
14 // disclaimer in the documentation and/or other materials provided
15 // with the distribution.
16 // * Neither the name of {copyright_holder} nor the names of its
17 // contributors may be used to endorse or promote products derived
18 // from this software without specific prior written permission.
19 //
20 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24 // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 // POSSIBILITY OF SUCH DAMAGE.
32 
33 #ifndef VELODYNE_DRIVER_DRIVER_H
34 #define VELODYNE_DRIVER_DRIVER_H
35 
36 #include <string>
37 #include <ros/ros.h>
40 #include <dynamic_reconfigure/server.h>
41 
42 #include <velodyne_driver/input.h>
43 #include <velodyne_driver/VelodyneNodeConfig.h>
44 
45 namespace velodyne_driver
46 {
47 
49 {
50 public:
52  ros::NodeHandle private_nh);
54 
55  bool poll(void);
56 
57 private:
58  // Callback for dynamic reconfigure
59  void callback(velodyne_driver::VelodyneNodeConfig &config,
60  uint32_t level);
61  // Callback for diagnostics update for lost communication with vlp
62  void diagTimerCallback(const ros::TimerEvent&event);
63 
64  // Pointer to dynamic reconfigure service srv_
65  boost::shared_ptr<dynamic_reconfigure::Server<velodyne_driver::
66  VelodyneNodeConfig> > srv_;
67 
68  // configuration parameters
69  struct
70  {
71  std::string frame_id; // tf frame ID
72  std::string model; // device model name
73  int npackets; // number of packets to collect
74  double rpm; // device rotation rate (RPMs)
75  int cut_angle; // cutting angle in 1/100°
76  double time_offset; // time in seconds added to each velodyne time stamp
77  bool enabled; // polling is enabled
78  }
79  config_;
80 
84 
85  /* diagnostics updater */
91 };
92 
93 } // namespace velodyne_driver
94 
95 #endif // VELODYNE_DRIVER_DRIVER_H
diagnostic_updater::Updater diagnostics_
Definition: driver.h:87
void diagTimerCallback(const ros::TimerEvent &event)
Definition: driver.cc:278
boost::shared_ptr< Input > input_
Definition: driver.h:81
VelodyneDriver(ros::NodeHandle node, ros::NodeHandle private_nh)
Definition: driver.cc:50
boost::shared_ptr< dynamic_reconfigure::Server< velodyne_driver::VelodyneNodeConfig > > srv_
Definition: driver.h:66
void callback(velodyne_driver::VelodyneNodeConfig &config, uint32_t level)
Definition: driver.cc:264
ros::Publisher output_
Definition: driver.h:82
struct velodyne_driver::VelodyneDriver::@0 config_
boost::shared_ptr< diagnostic_updater::TopicDiagnostic > diag_topic_
Definition: driver.h:90


velodyne_driver
Author(s): Jack O'Quin, Patrick Beeson, Michael Quinlan, Yaxin Liu
autogenerated on Thu Jul 4 2019 19:09:28