23 #ifndef __PLUGINS_ROOMBA_THREAD_ROOMBA_500_H_
24 #define __PLUGINS_ROOMBA_THREAD_ROOMBA_500_H_
26 #include "roomba_500.h"
28 #include <core/threading/thread.h>
29 #include <aspect/blocked_timing.h>
30 #include <aspect/logging.h>
31 #include <aspect/configurable.h>
32 #include <aspect/clock.h>
33 #include <aspect/blackboard.h>
34 #include <aspect/thread_producer.h>
35 #include <core/utils/refptr.h>
39 class SwitchInterface;
41 class BatteryInterface;
42 class Roomba500Interface;
63 protected:
virtual void run() { Thread::run(); }
66 void close_interfaces();
92 std::string __cfg_conntype;
93 std::string __cfg_mode;
94 std::string __cfg_device;
95 std::string __cfg_bttype;
98 bool __cfg_query_mode;
99 bool __cfg_play_fanfare;
101 unsigned int __greeting_loop_count;
103 int __battery_percent;
Thread aspect to access to BlackBoard.
virtual void finalize()
Finalize the thread.
Thread aspect that allows to obtain the current time from the clock.
BatteryInterface Fawkes BlackBoard Interface.
virtual void init()
Initialize the thread.
virtual void loop()
Code to execute in the thread.
Thread class encapsulation of pthreads.
Mode
Roomba 500 operation mode.
Roomba500Thread()
Constructor.
void write_blackboard()
Write data to blackboard.
virtual void run()
Stub to see name in backtrace for easier debugging.
Thread aspect to use blocked timing.
SwitchInterface Fawkes BlackBoard Interface.
Roomba 500 integration thread.
Thread aspect to log output.
Roomba500Interface Fawkes BlackBoard Interface.
Thread aspect to access configuration data.
LedInterface Fawkes BlackBoard Interface.