![]() |
Open FFBoard
Open source force feedback firmware
|
#include <PCF8574.h>
Public Types | |
| enum class | PCF8574Buttons_commands : uint32_t { btnnum , invert , speed } |
Public Member Functions | |
| PCF8574Buttons () | |
| virtual | ~PCF8574Buttons () |
| void | Run () |
| void | saveFlash () |
| void | restoreFlash () |
| void | i2cRxCompleted (I2CPort *port) |
| void | i2cError (I2CPort *port) |
| CommandStatus | command (const ParsedCommand &cmd, std::vector< CommandReply > &replies) override |
| uint8_t | readButtons (uint64_t *buf) |
| uint16_t | getBtnNum () |
| void | setBtnNum (uint8_t num) |
| virtual const ClassIdentifier | getInfo () |
| Command handlers always have class infos. Works well with ChoosableClass. | |
| const ClassType | getClassType () override |
| std::string | getHelpstring () |
| void | rxDone (uint8_t dat) |
Public Member Functions inherited from PCF8574 | |
| PCF8574 (I2CPort &port) | |
| virtual | ~PCF8574 () |
| uint8_t | readByte (const uint8_t devAddr) |
| void | readByteIT (const uint8_t devAddr, uint8_t *data) |
| void | writeByteIT (const uint8_t devAddr, uint8_t *data) |
| void | writeByte (const uint8_t devAddr, uint8_t data) |
Public Member Functions inherited from I2CDevice | |
| I2CDevice () | |
| virtual | ~I2CDevice () |
| virtual void | startI2CTransfer (I2CPort *port) |
| virtual void | endI2CTransfer (I2CPort *port) |
| virtual void | i2cTxCompleted (I2CPort *port) |
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 CmdHandlerInfo * | getCommandHandlerInfo () |
| virtual bool | isValidCommandId (uint32_t cmdid, uint32_t ignoredFlags=0, uint32_t requiredFlag=0) |
| virtual CmdHandlerCommanddef * | getCommandFromName (const std::string &cmd, uint32_t ignoredFlags=0) |
| virtual CmdHandlerCommanddef * | getCommandFromId (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 ButtonSource | |
| ButtonSource () | |
| virtual | ~ButtonSource () |
Public Member Functions inherited from ChoosableClass | |
| virtual | ~ChoosableClass () |
| uint16_t | getSelectionID () |
Public Member Functions inherited from PersistentStorage | |
| PersistentStorage () | |
| virtual | ~PersistentStorage () |
| void | restoreFlashDelayed () |
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 () |
Static Public Member Functions | |
| static bool | isCreatable () |
Static Public Member Functions inherited from CommandHandler | |
| static void | logSerial (std::string string) |
| Send a log formatted sequence. | |
| static void | logSerialDebug (std::string string) |
| Send a log formatted sequence if debug is on. | |
| static bool | logsEnabled () |
| static void | setLogsEnabled (bool enabled) |
| static uint32_t | getClassIdFromName (const char *name) |
| static const char * | getClassNameFromId (const uint32_t id) |
| static CommandHandler * | getHandlerFromHandlerId (const uint16_t cmdhandlerID) |
| static CommandHandler * | getHandlerFromId (const uint16_t id, const uint8_t instance=0xFF) |
| static CommandHandler * | getHandlerFromClassName (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 ButtonSource | |
| static bool | isCreatable () |
Static Public Member Functions inherited from ChoosableClass | |
| static bool | isCreatable () |
Static Public Member Functions inherited from PersistentStorage | |
| static std::vector< PersistentStorage * > & | getFlashHandlers () |
| static void | restoreFlashStartupCb () |
Static Public Member Functions inherited from cpp_freertos::Thread | |
| static void | Yield () |
| static void | StartScheduler () |
| static void | EndScheduler () |
Static Public Attributes | |
| static ClassIdentifier | info |
Static Public Attributes inherited from CommandHandler | |
| static bool | logEnabled = true |
Static Public Attributes inherited from ButtonSource | |
| static ClassIdentifier | info |
| static const std::vector< class_entry< ButtonSource > > | all_buttonsources |
Static Public Attributes inherited from ChoosableClass | |
| static ClassIdentifier | info |
Private Attributes | |
| bool | invert = true |
| uint8_t | numBytes = 1 |
| uint64_t | mask = 0xff |
| uint64_t | lastButtons = 0 |
| uint64_t | currentButtons = 0 |
| uint8_t | lastByte =0 |
| uint8_t | lastData =0 |
| uint32_t | lastSuccess =0 |
| const uint32_t | timeout = 250 |
| volatile bool | readingData = false |
Additional Inherited Members | |
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 PCF8574 | |
| I2CPort & | port |
Protected Attributes inherited from CommandHandler | |
| bool | commandsEnabled = true |
| std::vector< CmdHandlerCommanddef > | registeredCommands |
| CmdHandlerInfo | cmdHandlerInfo |
Protected Attributes inherited from ButtonSource | |
| uint16_t | btnnum = 0 |
Protected Attributes inherited from ChoosableClass | |
| uint16_t | selectionId |
| Should only be written by ClassChooser during creation. | |
Protected Attributes inherited from PersistentStorage | |
| bool | restoreDelayedFlag = false |
Static Protected Attributes inherited from PersistentStorage | |
| static bool | startupComplete = false |
|
strong |
| PCF8574Buttons::PCF8574Buttons | ( | ) |
Definition at line 71 of file PCF8574.cpp.
|
virtual |
Definition at line 82 of file PCF8574.cpp.
|
overridevirtual |
| [in] | cmd | The parsed command to be executed. |
| [out] | replies | A vector to return one or multiple reply objects into. Replies to the interface will be generated based on the reply objects. A string reply may not contain start, end and separation markers: [,],| Other characters are allowed. |
Reimplemented from CommandHandler.
Definition at line 186 of file PCF8574.cpp.
|
virtual |
Reimplemented from ButtonSource.
Definition at line 163 of file PCF8574.cpp.
|
inlineoverridevirtual |
Type of this class. Mainclass, motordriver... Should be implemented by the parent class so it is not in the info struct
Reimplemented from CommandHandler.
|
inlinevirtual |
Returns a description of this class
Reimplemented from CommandHandler.
|
virtual |
Command handlers always have class infos. Works well with ChoosableClass.
Implements CommandHandler.
Definition at line 66 of file PCF8574.cpp.
|
virtual |
Reimplemented from I2CDevice.
Definition at line 130 of file PCF8574.cpp.
|
virtual |
Reimplemented from I2CDevice.
Definition at line 103 of file PCF8574.cpp.
|
virtual |
Return a bit field without offset of pressed buttons in the supplied buffer. Returns amount of button read.
Implements ButtonSource.
Definition at line 136 of file PCF8574.cpp.
|
virtual |
Should be implemented to restore settings. This is not automatically called and should be called when appropriate.
Reimplemented from PersistentStorage.
Definition at line 120 of file PCF8574.cpp.
|
virtual |
Implementation of your actual thread code. You must override this function.
Implements cpp_freertos::Thread.
Definition at line 87 of file PCF8574.cpp.
| void PCF8574Buttons::rxDone | ( | uint8_t | dat | ) |
|
virtual |
Called when the user uses the "save" command and presses the save button in the configurator Automatically called by the command parser thread for every class that inherits from PersistentStorage
Reimplemented from PersistentStorage.
Definition at line 113 of file PCF8574.cpp.
| void PCF8574Buttons::setBtnNum | ( | uint8_t | num | ) |
Changes the amount of buttons to be read num/8 chips required. Each of them taking 200µS for a transfer! Not recommended to use more than 4 modules
Definition at line 173 of file PCF8574.cpp.
|
static |