Go to the documentation of this file.00001
00012
00013
00014 #ifndef CANSERIAL_PEAK_H_
00015 #define CANSERIAL_PEAK_H_
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "sdhexception.h"
00027 #include "serialbase.h"
00028 #include "basisdef.h"
00029 #include "sdhlibrary_settings.h"
00030
00031
00032
00033
00034
00035 NAMESPACE_SDH_START
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00048 class cCANSerial_PEAK_Internal;
00049
00050
00051
00055 class VCC_EXPORT cCANSerial_PEAKException: public cSerialBaseException
00056 {
00057 public:
00058 cCANSerial_PEAKException( cMsg const & _msg )
00059 : cSerialBaseException( "cCANSerial_PEAKException", _msg )
00060 {}
00061 };
00062
00063
00064
00078 class VCC_EXPORT cCANSerial_PEAK : public cSerialBase
00079 {
00080
00081 protected:
00082
00084 unsigned long baudrate;
00085
00087 int id_read;
00088
00090 int id_write;
00091
00092
00093
00095 int BaudrateToBaudrateCode( unsigned long baudrate )
00096 throw (cCANSerial_PEAKException*);
00097
00098 char m_device[64];
00099
00100 private:
00102 cCANSerial_PEAK_Internal* pimpl;
00103
00105 cCANSerial_PEAK( cCANSerial_PEAK const& other );
00106
00108 cCANSerial_PEAK& operator=( cCANSerial_PEAK const& rhs );
00109
00110 public:
00121 cCANSerial_PEAK( unsigned long _baudrate, double _timeout, int _id_read, int _id_write, const char *device="/dev/pcanusb0" )
00122 throw (cCANSerial_PEAKException*);
00123
00133 cCANSerial_PEAK( tDeviceHandle _peak_handle, double _timeout, int _id_read, int _id_write )
00134 throw (cCANSerial_PEAKException*);
00135
00137 ~cCANSerial_PEAK();
00138
00146 tDeviceHandle GetHandle();
00147
00151 void Open( void )
00152 throw (cCANSerial_PEAKException*);
00153
00155 bool IsOpen( void )
00156 throw();
00157
00159 void Close( void )
00160 throw (cCANSerial_PEAKException*);
00161
00163
00171 int write( char const *ptr, int len=0 )
00172 throw (cCANSerial_PEAKException*);
00173
00182 ssize_t Read( void *data, ssize_t size, long timeout_us, bool return_on_less_data )
00183 throw (cCANSerial_PEAKException*);
00184
00186 void SetTimeout( double _timeout )
00187 throw (cSerialBaseException*);
00188
00192 virtual tErrorCode GetErrorNumber();
00193
00199 virtual char const* GetErrorMessage( tErrorCode dw );
00200
00201 };
00202
00203
00204 NAMESPACE_SDH_END
00205
00206 #endif
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219