MIRA
|
A common interface to the CAN bus. More...
#include <can/CANDriverInterface.h>
Public Member Functions | |
Construtor and destructor | |
CANDriverInterface (const std::string &driver) | |
Construct a new CAN interface. More... | |
virtual | ~CANDriverInterface () |
The destructor. More... | |
Operations on the CAN interface | |
void | open (const std::string &deviceName, CANBaudRate baudRate=CAN_BAUDRATE_250K) |
Open the CAN interface. More... | |
void | close () |
Close the CAN interface. More... | |
uint8 | getBusLoad () const |
Returns the current load of the CAN bus. More... | |
General methods | |
CANDriverPtr | getDriver () const |
Returns a pointer to CAN driver. More... | |
Overloaded methods from CANInterface | |
virtual void | sendMessage (const CANMessage &pMsg) |
Send a new message over the CAN bus. More... | |
Outgoing messages | |
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 common interface to the CAN bus.
This class is able to handle different CAN drivers.
CANDriverInterface | ( | const std::string & | driver | ) |
Construct a new CAN interface.
[in] | driver | The requested driver type. |
|
virtual |
The destructor.
void open | ( | const std::string & | deviceName, |
CANBaudRate | baudRate = CAN_BAUDRATE_250K |
||
) |
Open the CAN interface.
[in] | deviceName | The device name. |
[in] | baudRate | The baud rate. |
void close | ( | ) |
Close the CAN interface.
uint8 getBusLoad | ( | ) | const |
Returns the current load of the CAN bus.
The computation of the bus load is based on the number of received bits in a certain time interval. The current implementation uses a time interval of about one second.
|
inline |
Returns a pointer to CAN driver.
|
virtual |
Send a new message over the CAN bus.
[in] | msg | The CAN message. |
Implements CANInterface.
|
inherited |
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. |
|
inherited |
Unregister an outgoing message listener.
[in] | pFuncID | The ID of the listener function, which should be removed. |
|
inherited |
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. |
|
inherited |
Unregister a message listener.
[in] | pFuncID | The ID of the listener function, which should be removed. |
|
inherited |
Add a callback for a specific PDO.
[in] | pFunc | The callback function. |
[in] | pPDO | The desired PDO ID. |
|
inherited |
Remove a PDO callback.
[in] | pFuncID | The ID of the callback, which should be removed. |
|
protectedinherited |
|
protectedinherited |