18 #ifndef TARGETCONTROLLER_H
19 #define TARGETCONTROLLER_H
28 class FrameworkManager;
42 enum class ControllerAction;
54 virtual bool IsConnected()
const = 0;
55 virtual bool IsDataFrameReady() = 0;
57 unsigned int GetAxisNumber()
const;
58 virtual std::string GetAxisName(
unsigned int axisId)
const;
60 GetAxisValue(
unsigned int axisId)
const;
62 unsigned int GetButtonNumber()
const;
63 bool IsButtonPressed(
unsigned int buttonId)
const;
64 virtual std::string GetButtonName(
unsigned int axisId)
const;
66 virtual bool IsControllerActionSupported(ControllerAction action)
const {
69 bool SetLedOn(
unsigned int ledId);
70 bool SetLedOff(
unsigned int ledId);
71 bool Rumble(
unsigned int left_force,
unsigned int left_timeout,
72 unsigned int right_force,
unsigned int right_timeout);
73 bool FlashLed(
unsigned int ledId,
unsigned int on_timeout,
74 unsigned int off_timeout);
81 virtual bool ControllerInitialization() = 0;
83 unsigned int axisNumber;
91 unsigned int buttonNumber;
93 virtual void AcquireButtonData(
core::Matrix &button) = 0;
99 unsigned int ledNumber;
103 std::queue<core::Message *> changeStateQueue;
110 #endif // TARGETCONTROLLER_H
Abstract class for data types.
Definition: io_data.h:94
Abstract class for input/ouput system.
Definition: IODevice.h:45
namespace of the flair Framework
Definition: Ahrs.h:19
Base Class for target side remote controls.
Definition: TargetController.h:49
Abstract class for input/ouput system.
void UpdateFrom(const core::io_data *data)
Update using provided datas.
Definition: TargetController.h:75
Abstract class for a thread.
Abstract class for a thread.
Definition: Thread.h:38
Class defining a matrix.
Definition: Matrix.h:31
Class displaying a QTab on the ground station.
Definition: Tab.h:29