MIRA
|
A general interface for a CAN driver. More...
#include <can/CANInterface.h>
Public Member Functions | |
Constructor and destructor | |
CANInterface () | |
The constructor. More... | |
virtual | ~CANInterface () |
The destructor. More... | |
Outgoing messages | |
virtual void | sendMessage (const CANMessage &msg)=0 |
Send a new message over the CAN bus. More... | |
uint32 | addMessageSentListener (CANMessageCallback pFunc, uint32 pMask=0x00000000, uint32 pFilter=0xFFFFFFFF) |
Register a new message listener for outgoing messages. More... | |
void | removeMessageSentListener (uint32 pFuncID) |
Unregister an outgoing message listener. More... | |
Incoming messages | |
uint32 | addMessageRecvListener (CANMessageCallback pFunc, uint32 pMask=0x00000000, uint32 pFilter=0xFFFFFFFF) |
Register a new CAN message listener. More... | |
void | removeMessageRecvListener (uint32 pFuncID) |
Unregister a message listener. More... | |
Interface to the PDO listener | |
uint32 | addPDOListener (PDOCallback pFunc, uint32 pPDO) |
Add a callback for a specific PDO. More... | |
void | removePDOListener (uint32 pFuncID) |
Remove a PDO callback. More... | |
Protected Member Functions | |
void | onMessageSend (const CANMessage &message, const Time &time) |
void | onMessageReceived (const CANMessage &message, const Time &time) |
A general interface for a CAN driver.
The hardware specified driver functions must implemented in some internal methods.
CANInterface | ( | ) |
The constructor.
|
inlinevirtual |
The destructor.
|
pure virtual |
Send a new message over the CAN bus.
[in] | msg | The CAN message. |
Implemented in CANDriverInterface, and CANChannelInterface.
uint32 addMessageSentListener | ( | CANMessageCallback | pFunc, |
uint32 | pMask = 0x00000000 , |
||
uint32 | pFilter = 0xFFFFFFFF |
||
) |
Register a new message listener for outgoing messages.
This method adds a new listener for outgoing messages on the CAN bus. For each listener a message filter can be defined. Therefore the mask pMask defines the relevant bits and the filter is defined in pFilter.
[in] | pFunc | The listener function. |
[in] | pMask | The filter mask. |
[in] | pFilter | The filter itself. |
void removeMessageSentListener | ( | uint32 | pFuncID | ) |
Unregister an outgoing message listener.
[in] | pFuncID | The ID of the listener function, which should be removed. |
uint32 addMessageRecvListener | ( | CANMessageCallback | pFunc, |
uint32 | pMask = 0x00000000 , |
||
uint32 | pFilter = 0xFFFFFFFF |
||
) |
Register a new CAN message listener.
This method adds a new listener for incoming messages on the CAN bus. For each listener a message filter can be defined. Therefore the mask pMask defines the relevant bits and the filter is defined in pFilter.
[in] | pFunc | The listener function. |
[in] | pMask | The filter mask. |
[in] | pFilter | The filter itself. |
void removeMessageRecvListener | ( | uint32 | pFuncID | ) |
Unregister a message listener.
[in] | pFuncID | The ID of the listener function, which should be removed. |
uint32 addPDOListener | ( | PDOCallback | pFunc, |
uint32 | pPDO | ||
) |
Add a callback for a specific PDO.
[in] | pFunc | The callback function. |
[in] | pPDO | The desired PDO ID. |
void removePDOListener | ( | uint32 | pFuncID | ) |
Remove a PDO callback.
[in] | pFuncID | The ID of the callback, which should be removed. |
|
protected |
|
protected |