Menu

device::nic::CAN::PAXCAN< Driver > Class Template Reference

PAXCAN presents the generic CAN interface to the FAMOUSO middleware, against all algorithms regarding CAN transfers are implemented. More...

#include <PAXCAN.h>

Public Member Functions

 PAXCAN ()
void init ()
 initialize the subclasses
bool receive (typename Driver::MOB *mob)
 receives a CAN message
void receive_blocking (typename Driver::MOB *mob)
 receives a CAN message in a blocking manner
void transmit (typename Driver::MOB &mob)
 transmit a CAN message in a blocking manner

Protected Member Functions

bool interrupt_condition ()
 test if there is a message arrived and signalise the calling context, whether the interrupt condidtion is true or false

Detailed Description

template<class Driver>
class device::nic::CAN::PAXCAN< Driver >

PAXCAN presents the generic CAN interface to the FAMOUSO middleware, against all algorithms regarding CAN transfers are implemented.

Template Parameters:
the Driver is the underlying CAN driver, that could be a SocketCANDriver, PeakDriver or something else that provide a specific interface.

Constructor & Destructor Documentation

template<class Driver >
device::nic::CAN::PAXCAN< Driver >::PAXCAN (  )  [inline]

Member Function Documentation

template<class Driver >
void device::nic::CAN::PAXCAN< Driver >::init (  )  [inline]

initialize the subclasses

template<class Driver >
bool device::nic::CAN::PAXCAN< Driver >::interrupt_condition (  )  [inline, protected]

test if there is a message arrived and signalise the calling context, whether the interrupt condidtion is true or false

Returns:
true if a CAN message was arrived
false otherwise

References object::SynchronizedBoundedBuffer< T >::push_front().

template<class Driver >
bool device::nic::CAN::PAXCAN< Driver >::receive ( typename Driver::MOB *  mob  )  [inline]

receives a CAN message

Parameters:
[out] mob is filled with the arrived message if there was one
Returns:
true if a CAN message was arrived
false otherwise

References object::SynchronizedBoundedBuffer< T >::is_not_empty(), and object::SynchronizedBoundedBuffer< T >::pop_back().

template<class Driver >
void device::nic::CAN::PAXCAN< Driver >::receive_blocking ( typename Driver::MOB *  mob  )  [inline]

receives a CAN message in a blocking manner

Parameters:
[out] mob is filled with the arrived message if there was one

References object::SynchronizedBoundedBuffer< T >::pop_back().

template<class Driver >
void device::nic::CAN::PAXCAN< Driver >::transmit ( typename Driver::MOB &  mob  )  [inline]

transmit a CAN message in a blocking manner

Parameters:
[in] mob is CAN message that will be delivered

The documentation for this class was generated from the following file:
  • include/devices/nic/can/PAXCAN/PAXCAN.h