QT serial port base class for Posix_QextSerialPort and Win_QextSerialPort classes.
More...
|
| QextSerialBase () |
|
| QextSerialBase (const char *name) |
|
virtual | ~QextSerialBase () |
|
virtual void | construct (void) |
|
virtual const char * | name () const |
|
virtual void | setName (const char *name) |
|
virtual bool | open (int mode=0)=0 |
|
virtual bool | open (const char *name) |
|
virtual void | close ()=0 |
|
virtual void | flush ()=0 |
|
virtual Offset | size () const =0 |
|
virtual Q_LONG | readLine (char *data, Q_ULONG maxlen) |
|
virtual int | getch ()=0 |
|
virtual int | putch (int)=0 |
|
virtual int | ungetch (int) |
|
virtual bool | atEnd () const |
|
virtual void | setFlowControl (FlowType)=0 |
|
virtual FlowType | flowControl () const |
|
virtual void | setParity (ParityType)=0 |
|
virtual ParityType | parity () const |
|
virtual void | setDataBits (DataBitsType)=0 |
|
virtual DataBitsType | dataBits () const |
|
virtual void | setStopBits (StopBitsType)=0 |
|
virtual StopBitsType | stopBits () const |
|
virtual void | setBaudRate (BaudRateType)=0 |
|
virtual BaudRateType | baudRate () const |
|
virtual bool | isOpen () const |
|
virtual unsigned long | lastError () const |
|
virtual void | setDtr (bool set=true)=0 |
|
virtual void | setRts (bool set=true)=0 |
|
virtual unsigned long | lineStatus (void)=0 |
|
virtual int | bytesWaiting ()=0 |
|
virtual void | translateError (unsigned long)=0 |
|
virtual void | setTimeout (unsigned long, unsigned long)=0 |
|
virtual bool | isOpen (void) |
|
virtual Q_LONG | readBlock (char *data, unsigned long maxlen)=0 |
|
virtual Q_LONG | writeBlock (const char *data, unsigned long len)=0 |
|
|
bool | portOpen |
|
unsigned long | lastErr |
|
char | portName [PORT_NAME_SIZE_LIMIT+1] |
|
PortSettings | Settings |
|
QT serial port base class for Posix_QextSerialPort and Win_QextSerialPort classes.
- Version
- 0.70 (pre-alpha)
- Author
- Wayne Roth
A common base class for Win_QextSerialBase, Posix_QextSerialBase and QextSerialPort.
◆ QextSerialBase() [1/2]
QextSerialBase::QextSerialBase |
( |
| ) |
|
◆ QextSerialBase() [2/2]
QextSerialBase::QextSerialBase |
( |
const char * |
name | ) |
|
Construct a port and assign it to the device specified by the name parameter.
References name(), and setName().
◆ ~QextSerialBase()
QextSerialBase::~QextSerialBase |
( |
| ) |
|
|
virtual |
◆ atEnd()
bool QextSerialBase::atEnd |
( |
| ) |
const |
|
virtual |
This function will return true if the input buffer is empty (or on error), and false otherwise. Call QextSerialBase::lastError() for error information.
◆ baudRate()
BaudRateType QextSerialBase::baudRate |
( |
void |
| ) |
const |
|
virtual |
◆ construct()
void QextSerialBase::construct |
( |
void |
| ) |
|
|
virtual |
◆ dataBits()
DataBitsType QextSerialBase::dataBits |
( |
| ) |
const |
|
virtual |
◆ flowControl()
FlowType QextSerialBase::flowControl |
( |
| ) |
const |
|
virtual |
Returns the type of flow control used by the port. For a list of possible values returned by this function, see the definition of the enum FlowType.
◆ isOpen() [1/2]
bool QextSerialBase::isOpen |
( |
void |
| ) |
const |
|
virtual |
Returns true if the port associated with the class is currently open, or false if it is not.
◆ isOpen() [2/2]
bool QextSerialBase::isOpen |
( |
void |
| ) |
|
|
virtual |
Returns true if the port is currently open, false otherwise
◆ lastError()
unsigned long QextSerialBase::lastError |
( |
| ) |
const |
|
virtual |
Returns the code for the last error encountered by the port, or E_NO_ERROR if the last port operation was successful. Possible error codes are:
Error Explanation
--------------------------- -------------------------------------------------------------
E_NO_ERROR No Error has occured
E_INVALID_FD Invalid file descriptor (port was not opened correctly)
E_NO_MEMORY Unable to allocate memory tables (POSIX)
E_CAUGHT_NON_BLOCKED_SIGNAL Caught a non-blocked signal (POSIX)
E_PORT_TIMEOUT Operation timed out (POSIX)
E_INVALID_DEVICE The file opened by the port is not a character device (POSIX)
E_BREAK_CONDITION The port detected a break condition
E_FRAMING_ERROR The port detected a framing error
(usually caused by incorrect baud rate settings)
E_IO_ERROR There was an I/O error while communicating with the port
E_BUFFER_OVERRUN Character buffer overrun
E_RECEIVE_OVERFLOW Receive buffer overflow
E_RECEIVE_PARITY_ERROR The port detected a parity error in the received data
E_TRANSMIT_OVERFLOW Transmit buffer overflow
E_READ_FAILED General read operation failure
E_WRITE_FAILED General write operation failure
◆ name()
const char * QextSerialBase::name |
( |
| ) |
const |
|
virtual |
◆ open()
bool QextSerialBase::open |
( |
const char * |
name | ) |
|
|
virtual |
Opens a serial port by name. The string passed in the name parameter is associated with the object and subsequent calls to open() may use the no-parameter version. This function has no effect if the port associated with the class is already open. The port is also configured to the current settings, as stored in the Settings structure.
References name(), and setName().
◆ parity()
ParityType QextSerialBase::parity |
( |
| ) |
const |
|
virtual |
◆ readLine()
Q_LONG QextSerialBase::readLine |
( |
char * |
data, |
|
|
Q_ULONG |
maxlen |
|
) |
| |
|
virtual |
This function will read a line of buffered input from the port, stopping when either maxlen bytes have been read, the port has no more data available, or a newline is encountered. The value returned is the length of the string that was read.
Thanks to Olivier Tubach for the original version of this function.
◆ setName()
void QextSerialBase::setName |
( |
const char * |
name | ) |
|
|
virtual |
◆ stopBits()
StopBitsType QextSerialBase::stopBits |
( |
| ) |
const |
|
virtual |
◆ ungetch()
int QextSerialBase::ungetch |
( |
int |
| ) |
|
|
virtual |
This function is included to implement the full QIODevice interface, and currently has no purpose within this class. This function is meaningless on an unbuffered device and currently only prints a warning message to that effect.
Reimplemented in Posix_QextSerialPort, and Win_QextSerialPort.
The documentation for this class was generated from the following files: