23#ifndef _PLUGINS_ROOMBA_THREAD_ROOMBA_500_H_
24#define _PLUGINS_ROOMBA_THREAD_ROOMBA_500_H_
26#include "roomba_500.h"
28#include <aspect/blackboard.h>
29#include <aspect/blocked_timing.h>
30#include <aspect/clock.h>
31#include <aspect/configurable.h>
32#include <aspect/logging.h>
33#include <aspect/thread_producer.h>
34#include <core/threading/thread.h>
35#include <core/utils/refptr.h>
41class BatteryInterface;
42class Roomba500Interface;
70 void close_interfaces();
96 std::string cfg_conntype_;
97 std::string cfg_mode_;
98 std::string cfg_device_;
99 std::string cfg_bttype_;
102 bool cfg_query_mode_;
103 bool cfg_play_fanfare_;
105 unsigned int greeting_loop_count_;
107 int battery_percent_;
Roomba 500 integration thread.
virtual void loop()
Code to execute in the thread.
virtual void init()
Initialize the thread.
void write_blackboard()
Write data to blackboard.
virtual void finalize()
Finalize the thread.
virtual void run()
Stub to see name in backtrace for easier debugging.
Roomba500Thread()
Constructor.
Mode
Roomba 500 operation mode.
BatteryInterface Fawkes BlackBoard Interface.
Thread aspect to access to BlackBoard.
Thread aspect to use blocked timing.
Thread aspect that allows to obtain the current time from the clock.
Thread aspect to access configuration data.
LedInterface Fawkes BlackBoard Interface.
Thread aspect to log output.
Roomba500Interface Fawkes BlackBoard Interface.
SwitchInterface Fawkes BlackBoard Interface.
Thread class encapsulation of pthreads.
Fawkes library namespace.