From 03bff71737ab2732561586e966ab3966a42468d1 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Tue, 16 Feb 2016 12:54:08 +0300 Subject: Move QSPI::standardBaudRates() in one place Currently we do not need in multiple implementations of this method, and can move it to the qserialportinfo.cpp file. Change-Id: I9d27c739ebd07f76a0e4e808766052bf90d4c19b Reviewed-by: Sergey Belyashov Reviewed-by: Denis Shienkov --- src/serialport/qserialportinfo.cpp | 5 +++++ src/serialport/qserialportinfo_freebsd.cpp | 5 ----- src/serialport/qserialportinfo_osx.cpp | 5 ----- src/serialport/qserialportinfo_unix.cpp | 5 ----- src/serialport/qserialportinfo_win.cpp | 5 ----- src/serialport/qserialportinfo_wince.cpp | 5 ----- 6 files changed, 5 insertions(+), 25 deletions(-) diff --git a/src/serialport/qserialportinfo.cpp b/src/serialport/qserialportinfo.cpp index 3e7245e..ebeb6a0 100644 --- a/src/serialport/qserialportinfo.cpp +++ b/src/serialport/qserialportinfo.cpp @@ -36,6 +36,7 @@ #include "qserialportinfo.h" #include "qserialportinfo_p.h" #include "qserialport.h" +#include "qserialport_p.h" QT_BEGIN_NAMESPACE @@ -284,6 +285,10 @@ bool QSerialPortInfo::hasProductIdentifier() const Returns a list of available standard baud rates supported by the current serial port. */ +QList QSerialPortInfo::standardBaudRates() +{ + return QSerialPortPrivate::standardBaudRates(); +} /*! \fn QList QSerialPortInfo::availablePorts() diff --git a/src/serialport/qserialportinfo_freebsd.cpp b/src/serialport/qserialportinfo_freebsd.cpp index 49612f1..552db89 100644 --- a/src/serialport/qserialportinfo_freebsd.cpp +++ b/src/serialport/qserialportinfo_freebsd.cpp @@ -330,11 +330,6 @@ QList QSerialPortInfo::availablePorts() return serialPortInfoList; } -QList QSerialPortInfo::standardBaudRates() -{ - return QSerialPortPrivate::standardBaudRates(); -} - bool QSerialPortInfo::isBusy() const { QString lockFilePath = serialPortLockFilePath(portName()); diff --git a/src/serialport/qserialportinfo_osx.cpp b/src/serialport/qserialportinfo_osx.cpp index 5a0cdd8..be9897e 100644 --- a/src/serialport/qserialportinfo_osx.cpp +++ b/src/serialport/qserialportinfo_osx.cpp @@ -224,11 +224,6 @@ QList QSerialPortInfo::availablePorts() return serialPortInfoList; } -QList QSerialPortInfo::standardBaudRates() -{ - return QSerialPortPrivate::standardBaudRates(); -} - bool QSerialPortInfo::isBusy() const { QString lockFilePath = serialPortLockFilePath(portName()); diff --git a/src/serialport/qserialportinfo_unix.cpp b/src/serialport/qserialportinfo_unix.cpp index 2a66635..fe97476 100644 --- a/src/serialport/qserialportinfo_unix.cpp +++ b/src/serialport/qserialportinfo_unix.cpp @@ -459,11 +459,6 @@ QList QSerialPortInfo::availablePorts() return serialPortInfoList; } -QList QSerialPortInfo::standardBaudRates() -{ - return QSerialPortPrivate::standardBaudRates(); -} - bool QSerialPortInfo::isBusy() const { QString lockFilePath = serialPortLockFilePath(portName()); diff --git a/src/serialport/qserialportinfo_win.cpp b/src/serialport/qserialportinfo_win.cpp index 63cf642..140f191 100644 --- a/src/serialport/qserialportinfo_win.cpp +++ b/src/serialport/qserialportinfo_win.cpp @@ -345,11 +345,6 @@ QList QSerialPortInfo::availablePorts() return serialPortInfoList; } -QList QSerialPortInfo::standardBaudRates() -{ - return QSerialPortPrivate::standardBaudRates(); -} - bool QSerialPortInfo::isBusy() const { const HANDLE handle = ::CreateFile(reinterpret_cast(systemLocation().utf16()), diff --git a/src/serialport/qserialportinfo_wince.cpp b/src/serialport/qserialportinfo_wince.cpp index 3688bc3..7c60bee 100644 --- a/src/serialport/qserialportinfo_wince.cpp +++ b/src/serialport/qserialportinfo_wince.cpp @@ -120,11 +120,6 @@ QList QSerialPortInfo::availablePorts() return serialPortInfoList; } -QList QSerialPortInfo::standardBaudRates() -{ - return QSerialPortPrivate::standardBaudRates(); -} - bool QSerialPortInfo::isBusy() const { const HANDLE handle = ::CreateFile(reinterpret_cast(systemLocation().utf16()), -- cgit v1.2.1 From f4303a4d71b770ce4d990ff52efc6bedfb1020e5 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Tue, 16 Feb 2016 12:59:09 +0300 Subject: Fix documentation of QSPI::standardBaudRates() This method returns a list of baud rates which are standard for this platform, but not for the current serial port. Change-Id: Ic833aa41da8aab0caaaac054b66208c7094b4589 Reviewed-by: Sergey Belyashov Reviewed-by: Denis Shienkov --- src/serialport/qserialportinfo.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/serialport/qserialportinfo.cpp b/src/serialport/qserialportinfo.cpp index ebeb6a0..47db0d8 100644 --- a/src/serialport/qserialportinfo.cpp +++ b/src/serialport/qserialportinfo.cpp @@ -282,8 +282,8 @@ bool QSerialPortInfo::hasProductIdentifier() const /*! \fn QList QSerialPortInfo::standardBaudRates() - Returns a list of available standard baud rates supported by - the current serial port. + Returns a list of available standard baud rates supported + by the target platform. */ QList QSerialPortInfo::standardBaudRates() { -- cgit v1.2.1 From 4e1873cea12c747aaa021e529051bcb2d3e85bb8 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Thu, 18 Feb 2016 17:54:21 +0300 Subject: Get serial number of bluetooth USB dongle on Windows Now, the serial ports which are created by the bluetooth connection takes the serial numbers of the own USB bluetooth dongles. We enumerate all parent devices of a driver stack until their end has been reached, or the serial number has been found. Change-Id: I63820f34fd4c47992c3c5ef3c7ce63eca4ea0cf8 Reviewed-by: Sergey Belyashov Reviewed-by: Denis Shienkov --- src/serialport/qserialportinfo_win.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/serialport/qserialportinfo_win.cpp b/src/serialport/qserialportinfo_win.cpp index 140f191..451efef 100644 --- a/src/serialport/qserialportinfo_win.cpp +++ b/src/serialport/qserialportinfo_win.cpp @@ -264,16 +264,22 @@ static QString parseDeviceSerialNumber(const QString &instanceIdentifier) return instanceIdentifier.mid(firstbound + 1, lastbound - firstbound - 1); } -static QString deviceSerialNumber(const QString &instanceIdentifier, +static QString deviceSerialNumber(QString instanceIdentifier, DEVINST deviceInstanceNumber) { - QString result = parseDeviceSerialNumber(instanceIdentifier); - if (result.isEmpty()) { - const DEVINST parentNumber = parentDeviceInstanceNumber(deviceInstanceNumber); - const QString parentInstanceIdentifier = deviceInstanceIdentifier(parentNumber); - result = parseDeviceSerialNumber(parentInstanceIdentifier); + forever { + const QString result = parseDeviceSerialNumber(instanceIdentifier); + if (!result.isEmpty()) + return result; + deviceInstanceNumber = parentDeviceInstanceNumber(deviceInstanceNumber); + if (deviceInstanceNumber == 0) + break; + instanceIdentifier = deviceInstanceIdentifier(deviceInstanceNumber); + if (instanceIdentifier.isEmpty()) + break; } - return result; + + return QString(); } QList QSerialPortInfo::availablePorts() -- cgit v1.2.1 From 56c001b4fe378f1f1461f57a75e077ec8434a2ee Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Mon, 22 Feb 2016 15:27:52 +0300 Subject: Forbid the RTS changing when the HardwareFlowControl was set It is an error when the RTS changes manually when the HardwareFlowControl is set. In this case the driver operates with the RTS automatically, so manual control is not allowed. But some drivers ignore this requirement and do not return errors in attempt of manual RTS control. Thus, we have to forbid change of RTS and to return the UnsupportedOperationError error. Change-Id: I80bc87d51d9c653ed15ec310fca654243821b1e7 Reviewed-by: Sergey Belyashov Reviewed-by: Denis Shienkov --- src/serialport/qserialport.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/serialport/qserialport.cpp b/src/serialport/qserialport.cpp index 38bd150..481b07e 100644 --- a/src/serialport/qserialport.cpp +++ b/src/serialport/qserialport.cpp @@ -955,6 +955,11 @@ bool QSerialPort::setRequestToSend(bool set) return false; } + if (d->flowControl == QSerialPort::HardwareControl) { + d->setError(QSerialPortErrorInfo(QSerialPort::UnsupportedOperationError)); + return false; + } + const bool requestToSend = isRequestToSend(); const bool retval = d->setRequestToSend(set); if (retval && (requestToSend != set)) -- cgit v1.2.1 From b41b152ce7de19403b009218c103cbab2798fb83 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 12 Feb 2016 16:45:49 +0100 Subject: consistently put {qt,qml}_{module,plugin} at the end of project files ... (as far as possible). this fixes static builds by ensuring that all dependencies are exported. this does not fix any extant problem in this module. Change-Id: I9523385adebc8f9ee263bbb7010ebe30f8abe0f7 Reviewed-by: Joerg Bornemann Reviewed-by: Denis Shienkov --- src/serialport/serialport.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/serialport/serialport.pro b/src/serialport/serialport.pro index 92d0795..194958a 100644 --- a/src/serialport/serialport.pro +++ b/src/serialport/serialport.pro @@ -5,8 +5,8 @@ QMAKE_DOCS = $$PWD/doc/qtserialport.qdocconf config_ntddmodm: DEFINES += QT_NO_REDEFINE_GUID_DEVINTERFACE_MODEM -load(qt_module) - include($$PWD/serialport-lib.pri) +load(qt_module) + PRECOMPILED_HEADER = -- cgit v1.2.1 From a2467f9ec2d09d6d665d169e0fb450169f921b12 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Mon, 29 Feb 2016 16:42:03 +0100 Subject: Purge sRGB chunks from PNGs in documentation. Subjects each *.png file that matched grep -law "sRGB" to: pngcrush -ow -brute -rem allb -reduce -force Change-Id: Ifcb512c5f4ed8ff8ff0377b335abf4e133ac27cc Reviewed-by: Denis Shienkov --- .../doc/images/blockingmaster-example.png | Bin 4656 -> 3797 bytes src/serialport/doc/images/blockingslave-example.png | Bin 4784 -> 3918 bytes src/serialport/doc/images/enumerator-example.png | Bin 18510 -> 15557 bytes src/serialport/doc/images/terminal-example.png | Bin 10918 -> 8548 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/serialport/doc/images/blockingmaster-example.png b/src/serialport/doc/images/blockingmaster-example.png index 44aa5ec..9b5fc4a 100644 Binary files a/src/serialport/doc/images/blockingmaster-example.png and b/src/serialport/doc/images/blockingmaster-example.png differ diff --git a/src/serialport/doc/images/blockingslave-example.png b/src/serialport/doc/images/blockingslave-example.png index 44aa393..c02ae85 100644 Binary files a/src/serialport/doc/images/blockingslave-example.png and b/src/serialport/doc/images/blockingslave-example.png differ diff --git a/src/serialport/doc/images/enumerator-example.png b/src/serialport/doc/images/enumerator-example.png index c4add83..c96d990 100644 Binary files a/src/serialport/doc/images/enumerator-example.png and b/src/serialport/doc/images/enumerator-example.png differ diff --git a/src/serialport/doc/images/terminal-example.png b/src/serialport/doc/images/terminal-example.png index 28aa366..9affaae 100644 Binary files a/src/serialport/doc/images/terminal-example.png and b/src/serialport/doc/images/terminal-example.png differ -- cgit v1.2.1