23 #ifndef _PLUGINS_LASER_FILTER_FILTER_THREAD_H_ 24 #define _PLUGINS_LASER_FILTER_FILTER_THREAD_H_ 26 #include "filters/filter.h" 28 #include <aspect/blackboard.h> 29 #include <aspect/blocked_timing.h> 30 #include <aspect/configurable.h> 31 #include <aspect/logging.h> 32 #include <core/threading/thread.h> 34 # include <aspect/tf.h> 42 class Laser360Interface;
43 class Laser720Interface;
44 class Laser1080Interface;
83 void open_interfaces(std::string prefix,
84 std::vector<LaserInterface> & ifs,
85 std::vector<LaserDataFilter::Buffer *> &bufs,
89 std::string filter_type,
91 unsigned int in_data_size,
92 std::vector<LaserDataFilter::Buffer *> &inbufs);
103 std::vector<LaserInterface> in_;
104 std::vector<LaserInterface> out_;
106 std::vector<LaserDataFilter::Buffer *> in_bufs_;
107 std::vector<LaserDataFilter::Buffer *> out_bufs_;
111 std::string cfg_name_;
112 std::string cfg_prefix_;
114 std::list<LaserFilterThread *> wait_threads_;
Laser360Interface Fawkes BlackBoard Interface.
virtual void run()
Stub to see name in backtrace for easier debugging.
void set_wait_threads(std::list< LaserFilterThread * > &threads)
Set threads to wait for in loop.
Thread aspect to access to BlackBoard.
Wait until a given condition holds.
virtual void finalize()
Finalize the thread.
Laser1080Interface Fawkes BlackBoard Interface.
Fawkes library namespace.
Thread class encapsulation of pthreads.
Base class for all Fawkes BlackBoard interfaces.
void set_wait_barrier(fawkes::Barrier *barrier)
Set wait barrier.
Thread aspect to use blocked timing.
LaserFilterThread(std::string &cfg_name, std::string &cfg_prefix)
Constructor.
Thread aspect to log output.
Thread aspect to access configuration data.
void wait_done()
Wait until thread is done.
virtual void init()
Initialize the thread.
Mutex mutual exclusion lock.
Laser720Interface Fawkes BlackBoard Interface.
A barrier is a synchronization tool which blocks until a given number of threads have reached the bar...
virtual void loop()
Code to execute in the thread.