00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef BT_COMM_H
00021 #define BT_COMM_H
00022
00027 #include <fcntl.h>
00028 #include <termios.h>
00029 #include <sys/ioctl.h>
00030 #include <fcntl.h>
00031 #include <sys/time.h>
00032 #include <errno.h>
00033
00034 #include <qstring.h>
00035
00036 const int WAIT_TIME = 1;
00037 const int READ_TIMEOUT = 40;
00038
00039 class BtComm {
00040 public:
00041 BtComm();
00042 ~BtComm();
00043 bool isConnected(void);
00044 bool initPort(QString port);
00045 int closePort(void);
00046
00047 int readchar(int timeout);
00048 int sendSeq(const QString seq);
00049 int sendCommand(const QString cmd, QString& answer);
00050
00051 private:
00052
00053 int portfd;
00054 int portflags;
00055 int oldflags;
00056 int rtscts;
00057
00058 struct termios oldterm;
00059 struct termios portterm;
00060
00061 int read_tmo(char* buf, int len, int timeout);
00062 int sendCKPD(QString key);
00063 int put_command(QString command, QString& answer, int timeout);
00064
00065 };
00066
00067 #endif