Flair
Framework Libre Air
flair::sensor::EmulatedController Class Reference

Emulated remote control. More...

#include <EmulatedController.h>

+ Inheritance diagram for flair::sensor::EmulatedController:

Public Types

enum  ButtonType : uint16_t {
  start =0x0001, select =0x0002, square =0x0004, triangle =0x0008,
  circle =0x0010, cross =0x0020, left1 =0x0040, left2 =0x0080,
  left3 =0x0100, right1 =0x0200, right2 =0x0400, right3 =0x0800,
  up =0x1000, down =0x2000, left =0x4000, right =0x8000
}
 
- Public Types inherited from flair::core::Object
enum  color_t { Auto = 0, Red = 31, Green = 32, Orange = 33 }
 

Public Member Functions

 EmulatedController (std::string name, uint8_t priority=0)
 
void AddStep (unsigned int durationMs, std::string description, uint16_t buttonPressed, float leftAxisX, float leftAxisY, float rightAxisX, float rightAxisY)
 
- Public Member Functions inherited from flair::sensor::TargetController
 TargetController (std::string name, uint8_t priority=0)
 
unsigned int GetAxisNumber () const
 
virtual std::string GetAxisName (unsigned int axisId) const
 
float GetAxisValue (unsigned int axisId) const
 
unsigned int GetButtonNumber () const
 
bool IsButtonPressed (unsigned int buttonId) const
 
virtual std::string GetButtonName (unsigned int axisId) const
 
virtual bool IsControllerActionSupported (ControllerAction action) const
 
bool SetLedOn (unsigned int ledId)
 
bool SetLedOff (unsigned int ledId)
 
bool Rumble (unsigned int left_force, unsigned int left_timeout, unsigned int right_force, unsigned int right_timeout)
 
bool FlashLed (unsigned int ledId, unsigned int on_timeout, unsigned int off_timeout)
 
void UpdateFrom (const core::io_data *data)
 Update using provided datas. More...
 
gui::TabGetTab (void) const
 
- Public Member Functions inherited from flair::core::Thread
 Thread (const Object *parent, std::string name, uint8_t priority, uint32_t stackSize=1024 *128)
 Constructor. More...
 
virtual ~Thread ()
 Destructor. More...
 
void Start (void)
 Start the thread. More...
 
void SafeStop (void)
 Set a stop flag. More...
 
bool ToBeStopped (void) const
 Set a stop flag. More...
 
void Join (void)
 Join the thread. More...
 
void SetPeriodUS (uint32_t period_us)
 Set the period in micro second. More...
 
uint32_t GetPeriodUS () const
 
void SetPeriodMS (uint32_t period_ms)
 Set the period in milli second. More...
 
uint32_t GetPeriodMS () const
 
bool IsPeriodSet (void)
 Returns if period was set. More...
 
void WaitPeriod (void) const
 Wait the period. More...
 
int WaitUpdate (const IODevice *device)
 Wait update of an IODevice. More...
 
void Suspend (void)
 Suspend the thread. More...
 
bool SuspendUntil (Time date)
 Suspend the thread with timeout. More...
 
void Resume (void)
 Resume the thread. More...
 
bool IsSuspended (void) const
 Is the thread suspended? More...
 
bool IsRunning (void) const
 Is the thread running? More...
 
void SleepUntil (Time time) const
 Sleep until absolute time. More...
 
void SleepUS (uint32_t time_us) const
 Sleep for a certain time in micro second. More...
 
void SleepMS (uint32_t time_ms) const
 Sleep for a cartain time in milli second. More...
 
- Public Member Functions inherited from flair::core::Object
 Object (const Object *parent=NULL, std::string name="", std::string type="")
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
std::string ObjectName (void) const
 Name. More...
 
std::string ObjectType (void) const
 Type. More...
 
const ObjectParent (void) const
 Parent. More...
 
std::vector< const Object * > * TypeChilds (void) const
 Childs of the same type. More...
 
std::vector< const Object * > * Childs (void) const
 Childs. More...
 
void Information (const char *function, int line, const char *format,...) const
 Formatted information. More...
 
void Warning (const char *function, const char *format,...) const
 Formatted warning. More...
 
void Error (const char *function, const char *format,...) const
 Formatted error. More...
 
bool ErrorOccured (bool recursive=true) const
 Has an errror occured? More...
 
- Public Member Functions inherited from flair::core::IODevice
 IODevice (const Object *parent, std::string name)
 Constructor. More...
 
virtual ~IODevice ()
 Destructor. More...
 
void AddDeviceToLog (const IODevice *device)
 Add an IODevice to the logs. More...
 
void AddDataToLog (const io_data *data)
 Add an io_data to the log. More...
 
void OutputToShMem (bool enabled)
 Send the output to a shared memory. More...
 
bool IsReady (void) const
 is device ready More...
 
virtual DataType const & GetInputDataType () const
 
virtual DataType const & GetOutputDataType () const
 

Protected Member Functions

bool IsConnected () const
 
bool ProcessMessage (core::Message *msg)
 
bool IsDataFrameReady ()
 
void AcquireAxisData (core::Matrix &axis)
 
void AcquireButtonData (core::Matrix &button)
 
bool ControllerInitialization ()
 
- Protected Member Functions inherited from flair::sensor::TargetController
void QueueMessage (core::Message msg)
 
- Protected Member Functions inherited from flair::core::IODevice
void ProcessUpdate (io_data *data)
 Process the childs of type IODevice, and log if needed. More...
 
void SetIsReady (bool status)
 set is ready More...
 

Additional Inherited Members

- Static Public Member Functions inherited from flair::core::Thread
static void WarnUponSwitches (bool enable)
 Warn if real time / non real time switches occur. More...
 
- Protected Attributes inherited from flair::sensor::TargetController
unsigned int axisNumber
 
core::Matrixaxis = nullptr
 
uint16_t bitsPerAxis
 
unsigned int buttonNumber
 
core::Matrixbutton = nullptr
 
unsigned int ledNumber
 

Detailed Description

Emulated remote control.