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 Lase EDL L A laser scanner.
LaserPlugin(fawkes::Configuration *config)
Constructor.
Fawkes library namespace.
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 bool next()=0
Check if there is another element and advance to this if possible.
Laser acqusition thread for Hokuyo URG laser range finders.
Base class for exceptions in Fawkes.
Laser acqusition thread for Sick TiM55x laser range finders.
ThreadList thread_list
Thread list member.
virtual const char * path() const =0
Path of value.
Configuration * config
Fawkes configuration.
void push_back(Thread *thread)
Add thread to the end.
Laser acqusition thread for Hokuyo URG laser range finders.
Laser acqusition thread for Sick TiM55x laser range finders.
Interface for configuration handling.
virtual std::string get_string(const char *path)=0
Get value from configuration which is of type string.