18 #ifndef TARGETCONTROLLER_H
19 #define TARGETCONTROLLER_H
28 class FrameworkManager;
42 enum class ControllerAction;
52 uint8_t priority = 0);
55 virtual bool IsConnected()
const = 0;
56 virtual bool IsDataFrameReady() = 0;
58 unsigned int GetAxisNumber()
const;
59 virtual std::string GetAxisName(
unsigned int axisId)
const;
61 GetAxisValue(
unsigned int axisId)
const;
63 unsigned int GetButtonNumber()
const;
64 bool IsButtonPressed(
unsigned int buttonId)
const;
65 virtual std::string GetButtonName(
unsigned int axisId)
const;
67 virtual bool IsControllerActionSupported(ControllerAction action)
const {
70 bool SetLedOn(
unsigned int ledId);
71 bool SetLedOff(
unsigned int ledId);
72 bool Rumble(
unsigned int left_force,
unsigned int left_timeout,
73 unsigned int right_force,
unsigned int right_timeout);
74 bool FlashLed(
unsigned int ledId,
unsigned int on_timeout,
75 unsigned int off_timeout);
82 virtual bool ControllerInitialization() = 0;
84 unsigned int axisNumber;
92 unsigned int buttonNumber;
100 unsigned int ledNumber;
104 std::queue<core::Message *> changeStateQueue;
111 #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
Class defining a matrix of kind CvMat.
Definition: cvmatrix.h:33
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:76
Main class of the Framework library.
Definition: FrameworkManager.h:45
Abstract class for a thread.
Abstract class for a thread.
Definition: Thread.h:38
Class displaying a QTab on the ground station.
Definition: Tab.h:29