cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
osaCANBus.h
Go to the documentation of this file.
1 
2 
3 #ifndef _osaCANBus_h
4 #define _osaCANBus_h
5 
8 
10 
16 
17  public:
18 
20  enum Rate { RATE_150 =150000,
21  RATE_300 =300000,
22  RATE_1000=1000000 };
23 
25  enum Errno { ESUCCESS,
26  EFAILURE };
27 
28  enum Flags{ MSG_NOFLAG = 0x00,
29  MSG_CONFIRM = 0x01, // ask for a confirmation
30  MSG_DONTWAIT = 0x02 }; // enables non-blocking operation
31 
32  enum Loopback{ LOOPBACK_ON, LOOPBACK_OFF };
33 
34  public:
35 
36  // CAN Filter
41  class Filter {
42 
43  public:
44 
47 
49  osaCANBusFrame::ID id ) : mask( mask ), id( id ) {}
50 
51  };
52 
53  protected:
54 
58 
59  public:
60 
62 
68 
70  virtual ~osaCANBus();
71 
73  virtual osaCANBus::Errno Open() = 0;
74 
76  virtual osaCANBus::Errno Close() = 0;
77 
79 
84  virtual osaCANBus::Errno Send( const osaCANBusFrame& frame,
86 
88 
93  virtual osaCANBus::Errno Recv( osaCANBusFrame& frame,
95 
96 
98 
102  virtual osaCANBus::Errno AddFilter( const osaCANBus::Filter& filter ) = 0;
103 
104 };
105 
106 
107 #endif // _osaCANBus_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
osaCANBusFrame::Mask mask
Definition: osaCANBus.h:45
osaCANBusFrame::ID id
Definition: osaCANBus.h:46
Definition: osaCANBus.h:25
unsigned short Mask
Definition: osaCANBusFrame.h:27
unsigned short ID
The id of a CAN frame.
Definition: osaCANBusFrame.h:25
Filter(osaCANBusFrame::Mask mask, osaCANBusFrame::ID id)
Definition: osaCANBus.h:48
osaCANBus::Rate rate
The rate of the device.
Definition: osaCANBus.h:56
Errno
The different CAN rates.
Definition: osaCANBus.h:25
CAN frame implementation.
Definition: osaCANBusFrame.h:16
Generic CAN bus.
Definition: osaCANBus.h:15
Flags
Definition: osaCANBus.h:28
Definition: osaCANBus.h:28
Loopback
Definition: osaCANBus.h:32
Definition: osaCANBus.h:32
Rate
The different CAN rates.
Definition: osaCANBus.h:20
Definition: osaCANBus.h:41
osaCANBus::Loopback loopback
Definition: osaCANBus.h:57
Definition: osaCANBus.h:32