| modm API documentation
    | 
The CAN connector to the XPCC communication. More...
#include <modm/communication/xpcc/backend/can/connector.hpp>
 
  
 | Classes | |
| class | ReceiveListItem | 
| class | SendListItem | 
| Public Member Functions | |
| CanConnector (Driver *driver) | |
| virtual void | sendPacket (const Header &header, modm::SmartPointer payload) | 
| Send a Message. | |
| virtual bool | isPacketAvailable () const | 
| Check if a new packet was received by the backend. | |
| virtual const Header & | getPacketHeader () const | 
| Access the packet. | |
| virtual const modm::SmartPointer | getPacketPayload () const | 
| virtual void | dropPacket () | 
| virtual void | update () | 
| Protected Typedefs | |
| typedef modm::LinkedList< SendListItem > | SendList | 
| typedef modm::LinkedList< ReceiveListItem > | ReceiveList | 
| Protected Member Functions | |
| CanConnector (const CanConnector &) | |
| CanConnector & | operator= (const CanConnector &) | 
| bool | sendMessage (const uint32_t &identifier, const uint8_t *data, uint8_t size) | 
| Try to send a CAN message via CAN Driver.  More... | |
| void | sendWaitingMessages () | 
| bool | retrieveMessage () | 
| Static Protected Member Functions | |
| static bool | convertToHeader (const uint32_t &identifier, Header &header) | 
| Convert a can identifier to a packet header.  More... | |
| static uint32_t | convertToIdentifier (const Header &header, bool fragmentated) | 
| Convert a packet header to a can identifier. | |
| static uint8_t | getNumberOfFragments (uint8_t messageSize) | 
| Calculate the number of fragments needed to send a message with a length of messageSize. | |
| static bool | isFragment (const uint32_t &identifier) | 
| Protected Attributes | |
| SendList | sendList | 
| ReceiveList | pendingMessages | 
| ReceiveList | receivedMessages | 
| Driver * | canDriver | 
| Static Protected Attributes | |
| static uint8_t | messageCounter = 0 | 
The CAN connector to the XPCC communication.
The interface of the per template parameter given driver has to provide the following static methods.

Changes in the highest 4 bits:
Every event is send with the destination identifier 0x00.
| 
 | inheritedstatic | 
Convert a can identifier to a packet header.
| [in] | identifier | 29-bit CAN identifier | 
| [out] | header | Packet header | 
true if the message is part of a fragmented packet, false otherwise. | 
 | protected | 
Try to send a CAN message via CAN Driver.