Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00031 #ifndef __SERIALDEV_H
00032 #define __SERIALDEV_H
00033
00034 #include <stdio.h>
00035
00036 #define SERIAL_OK 0
00037 #define SERIAL_ERROR -2
00038
00039 #define BUFFER 254
00040 #define DEFAULT_PORT "/dev/ttyS1"
00041 #define DEFAULT_TRANSFERRATE 19200
00042 #define DEFAULT_PARITY "odd" //"even" "odd" "none"
00043 #define DEFAULT_SIZE_ARRAY 128
00044 #define DEFAULT_DATA_SIZE 7
00045
00046 class SerialDevice{
00047
00048 private:
00052 int fd;
00053
00054 bool bReady;
00055
00056 unsigned char SendBuf[BUFFER];
00057
00058 unsigned char RecBuf[BUFFER];
00059
00060 char cDevice[DEFAULT_SIZE_ARRAY];
00061
00062 char cParity[DEFAULT_SIZE_ARRAY];
00063
00064 int iBaudRate;
00065
00066 int iBitDataSize;
00067
00068 bool bCanon;
00069
00070 public:
00071
00072 SerialDevice(void);
00073
00074 SerialDevice(const char *device, int baudrate,const char *parity, int datasize);
00075
00076 ~SerialDevice(void);
00077 int OpenPort1(void);
00078 int OpenPort2(void);
00079
00080 int ClosePort();
00081
00082
00083 int ReceiveMessage(char *msg);
00084
00085
00086 int SendMessage(char *msg, int length);
00087
00088 int WritePort(char *chars, int length);
00089 int WritePort(char *chars, int *written_bytes, int length);
00090 int ReadPort(char *result);
00091 int ReadPort(char *result, int num_bytes);
00092 int ReadPort(char *result, int *read_bytes, int num_bytes);
00094 int Flush();
00096 char *GetDevice();
00098 void SetCanonicalInput(bool value);
00099
00100 private:
00101
00108 int InitPort(void);
00109 int GetBaud(void);
00111 int SetTermSpeed(int speed);
00112
00113 };
00114
00115 #endif