sensor.h
Go to the documentation of this file.
1 
6 #ifndef SENSOR_H
7 #define SENSOR_H
8 
9 #include <dynamic_reconfigure/server.h>
10 #include <ros/ros.h>
11 #include <boost/thread/recursive_mutex.hpp>
12 
13 #include <toposens_driver/TsDriverConfig.h>
14 #include <toposens_driver/serial.h>
15 #include <toposens_msgs/TsScan.h>
16 
17 namespace toposens_driver
18 {
20 static const char kScansTopic[] = "ts_scans";
22 static const int kQueueSize = 100;
23 
31 class Sensor
32 {
33 public:
40  enum ScanMode
41  {
45  };
46 
51  Sensor(ros::NodeHandle nh, ros::NodeHandle private_nh);
52 
62  Sensor(ros::NodeHandle nh, ros::NodeHandle private_nh, std::string port, std::string frame_id);
63 
64  ~Sensor() {}
65 
69  void setMode(ScanMode scan_mode);
70 
76  bool poll(void);
77 
79  void shutdown(void);
80 
81 private:
84  typedef dynamic_reconfigure::Server<TsDriverConfig> Cfg;
85 
89  void _init(void);
90 
98  void _reconfig(TsDriverConfig &cfg, uint32_t level);
99 
104  void _parse(const std::string &frame);
105 
117  bool _evaluateAck(Command &cmd, const std::string &frame);
118 
135  Command *_parseAck(const std::string &data);
136 
141  void _updateConfig(TsParam param, int value);
142 
147 
150 
157  float _toNum(auto &i);
158 
159  std::string _frame_id;
160  TsDriverConfig _cfg;
161  std::unique_ptr<Cfg> _srv;
162  boost::recursive_mutex mutex;
165  std::unique_ptr<Serial> _serial;
166  std::stringstream _buffer;
168  toposens_msgs::TsScan _scan;
169 };
170 
171 } // namespace toposens_driver
172 
173 #endif
toposens_msgs::TsScan _scan
Definition: sensor.h:168
void _reconfig(TsDriverConfig &cfg, uint32_t level)
Definition: sensor.cpp:180
std::string _frame_id
Definition: sensor.h:159
TsDriverConfig _cfg
Definition: sensor.h:160
Converts raw sensor data to ROS friendly message structures.
Definition: sensor.h:31
void _synchronizeParameterValues()
Definition: sensor.cpp:409
std::stringstream _buffer
Definition: sensor.h:166
Command * _parseAck(const std::string &data)
Definition: sensor.cpp:335
Sensor(ros::NodeHandle nh, ros::NodeHandle private_nh)
Definition: sensor.cpp:13
static const int kQueueSize
Definition: sensor.h:22
void _displayFirmwareVersion()
Definition: sensor.cpp:70
bool _evaluateAck(Command &cmd, const std::string &frame)
Definition: sensor.cpp:349
ros::Publisher _pub
Definition: sensor.h:164
float _toNum(auto &i)
Definition: sensor.cpp:446
std::unique_ptr< Cfg > _srv
Definition: sensor.h:161
boost::recursive_mutex mutex
Definition: sensor.h:162
static const char kScansTopic[]
Definition: sensor.h:20
void setMode(ScanMode scan_mode)
Definition: sensor.cpp:62
void _updateConfig(TsParam param, int value)
Definition: sensor.cpp:390
Generates firmware-compatible commands for tuning performance parameters.
Definition: command.h:60
std::unique_ptr< Serial > _serial
Definition: sensor.h:165
dynamic_reconfigure::Server< TsDriverConfig > Cfg
Definition: sensor.h:84
void _parse(const std::string &frame)
Definition: sensor.cpp:290


toposens_driver
Author(s): Adi Singh, Sebastian Dengler, Christopher Lang, Roua Mokchah, Nancy Seckel, Georgiana Barbut
autogenerated on Mon Feb 28 2022 23:57:40