![]() |
Open FFBoard
Open source force feedback firmware
|
#include <CanBridge.h>
Public Member Functions | |
| CanBridge () | |
| virtual | ~CanBridge () |
| const ClassIdentifier | getInfo () override |
| CommandStatus | command (const ParsedCommand &cmd, std::vector< CommandReply > &replies) |
| void | sendMessage (uint32_t id, uint64_t msg, uint8_t len, bool rtr) |
| void | sendMessage () |
| void | canRxPendCallback (CANPort *port, CAN_rx_msg &msg) override |
| void | canErrorCallback (CANPort *port, uint32_t error) |
| void | cdcRcv (char *Buf, uint32_t *Len) override |
| std::string | messageToString (CAN_rx_msg msg) |
| void | update () |
| void | registerCommands () |
| virtual std::string | getHelpstring () |
Public Member Functions inherited from FFBoardMain | |
| const ClassType | getClassType () override |
| returns the used classchooser selection id of this instance | |
| FFBoardMain () | |
| virtual | ~FFBoardMain () |
| virtual void | usbInit () |
| virtual void | cdcRcvReady (uint8_t itf) |
| virtual void | usbSuspend () |
| virtual void | usbResume () |
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 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 CanHandler | |
| CanHandler () | |
| virtual | ~CanHandler () |
| virtual void | canRxFullCallback (CANPort *port, uint32_t fifo) |
| virtual void | canTxCpltCallback (CANPort *port, uint32_t mailbox) |
| virtual void | canTxAbortCallback (CANPort *port, uint32_t mailbox) |
Static Public Member Functions | |
| 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. | |
| 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 CanHandler | |
| static std::vector< CanHandler * > & | getCANHandlers () |
Public Attributes | |
| volatile bool | replyPending = false |
Public Attributes inherited from FFBoardMain | |
| std::unique_ptr< FFBoardMainCommandThread > | commandThread |
| std::unique_ptr< CDC_CommandInterface > | cdcCmdInterface = std::make_unique<CDC_CommandInterface>() |
| ErrorPrinter | errorPrinter |
| SystemCommands | systemCommands |
| System command handler. | |
| std::unique_ptr< UART_CommandInterface > | uartCmdInterface = std::make_unique<UART_CommandInterface>(115200) |
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 |
Private Types | |
| enum class | CanBridge_commands : uint32_t { can , canrtr , canspd } |
Private Attributes | |
| CANPort * | port = &canport |
| std::vector< CAN_rx_msg > | rxmessages |
| CAN_rx_msg | lastmsg |
| int32_t | filterId = -1 |
| const uint8_t | numBuses = 1 |
| CAN_msg_header_tx | txHeader |
| uint8_t | txBuf [8] = {0} |
| uint32_t | txMailbox |
| uint32_t | rxfifo = 0 |
| CAN_Config_t | conf1 |
| CAN_Config_t | conf2 |
| bool | gvretMode = false |
| const std::vector< char > | keepalivemsg = {0xF1,0x09, 0xDE,0xAD} |
Additional Inherited Members | |
Protected Member Functions inherited from CommandHandler | |
| void | setInstance (uint8_t instance) |
| virtual void | addCommandHandler () |
| virtual void | removeCommandHandler () |
Static Protected Member Functions inherited from CommandHandler | |
| static std::vector< uint16_t > & | getCommandHandlerIds () |
Protected Attributes inherited from FFBoardMain | |
| std::unique_ptr< USBdevice > | usbdev |
Protected Attributes inherited from ChoosableClass | |
| uint16_t | selectionId |
| Should only be written by ClassChooser during creation. | |
Protected Attributes inherited from CommandHandler | |
| bool | commandsEnabled = true |
| std::vector< CmdHandlerCommanddef > | registeredCommands |
| CmdHandlerInfo | cmdHandlerInfo |
Static Protected Attributes inherited from FFBoardMain | |
| static char | cdcbuf [] |
A main class for testing CAN communication. Sends CAN messages via CDC and can transmit CAN messages with 4 bytes
Definition at line 36 of file CanBridge.h.
|
strongprivate |
| Enumerator | |
|---|---|
| can | |
| canrtr | |
| canspd | |
Definition at line 37 of file CanBridge.h.
| CanBridge::CanBridge | ( | ) |
Definition at line 27 of file CanBridge.cpp.
|
virtual |
Definition at line 48 of file CanBridge.cpp.
|
virtual |
Error during can transfer
Reimplemented from CanHandler.
Definition at line 55 of file CanBridge.cpp.
|
overridevirtual |
New message received in fifo number
Reimplemented from CanHandler.
Definition at line 78 of file CanBridge.cpp.
|
overridevirtual |
Called when data is received on the CDC port
Reimplemented from FFBoardMain.
Definition at line 138 of file CanBridge.cpp.
|
virtual |
| [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 FFBoardMain.
Definition at line 291 of file CanBridge.cpp.
|
inlinevirtual |
Returns a description of this class
Reimplemented from FFBoardMain.
Definition at line 62 of file CanBridge.h.
|
overridevirtual |
Reimplemented from FFBoardMain.
Definition at line 23 of file CanBridge.cpp.
|
inlinestatic |
Definition at line 47 of file CanBridge.h.
| std::string CanBridge::messageToString | ( | CAN_rx_msg | msg | ) |
Definition at line 89 of file CanBridge.cpp.
| void CanBridge::registerCommands | ( | ) |
| void CanBridge::sendMessage | ( | ) |
| void CanBridge::sendMessage | ( | uint32_t | id, |
| uint64_t | msg, | ||
| uint8_t | len = 8, | ||
| bool | rtr = false ) |
Definition at line 61 of file CanBridge.cpp.
|
virtual |
Called in the default thread with no delay Can be reimplemented by custom main classes but should not block
Reimplemented from FFBoardMain.
Definition at line 98 of file CanBridge.cpp.
|
private |
Definition at line 78 of file CanBridge.h.
|
private |
Definition at line 79 of file CanBridge.h.
|
private |
Definition at line 69 of file CanBridge.h.
|
private |
Definition at line 80 of file CanBridge.h.
|
static |
Definition at line 17 of file CanBridge.h.
|
private |
Definition at line 81 of file CanBridge.h.
|
private |
Definition at line 68 of file CanBridge.h.
|
private |
Definition at line 70 of file CanBridge.h.
Definition at line 66 of file CanBridge.h.
| volatile bool CanBridge::replyPending = false |
Definition at line 59 of file CanBridge.h.
|
private |
Definition at line 77 of file CanBridge.h.
|
private |
Definition at line 67 of file CanBridge.h.
|
private |
Definition at line 75 of file CanBridge.h.
|
private |
Definition at line 73 of file CanBridge.h.
|
private |
Definition at line 76 of file CanBridge.h.