cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
osaCANBus Class Referenceabstract

Generic CAN bus. More...

#include <osaCANBus.h>

Inheritance diagram for osaCANBus:
osaBitCtrl osaRTSocketCAN osaSocketCAN mtsRTSocketCAN

Classes

class  Filter
 

Public Types

enum  Rate { RATE_150 =150000, RATE_300 =300000, RATE_1000 =1000000 }
 The different CAN rates. More...
 
enum  Errno { ESUCCESS, EFAILURE }
 The different CAN rates. More...
 
enum  Flags { MSG_NOFLAG = 0x00, MSG_CONFIRM = 0x01, MSG_DONTWAIT = 0x02 }
 
enum  Loopback { LOOPBACK_ON, LOOPBACK_OFF }
 

Public Member Functions

 osaCANBus (osaCANBus::Rate rate, osaCANBus::Loopback loopback=osaCANBus::LOOPBACK_OFF)
 Default constructor. More...
 
virtual ~osaCANBus ()
 Default destructor. More...
 
virtual osaCANBus::Errno Open ()=0
 Open the CAN device. More...
 
virtual osaCANBus::Errno Close ()=0
 Close the CAN device. More...
 
virtual osaCANBus::Errno Send (const osaCANBusFrame &frame, osaCANBus::Flags flags=osaCANBus::MSG_NOFLAG)=0
 Send a CAN frame on the bus. More...
 
virtual osaCANBus::Errno Recv (osaCANBusFrame &frame, osaCANBus::Flags flags=osaCANBus::MSG_NOFLAG)=0
 Receive a CAN frame. More...
 
virtual osaCANBus::Errno AddFilter (const osaCANBus::Filter &filter)=0
 Add a CAN filter to the device. More...
 

Protected Attributes

osaCANBus::Rate rate
 The rate of the device. More...
 
osaCANBus::Loopback loopback
 

Detailed Description

Generic CAN bus.

The only thing this class does is to define the interface that must be implemented by a CAN bus. Any implementation of a CAN device depends on an actual device driver.

Member Enumeration Documentation

The different CAN rates.

Enumerator
ESUCCESS 
EFAILURE 
Enumerator
MSG_NOFLAG 
MSG_CONFIRM 
MSG_DONTWAIT 
Enumerator
LOOPBACK_ON 
LOOPBACK_OFF 

The different CAN rates.

Enumerator
RATE_150 
RATE_300 
RATE_1000 

Constructor & Destructor Documentation

osaCANBus::osaCANBus ( osaCANBus::Rate  rate,
osaCANBus::Loopback  loopback = osaCANBus::LOOPBACK_OFF 
)

Default constructor.

Initialize a CAN device with the given rate

Parameters
rateThe CAN rate
virtual osaCANBus::~osaCANBus ( )
virtual

Default destructor.

Member Function Documentation

virtual osaCANBus::Errno osaCANBus::AddFilter ( const osaCANBus::Filter filter)
pure virtual

Add a CAN filter to the device.

Call this method to add a CAN filter to the device. This is OS and dependant as it typically interacts with the driver to screen CAN frames.

Implemented in osaSocketCAN, osaRTSocketCAN, and osaBitCtrl.

virtual osaCANBus::Errno osaCANBus::Close ( )
pure virtual

Close the CAN device.

Implemented in osaSocketCAN, osaRTSocketCAN, and osaBitCtrl.

virtual osaCANBus::Errno osaCANBus::Open ( )
pure virtual

Open the CAN device.

Implemented in osaSocketCAN, osaRTSocketCAN, and osaBitCtrl.

virtual osaCANBus::Errno osaCANBus::Recv ( osaCANBusFrame frame,
osaCANBus::Flags  flags = osaCANBus::MSG_NOFLAG 
)
pure virtual

Receive a CAN frame.

Call this method to receive a CAN frame. The method can be blocking.

Parameters
frame[out]The CAN frame received from the bus
blockBlock the device until a CAN frame is received

Implemented in osaSocketCAN, osaRTSocketCAN, and osaBitCtrl.

virtual osaCANBus::Errno osaCANBus::Send ( const osaCANBusFrame frame,
osaCANBus::Flags  flags = osaCANBus::MSG_NOFLAG 
)
pure virtual

Send a CAN frame on the bus.

Call this method to send a CAN frame on the bus. The method can be blocking

Parameters
frame[in]The CAN frame to send on the bus
blockBlock the device until the operation is completed

Implemented in osaSocketCAN, osaRTSocketCAN, and osaBitCtrl.

Member Data Documentation

osaCANBus::Loopback osaCANBus::loopback
protected
osaCANBus::Rate osaCANBus::rate
protected

The rate of the device.


The documentation for this class was generated from the following file: