Fawkes API
Fawkes Development Version
|
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_;
virtual void init()
Initialize the thread.
Mutex mutual exclusion lock.
virtual void run()
Stub to see name in backtrace for easier debugging.
void set_wait_barrier(fawkes::Barrier *barrier)
Set wait barrier.
Wait until a given condition holds.
LaserFilterThread(std::string &cfg_name, std::string &cfg_prefix)
Constructor.
Thread aspect to use blocked timing.
Thread aspect to access to BlackBoard.
Fawkes library namespace.
Thread aspect to log output.
Laser1080Interface Fawkes BlackBoard Interface.
Base class for all Fawkes BlackBoard interfaces.
virtual void loop()
Code to execute in the thread.
Thread class encapsulation of pthreads.
Laser720Interface Fawkes BlackBoard Interface.
Thread aspect to access configuration data.
Laser360Interface Fawkes BlackBoard Interface.
A barrier is a synchronization tool which blocks until a given number of threads have reached the bar...
void set_wait_threads(std::list< LaserFilterThread * > &threads)
Set threads to wait for in loop.
virtual void finalize()
Finalize the thread.
void wait_done()
Wait until thread is done.