Trade equipment common library. 1.0.0
posix_qextserialport.h
1#ifndef _POSIX_QEXTSERIALPORT_H_
2#define _POSIX_QEXTSERIALPORT_H_
3
4#include <stdio.h>
5#include <termios.h>
6#include <errno.h>
7#include <unistd.h>
8#include <sys/time.h>
9#include <sys/ioctl.h>
10#include <sys/select.h>
11#include <fcntl.h>
12#include "qextserialbase.h"
13#include "teglobal.h"
14
15/* Get rid of QFile in TSerialPort */
16// Move to lib.pro
17//#define NOQFILE
18
19/*ensure handling of CRTSCTS constant*/
20#ifdef CNEW_RTSCTS
21#ifndef CRTSCTS
22#define CRTSCTS CNEW_RTSCTS
23#endif //CRTSCTS
24#else
25#ifndef CRTSCTS
26#define CRTSCTS 0
27#endif //CRTSCTS
28#endif //CNEW_RTSCTS
29
30#ifndef CMSPAR
31 #define CMSPAR 010000000000
32#endif
33
34//weird scoping issue with gcc 2.95 - this should fix it
35#ifdef QT_LARGE_FILE_SUPPORT
36 typedef off_t Offset;
37#else
38 typedef Q_ULONG Offset;
39#endif
40
42public:
45 Posix_QextSerialPort(const char* name);
49 virtual ~Posix_QextSerialPort();
50 virtual bool open(int mode=0);
51 virtual void close();
52 virtual void flush();
53 virtual Offset size() const;
54 virtual int getch();
55 virtual int putch(int);
56 virtual int ungetch(int);
57 virtual void setFlowControl(FlowType);
58 virtual void setParity(ParityType);
59 virtual void setDataBits(DataBitsType);
60 virtual void setStopBits(StopBitsType);
61 virtual void setBaudRate(BaudRateType);
62 virtual void setDtr(bool set=true);
63 virtual void setRts(bool set=true);
64 virtual unsigned long lineStatus(void);
65 virtual int bytesWaiting();
66 virtual void translateError(unsigned long);
67 virtual void setTimeout(unsigned long=0, unsigned long=0);
68
69#ifdef QTVER_PRE_30
70 virtual Q_LONG readBlock(char *data, uint maxlen);
71 virtual Q_LONG writeBlock(const char *data, uint len);
72#else
73 virtual Q_LONG readBlock(char *data, unsigned long maxlen);
74 virtual Q_LONG writeBlock(const char *data, unsigned long len);
75#endif
76
77protected:
78#ifdef NOQFILE
79 int m_fdFile;
80#else
81 QFile* Posix_File;
82#endif
83//protected:
84// QFile* Posix_File;
85 struct termios Posix_CommConfig;
86 struct timeval Posix_Timeout;
87 struct timeval Posix_Copy_Timeout;
88 void construct(void);
89};
90
91#endif
POSIX serial port class.
Definition posix_qextserialport.h:41
virtual void setBaudRate(BaudRateType)
Definition posix_qextserialport.cpp:837
virtual void setTimeout(unsigned long=0, unsigned long=0)
Definition posix_qextserialport.cpp:1280
virtual Q_LONG writeBlock(const char *data, unsigned long len)
Definition posix_qextserialport.cpp:379
virtual void setDtr(bool set=true)
Definition posix_qextserialport.cpp:1154
virtual int ungetch(int)
Definition posix_qextserialport.cpp:466
virtual ~Posix_QextSerialPort()
Definition posix_qextserialport.cpp:113
virtual void setParity(ParityType)
Definition posix_qextserialport.cpp:548
virtual void setStopBits(StopBitsType)
Definition posix_qextserialport.cpp:751
virtual void close()
Definition posix_qextserialport.cpp:225
virtual Offset size() const
Definition posix_qextserialport.cpp:261
virtual void flush()
Definition posix_qextserialport.cpp:242
virtual Q_LONG readBlock(char *data, unsigned long maxlen)
Definition posix_qextserialport.cpp:349
void construct(void)
Definition posix_qextserialport.cpp:151
virtual void translateError(unsigned long)
Definition posix_qextserialport.cpp:325
virtual unsigned long lineStatus(void)
Definition posix_qextserialport.cpp:1224
virtual void setFlowControl(FlowType)
Definition posix_qextserialport.cpp:486
virtual void setDataBits(DataBitsType)
Definition posix_qextserialport.cpp:657
virtual void setRts(bool set=true)
Definition posix_qextserialport.cpp:1180
virtual int putch(int)
Definition posix_qextserialport.cpp:436
virtual int bytesWaiting()
Definition posix_qextserialport.cpp:279
Posix_QextSerialPort & operator=(const Posix_QextSerialPort &s)
Definition posix_qextserialport.cpp:125
Posix_QextSerialPort()
Definition posix_qextserialport.cpp:40
virtual int getch()
Definition posix_qextserialport.cpp:408
virtual bool open(int mode=0)
Definition posix_qextserialport.cpp:173
QT serial port base class for Posix_QextSerialPort and Win_QextSerialPort classes.
Definition qextserialbase.h:168
virtual const char * name() const
Definition qextserialbase.cpp:243
Definition qextserialbase.h:158
Definition conv.h:259