Open FFBoard
Open source force feedback firmware
FFBJoystick Class Reference

#include <FFBJoystick.h>

Inheritance diagram for FFBJoystick:
FFBHIDMain FFBoardMain cpp_freertos::Thread PersistentStorage ExtiHandler UsbHidHandler ErrorHandler ChoosableClass CommandHandler

Public Member Functions

 FFBJoystick ()
 
virtual ~FFBJoystick ()
 
const ClassIdentifier getInfo ()
 
void usbInit () override
 
- Public Member Functions inherited from FFBHIDMain
 FFBHIDMain (uint8_t axisCount)
 
virtual ~FFBHIDMain ()
 
void setFFBEffectsCalc (std::shared_ptr< EffectsControlItf > ffb, std::shared_ptr< EffectsCalculator > effects_calc)
 
CommandStatus command (const ParsedCommand &cmd, std::vector< CommandReply > &replies)
 
void registerCommands ()
 
virtual std::string getHelpstring ()
 
void setBtnTypes (uint16_t btntypes)
 
void addBtnType (uint16_t id)
 
void clearBtnTypes ()
 
void setAinTypes (uint16_t aintypes)
 
void addAinType (uint16_t id)
 
void clearAinTypes ()
 
void usbSuspend ()
 
void usbResume ()
 
void saveFlash ()
 
void restoreFlash ()
 
void Run ()
 
void updateControl ()
 
void emergencyStop (bool reset)
 
uint32_t getRate ()
 
bool getFfbActive ()
 
void exti (uint16_t GPIO_Pin)
 
void errorCallback (const Error &error, bool cleared)
 
void systick ()
 
- Public Member Functions inherited from FFBoardMain
const ClassType getClassType () override
 returns the used classchooser selection id of this instance More...
 
 FFBoardMain ()
 
virtual ~FFBoardMain ()
 
virtual void update ()
 
virtual void cdcRcv (char *Buf, uint32_t *Len)
 
virtual void cdcRcvReady (uint8_t itf)
 
- Public Member Functions inherited from ChoosableClass
virtual ~ChoosableClass ()
 
uint16_t getSelectionID ()
 
- Public Member Functions inherited from CommandHandler
 CommandHandler (const char *clsname, uint16_t clsid, uint8_t instance=0)
 
virtual ~CommandHandler ()
 
virtual bool hasCommands ()
 
virtual void setCommandsEnabled (bool enable)
 
void registerCommands ()
 
virtual CommandStatus internalCommand (const ParsedCommand &cmd, std::vector< CommandReply > &replies)
 
virtual std::string getCommandsHelpstring ()
 
virtual std::string getCsvHelpstring ()
 
virtual uint8_t getCommandHandlerInstance ()
 
void broadcastCommandReply (CommandReply reply, uint32_t cmdId, CMDtype type)
 
void sendCommandReplyAsync (CommandReply reply, uint32_t cmdId, CMDtype type, CommandInterface *interface=nullptr)
 
virtual uint16_t getCommandHandlerID ()
 
virtual CmdHandlerInfogetCommandHandlerInfo ()
 
virtual bool isValidCommandId (uint32_t cmdid, uint32_t ignoredFlags=0, uint32_t requiredFlag=0)
 
virtual CmdHandlerCommanddefgetCommandFromName (const std::string &cmd, uint32_t ignoredFlags=0)
 
virtual CmdHandlerCommanddefgetCommandFromId (const uint32_t id, uint32_t ignoredFlags=0)
 
template<typename ID >
void registerCommand (const char *cmd, const ID cmdid, const char *help=nullptr, uint32_t flags=0)
 
- Public Member Functions inherited from cpp_freertos::Thread
 Thread (const std::string Name, uint16_t StackDepth, UBaseType_t Priority)
 
 Thread (const char *Name, uint16_t StackDepth, UBaseType_t Priority)
 
 Thread (uint16_t StackDepth, UBaseType_t Priority)
 
bool Start ()
 
virtual ~Thread ()
 
TaskHandle_t GetHandle ()
 
void Suspend ()
 
void Resume ()
 
void ResumeFromISR ()
 
void Notify ()
 
void NotifyFromISR ()
 
uint32_t WaitForNotification (TickType_t Timeout=portMAX_DELAY)
 
UBaseType_t GetPriority ()
 
UBaseType_t GetPriorityFromISR ()
 
void SetPriority (UBaseType_t NewPriority)
 
std::string GetName ()
 
char * GetName ()
 
- Public Member Functions inherited from UsbHidHandler
 UsbHidHandler ()
 
virtual ~UsbHidHandler ()
 
virtual void hidOut (uint8_t report_id, hid_report_type_t report_type, uint8_t const *buffer, uint16_t bufsize)
 
virtual uint16_t hidGet (uint8_t report_id, hid_report_type_t report_type, uint8_t *buffer, uint16_t reqlen)
 
void registerHidCallback ()
 
void transferComplete (uint8_t itf, uint8_t const *report, uint8_t len)
 

Static Public Attributes

static ClassIdentifier info
 
- Static Public Attributes inherited from FFBoardMain
static ClassIdentifier info ={.name = "Basic (Failsafe)" ,.id=0}
 
- Static Public Attributes inherited from ChoosableClass
static ClassIdentifier info
 
- Static Public Attributes inherited from CommandHandler
static bool logEnabled = true
 
- Static Public Attributes inherited from UsbHidHandler
static UsbHidHandlerglobalHidHandler = nullptr
 
static uint8_t * hid_desc = nullptr
 

Private Attributes

std::shared_ptr< EffectsCalculatoreffects_calc = std::make_shared<EffectsCalculator>()
 
std::shared_ptr< EffectsControlItfffb = std::make_shared<HidFFB>(effects_calc,2)
 

Additional Inherited Members

- Static Public Member Functions inherited from FFBHIDMain
static bool isCreatable ()
 
- Static Public Member Functions inherited from FFBoardMain
static bool isCreatable ()
 
- Static Public Member Functions inherited from ChoosableClass
static bool isCreatable ()
 
- Static Public Member Functions inherited from CommandHandler
static void logSerial (std::string string)
 Send a log formatted sequence. More...
 
static void logSerialDebug (std::string string)
 Send a log formatted sequence if debug is on. More...
 
static bool logsEnabled ()
 
static void setLogsEnabled (bool enabled)
 
static uint32_t getClassIdFromName (const char *name)
 
static const char * getClassNameFromId (const uint32_t id)
 
static CommandHandlergetHandlerFromHandlerId (const uint16_t cmdhandlerID)
 
static CommandHandlergetHandlerFromId (const uint16_t id, const uint8_t instance=0xFF)
 
static CommandHandlergetHandlerFromClassName (const char *name, const uint8_t instance=0xFF)
 
static std::vector< CommandHandler * > getHandlersFromClassName (const char *name)
 
static std::vector< CommandHandler * > getHandlersFromId (const uint16_t id)
 
static bool isInHandlerList (CommandHandler *handler)
 
static std::string getAllHelpstrings ()
 
static std::vector< CommandHandler * > & getCommandHandlers ()
 
template<typename TVal >
static CommandStatus handleGetSet (const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal &value)
 
template<typename TVal , class cls , class cls1 >
static CommandStatus handleGetSetFunc (const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal &value, void(cls1::*setfunc)(TVal), cls *obj)
 
template<typename TVal , class cls , class cls1 , class cls2 >
static CommandStatus handleGetFuncSetFunc (const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal(cls1::*getfunc)(), void(cls2::*setfunc)(TVal), cls *obj)
 
template<typename TVal , class cls , class cls1 >
static CommandStatus handleGetFuncSet (const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal &value, TVal(cls1::*getfunc)(), cls *obj)
 
- Static Public Member Functions inherited from cpp_freertos::Thread
static void Yield ()
 
static void StartScheduler ()
 
static void EndScheduler ()
 
- Static Public Member Functions inherited from UsbHidHandler
static void setHidDesc (const uint8_t *desc)
 
static const uint8_t * getHidDesc ()
 
- Public Attributes inherited from FFBoardMain
std::unique_ptr< FFBoardMainCommandThreadcommandThread
 
std::unique_ptr< CDC_CommandInterfacecdcCmdInterface = std::make_unique<CDC_CommandInterface>()
 
ErrorPrinter errorPrinter
 
SystemCommands systemCommands
 System command handler. More...
 
std::unique_ptr< UART_CommandInterfaceuartCmdInterface = std::make_unique<UART_CommandInterface>(115200)
 
- Protected Member Functions inherited from CommandHandler
void setInstance (uint8_t instance)
 
virtual void addCommandHandler ()
 
virtual void removeCommandHandler ()
 
- Protected Member Functions inherited from cpp_freertos::Thread
virtual void Cleanup ()
 
void Delay (const TickType_t Delay)
 
void DelayUntil (const TickType_t Period)
 
void ResetDelayUntil ()
 
bool Wait (ConditionVariable &Cv, Mutex &CvLock, TickType_t Timeout=portMAX_DELAY)
 
- Static Protected Member Functions inherited from CommandHandler
static std::vector< uint16_t > & getCommandHandlerIds ()
 
- Protected Attributes inherited from FFBHIDMain
std::shared_ptr< EffectsControlItfffb
 
std::shared_ptr< EffectsCalculatoreffects_calc
 
uint8_t axisCount =0
 
- Protected Attributes inherited from FFBoardMain
std::unique_ptr< USBdeviceusbdev
 
- Protected Attributes inherited from ChoosableClass
uint16_t selectionId
 Should only be written by ClassChooser during creation. More...
 
- Protected Attributes inherited from CommandHandler
bool commandsEnabled = true
 
std::vector< CmdHandlerCommanddefregisteredCommands
 
CmdHandlerInfo cmdHandlerInfo
 
- Static Protected Attributes inherited from FFBoardMain
static char cdcbuf []
 

Detailed Description

Definition at line 15 of file FFBJoystick.h.

Constructor & Destructor Documentation

◆ FFBJoystick()

FFBJoystick::FFBJoystick ( )

Definition at line 25 of file FFBJoystick.cpp.

◆ ~FFBJoystick()

FFBJoystick::~FFBJoystick ( )
virtual

Definition at line 31 of file FFBJoystick.cpp.

Member Function Documentation

◆ getInfo()

const ClassIdentifier FFBJoystick::getInfo ( )
virtual

Implements FFBHIDMain.

Definition at line 20 of file FFBJoystick.cpp.

◆ usbInit()

void FFBJoystick::usbInit ( )
overridevirtual

Called during the startup Should initialize a USBdevice and call registerUsb()

Implements FFBHIDMain.

Definition at line 37 of file FFBJoystick.cpp.

Member Data Documentation

◆ effects_calc

std::shared_ptr<EffectsCalculator> FFBJoystick::effects_calc = std::make_shared<EffectsCalculator>()
private

Definition at line 26 of file FFBJoystick.h.

◆ ffb

std::shared_ptr<EffectsControlItf> FFBJoystick::ffb = std::make_shared<HidFFB>(effects_calc,2)
private

Definition at line 27 of file FFBJoystick.h.

◆ info

ClassIdentifier FFBJoystick::info
static
Initial value:
= {
.name = "FFB Joystick (2 Axis)" ,
.id=CLSID_MAIN_FFBJOY,
}

Definition at line 20 of file FFBJoystick.h.


The documentation for this class was generated from the following files: