23 #include "sensor_thread.h"
25 #include <plugins/laser/laser_plugin.h>
27 # include "lase_edl_aqt.h"
33 # include "urg_gbx_aqt.h"
36 # include "sick_tim55x_usb_aqt.h"
38 #ifdef HAVE_SICK55X_BOOST
39 # include "sick_tim55x_ethernet_aqt.h"
59 std::set<std::string> configs;
60 std::set<std::string> ignored_configs;
62 std::string prefix =
"/hardware/laser/";
64 #if __cplusplus >= 201103L
65 std::unique_ptr<Configuration::ValueIterator> i(
config->
search(prefix.c_str()));
67 std::auto_ptr<Configuration::ValueIterator> i(
config->
search(prefix.c_str()));
70 std::string cfg_name = std::string(i->path()).substr(prefix.length());
71 cfg_name = cfg_name.substr(0, cfg_name.find(
"/"));
73 if ((configs.find(cfg_name) == configs.end())
74 && (ignored_configs.find(cfg_name) == ignored_configs.end())) {
75 std::string cfg_prefix = prefix + cfg_name +
"/";
96 if (type ==
"lase_edl") {
102 if (type ==
"urg_gbx") {
108 if (type ==
"TiM55x-USB") {
113 #ifdef HAVE_SICK55X_BOOST
114 if (type ==
"TiM55x-Ethernet") {
120 throw Exception(
"Unknown lasertype '%s' for config %s", type.c_str(), cfg_name.c_str());
126 configs.insert(cfg_name);
129 ignored_configs.insert(cfg_name);
141 throw Exception(
"No laser devices configured, aborting");
145 PLUGIN_DESCRIPTION(
"Hardware driver for laser range finders")
Laser acqusition thread for Hokuyo URG laser range finders.
Laser acqusition thread for Hokuyo URG laser range finders.
Laser acqusition thread for Lase EDL L A laser scanner.
LaserPlugin(fawkes::Configuration *config)
Constructor.
Laser acqusition thread for Sick TiM55x laser range finders.
Laser acqusition thread for Sick TiM55x laser range finders.
Interface for configuration handling.
virtual bool get_bool(const char *path)=0
Get value from configuration which is of type bool.
virtual ValueIterator * search(const char *path)=0
Iterator with search results.
virtual std::string get_string(const char *path)=0
Get value from configuration which is of type string.
Base class for exceptions in Fawkes.
ThreadList thread_list
Thread list member.
Configuration * config
Fawkes configuration.
void push_back(Thread *thread)
Add thread to the end.
Fawkes library namespace.