summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix mixed up vendor and product identifiersv5.3.15.3.1Oleg Shparber2014-06-141-2/+2
| | | | | | | | Caused by I1a66164c. Change-Id: I78973a509ff91a1302f435b1a23ecce432e56dd4 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* Remove the exception notifier handling for *nixDenis Shienkov2014-06-122-59/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The exception notifier does not do any useful operation while processing I/O but only complicates error handling. It has been thoughtlessly introduced at beginning in hope that in the future it can it is useful, but the practice showed that it not so. Problem is that in case of ejection of an open USB device from a host there is the infinite triggering of the exception notifier that leads to program hangup. We could stop an exception notifier in this case, but it not rationally because after the exception notifier is triggered the read notifier which also enters the infinite loop. Thus the read notifier anyway duplicates the exception notifier, as for functionality and as for an error code. Therefore more rationally to completely remove the exception notifier. So in case of the ResourceError we need just to stop of the read notifier, because it is a critical error. Then an user will be notified on the ResourceError appearance and must to close the device himself. Though work was checked only on Linux, but we can do not worry, and to refuse from this notifier in MacOSX also. Because anyway in MacOSX this type of notifier is not supported, at least from the Qt 5.1 and above: https://qt.gitorious.org/qt/qtbase/source/982fdd4ef556f63ba77384a0dbe97928e610091b:src/platformsupport/cfsocketnotifier/qcfsocketnotifier.cpp#L210 Besides in documentation on QSocketNotifier is recommended do not use the Exception mode: http://qt-project.org/doc/qt-5/qsocketnotifier.html#Type-enum Tested on ArchLinux 64 bit with the USB PL2303 device, ZTE modem, Android serial port using Qt4 and then Qt5. Task-number: QTBUG-36727 Task-number: QTBUG-35829 Change-Id: I4ea6db2a1c7f10c096d57817c00edefc4f0595ff Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Peter Kümmel <syntheticpp@gmx.net> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* Merge remote-tracking branch 'origin/5.3.0' into 5.3Oswald Buddenhagen2014-06-120-0/+0
|\ | | | | | | | | | | | | | | Manually adjusted: src/serialport/qserialport_unix.cpp to remove isCustomBaudRateSupported Change-Id: I22480b57d8c1b91ea7ea4a1da4ba3060e1a5f93f
| * Fix setting custom baud rates under Linuxv5.3.0release5.3.0Sergey Belyashov2014-05-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This regression was caused by 7c737e0edcb93585856c65890ef34e5c5a28ee6b. The initialization of the (current) serial port info was removed in that commit. Tested on Linux x86_64 with Qt 5.1.1 and 4.8.6. Task-number: QTBUG-38961 Change-Id: Idd3c5dc7eb37093848f33387563ff14567ac54fe Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into 5.3Sergio Ahumada2014-06-112-76/+96
|\ \ | | | | | | | | | Change-Id: I65f7cd2fdeced526c8bd7dc5bc4081e7687e7310
| * | Refactor the availablePortsByUdev() in favor to readabilitystableDenis Shienkov2014-06-071-48/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation of the availablePortsByUdev() function is a little complicated by excess "if/else" conditions and also too long lines, that worsens readability. It is reasonable to make the following: * To get rid of the big "if {...}" blocks in favor to immediate return from function in case of an error. It will allow to reduce a quantity of lines and will shift code alignment to the left. * To split declaration of some long variables and functions into separate lines, with length at least up to 80~100 characters. * To drop of the 'struct' keywords and the '::' global namespace operator for variables. Tested on ArchLinux 64 bit with the on-board and PL2303 serial ports using Qt4 and then Qt5. Tested build on Android x86 using Qt5. Change-Id: Iddc2a9511230e56e4a9d01a4c22af7b2eaeae60c Reviewed-by: Peter Kümmel <syntheticpp@gmx.net> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
| * | Use QScopedPointer (RAII) to do not care of the udev resourcesDenis Shienkov2014-06-071-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is a good idea to get rid from the manually releasing of the allocated udev resources. Tested on ArchLinux 64 bit with on-board and PL2303 serial ports using Qt4 and then Qt5. Change-Id: Ib25e100bea37ad3cc0bee015b7de6d4de762f2cc Reviewed-by: Peter Kümmel <syntheticpp@gmx.net> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
| * | Simplify of the availablePortsByUdev()Denis Shienkov2014-06-072-33/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no sense to use udev_device_get_subsystem() for comparing with the predetermined names of subsystems (like "pnp", "usb" and so on). This idea was preliminary and required further revising after accumulation of some statistic. The main ideas in favor of refactoring are given below: * It seems that reasonable to use the "ID_MODEL", "ID_VENDOR" and others identifiers to query of properties for all types of serial ports. We lose nothing, because in the worst case the getUdevPropertyValue() function will simply return an empty string, as before. * Earlier we excluded from the list all ports which have a subsystem with the "platform" name. Practice showed that for these devices is used the serial8250 driver. Therefore it is reasonable to exclude this type of devices by the name of drivers instead of by the name of subsystems. Also are made related changes: * Is added the resolving of chars for the new udev_device_get_driver() function * The functions of getting properties are wrapped for reduction of length up to 100 characters. Tested on ArchLinux 64-bit with the on-board, PL2303 serial devices using Qt4 and then Qt5. Tested build on Android x86 using Qt5. Change-Id: I1a66164ca1893180e1ed97524cff98b4a933a63b Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | | uclibc sets ENOENT when one tries to open a non-existing devicePeter Kümmel2014-06-091-0/+5
|/ / | | | | | | | | | | Change-Id: Ia5bcc1230af988f06923447f8cb1de5a8d585518 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Fix waitForReadyRead() on windowsDenis Shienkov2014-06-032-2/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit 2360c401ae2012ed1b5a2b470a088cbbdb0d7f27 introduced an regression into waitForReadyRead(). Before this commit each read transaction was started again until the zero number of bytes will returns from FIFO. When FIFO is empty, all data has been read, and only then the waitForReadyRead() return true. I.e. condition "qint64(readBuffer.size()) != currentReadBufferSize" does not mean that reading is finished. But after that commit this condition is incorrect, because now each read operation started once and can not return zero bytes (in case the number of read bytes less than ReadChunkSize). Thus it led to returning of TimeoutError error. Now, this issue has been fixed. Also is added the set of auto-tests to testing of the waitForReadyRead() method. Tested on Windows 7/8 using Qt5 and then Qt4. Task-number: QTBUG-39314 Change-Id: I8abbf986c2a1cc77af634ddbc1747fb46f416a39 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Improve the setStandardBaudRate() on LinuxDenis Shienkov2014-06-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The ASYNC_SPD_CUST flag shall be cleared only if it was earlier set; otherwise it is not necessary to touch of the serial struct. * Seems, that is more reasonable to return an error code when writing back of the serial struct is failed. In this case it is an error, because we know that serial struct is supported, since we got it successfully earlier. Tested build on Archlinux 64 bit using Qt4 and then Qt5. Tested build on Android x86 using Qt5. Change-Id: I54ca4772dc770dabac5e3555e6cb42ecc23255a4 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | Fix the error message for TimeoutError on WindowsDenis Shienkov2014-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At timeouts from the waitForX() methods are set a wrong error string. Thing in that the WAIT_TIMEOUT constant is not a system error, therefore call of GetLastError() returns a code of a system error which was set by someone earlier. Thus, it is necessary to extract text representation of an error directly from the WAIT_TIMEOUT constant without relying on GetLastError(). Tested on Windows 7/8 using Qt4 and then Qt5. Change-Id: Id7fdc71c1b64c39eed658148bb1b66ac8806f119 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Dyami Caliri <dyami@dragonframe.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Don't emit error in destructor of QSerialPort.Samuel Bryner2014-05-301-1/+2
| | | | | | | | | | | | | | | | | | | | QSerialPort::~QSerialPort() calls close() which emits an error if the port is already closed. This error signal may then call slots of already (partially) deleted objects. Task-number: QTBUG-39369 Change-Id: I28bf94564ae120619054c6920779da974dccdad6 Reviewed-by: Laszlo Papp <lpapp@kde.org>
* | Move out processing of ResoureError from processIoErrors()Denis Shienkov2014-05-272-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handling of the ResourceError is moved directly to _q_completeAsyncCommunication() method. Reasons: * The processIoErrors() should handle only the EV_ERR event. * The handling of ResourceError in the processIoErrors() it is the old heritage when the event processing logic was into the notifiers. Also the method processIoErrors() is renamed in favor to handleLineStatusErrors() for readability, according to documentation on EV_ERR mask: http://msdn.microsoft.com/en-us/library/windows/desktop/aa363479%28v=vs.85%29.aspx Tested build on Windows 7/8 using Qt4 and then Qt5. Change-Id: I6dc331933155f1e182b21f40885e47d574c4ed9f Reviewed-by: Dyami Caliri <dyami@dragonframe.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | Refactor unix setBaudRate() error handlingRafael Roquetto2014-05-272-37/+49
| | | | | | | | | | | | | | | | Return QSerialPort::SerialPortError instead of bool Change-Id: I79d731c1a0178ef0238495d7e9bb3e1b866e82c0 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Disable automatic header precompilation for QtSerialPortThiago Macieira2014-05-271-0/+2
| | | | | | | | | | | | | | | | There are two source files for this module only. Adding a header precompilation is more expensive than the benefit. Change-Id: I27f0756693ec655f56a781f94d14840ce48f71b4 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | Add test for the waitForBytesWritten() methodDenis Shienkov2014-05-261-0/+16
| | | | | | | | | | | | Change-Id: I4a6767196d205cf1f0715edfb9ea117a2d7fa5c9 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Fix compilation of qserialport auto-test with Qt4Denis Shienkov2014-05-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | 1. The QCOMPARE macro can not make type cast between "int" and "qint64", though on qt5 there are no problems. 2. The QSKIP macro should accept two input parameters. Tested build on Lixux 64bit and Windows with Qt4 and then Qt5. Change-Id: I1f8497201e8d704098faea789bc61829f0d2f9e4 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Add support for PCI vendor/device informationSergey Belyashov2014-05-241-11/+36
| | | | | | | | | | | | | | Tested on Linux x86_64 with Qt 5.1.1 Change-Id: Ibea1204ece921c2c18ee37992380fbc33897be8d Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Initialize dataTerminalReady and requestToSend.Dyami Caliri2014-05-231-17/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | QSP::open should read values of DTR/RTS after a successful open, not try to write them. The user should not expect to set DTR/RTS before opening the port (unlike the other settings). Tested on Mac OS X 10.8.5. Task-number: QTBUG-38640 Change-Id: Iffea464f412c6972aa26a408ba01e304fa813c76 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Inspect lock file to determine busy state.Dyami Caliri2014-05-232-12/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSPI was relying on QLockFile.isLocked() to determine if the port was in use. This was due to a misunderstanding of the QLockFile class design. Ideally the code in QSPI.isBusy() should be moved into a new method, QLockFile.available(), since it contains implementation details of that class. Note that isBusy() is for information purposes only, since checking for a lock without obtaining it is always racy. Change-Id: I675bd4033e4228e6bf864bf2e7a00a2520ccc50e Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Fix compilation of qserialport auto-test with Qt4Denis Shienkov2014-05-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | In qt4 the macro QCOMPARE can not make type cast between "int" and "qint64", though on qt5 there are no problems. Tested build on Lixux 64bit with Qt4 and then Qt5. Change-Id: I258f8ee4d26b65cc81720d66714ef69df23e7266 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Move the WinCE implementation into separate moduleDenis Shienkov2014-05-208-96/+587
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WinCE implementation was mixed a common code with the Win32 implementation that caused some problems with maintenance. More correct decision is moving a common code which was used in *win.cpp into *wince.cpp module without modifications. Now the Win32 and the WinCE implementation are independent from each other. Tested build with Qt5 on "win32-msvc2012" and then with Qt4 on "wincewm50pocket-msvc2008" configurations. Change-Id: I63f687468beffa9a75b534a4fbe536b854b12210 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Fix the waitForBytesWritten() behavior on WindowsDenis Shienkov2014-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The slot _q_completeAsyncWrite(), which is used inside of waitForBytesWritten(), returns void. To define the status of write completion method was used the last error code, where any value are not equal to NoError was interpreted as an error. But this behavior was incorrect because the error code number could be set by any other previous I/O operation and remained not cleared. Therefore waitForBytesWritten() always returns false. A good solution it is to compare size of the writeBuffer after completion of each write operation with zero, because the buffer should be empty. Tested on Windows 8 with the on-board and the USB serial ports and the cwritersync example using Qt5. Task-number: QTBUG-36758 Change-Id: I2cf6f9e08056d2e237211b19cff59990aac53bc1 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Use QTimer to defer starting of writing on WindowsDenis Shienkov2014-05-152-12/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Win32 API has not possibility to do same behavior as on *nix to defer a write operation to next event-loop. In *nix implementation enabling of the write SocketNotifier guarantees that write operation will begin on the following cycle of event-loop in case the TxFIFO of the driver is empty. It give an feature of deferred data transfer where is possible to use chain of the QSerialPort::write() methods which just accumulate data in writeBuffer. Also it gives the chance to simple implement of the waitForBytesWrite() method. But in Windows implementation the first call of the QSerialPort::write() leads to startup of data transfer. And the subsequent calls of this method simply accumulate data while the previous operation won't completed. It leads to a payload data are transferred by chunks and to increase of loading of the write notifier. Also it complicates implementation of the waitForBytesWritten() method which works not in compliance with documentation. The decision is use of additional QTimer with a zero interval which launches data transfer on the following event-loop cycle. Tested on Windows 8 using the virtual com0com serial ports and set of the cwriter(a)sync examples with use Qt5. Change-Id: Iaea404198e440f6cb191f168561c977d18e9f4ca Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Return after an error of the async write operationDenis Shienkov2014-05-151-1/+2
| | | | | | | | | | | | | | | | | | Tested on Windows 8 using the on-board and the USB serial ports and using Qt4 and Qt5. Change-Id: Idd25b81c9b6b2cd0b94e83fe30e6e7dad4dddfd6 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | QNX: Enable custom baud rateRafael Roquetto2014-05-141-0/+11
| | | | | | | | | | Change-Id: Iec4124886514c5bdeae1cf00e3b2e9432a2c75ee Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | Refactor QSerialPortPrivate::setBaudRate()Rafael Roquetto2014-05-142-69/+98
| | | | | | | | | | | | | | | | | | | | | | Split platform specific functions into their own setCustomBaudRate() methods to improve readability. As a side-effect, remove isCustomBaudRateSupported flag. Change-Id: Ia26d5472219756fbf186c78aa049bba72966d7b5 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | Use Q_NULLPTR for null pointer purposes with NULL fallback for Qt 4Laszlo Papp2014-05-133-4/+8
| | | | | | | | | | | | | | Change-Id: I5422376a26111f7c8e084791a059215238a16868 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Steven Ceuppens <steven.ceuppens@icloud.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2014-05-131-5/+4
|\ \ | | | | | | | | | refs/staging/stable
| * \ Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-081-5/+4
| |\ \ | | |/ | | | | | | Change-Id: I26db36a638685472296001d9982a157b8a6616b5
| | * Ensure both input and output baud rates are set.v5.3.0-rc1Dyami Caliri2014-05-031-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSerialPortPrivate::setBaudRate() wasn't trying to set the output baud rate for the port after successfully setting the input baud rate. Also, some devices (such as FTDI chips) on Mac don't respond properly if you call updateTermios() with mismatched baud rates, even if you later set them to be the same. Change-Id: I507fe10cba221bb4e43ded650dc44cc974de2414 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* | | Add a unit test to verify flush()Denis Shienkov2014-05-131-0/+96
|/ / | | | | | | | | | | | | | | On Windows a test will be skipped since flush() does not work there Change-Id: Ibda38401aff5f1c50644c6d61f9802217146a4fb Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Fix the default constructor test caseDenis Shienkov2014-05-031-3/+4
| | | | | | | | | | | | | | | | | | Commit 7c737e0edcb93585856c65890ef34e5c5a28ee6b introduced this regression by changing the default baud rate from 0 to 9600. Change-Id: If20315eb53c3416646541dda82add0f4fc12d4a3 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-012-4/+9
|\ \ | |/ | | | | Change-Id: Idadda494181f643ef1b7fc2b2fb16dc5d215e83a
| * Mark the settingsRestoredOnClose property deprecated since 5.3Denis Shienkov2014-04-281-3/+8
| | | | | | | | | | | | | | | | | | Commit bc0a65234440b6a08d862840a48ebae0d3421fbc incorrectly marked this api as deprecated since 5.2 Change-Id: Ia4ea3d7a394376a16511a3bf2ad8ba6e051bc24d Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Fix the flush regression on UnixKijam Lopez2014-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, flushing is not flushing the buffer to the device because it is calling the wrong function. Before flush() is invoked startAsyncWrite, but this did not flush the buffer when it was not empty. The only possible way to fix this is by invoking the function completeAsyncWrite, it first checks for pending information in the buffer for sending and then invokes startAsyncWrite if necessary. The following change caused the regression: 21f5049 Test Environment: Qt 5.3.0-beta1 and Qt 4.8.2. S.O.: 3.12.6-2kali1 i686 GNU/Linux. Fiscal Machine: SRP350 Bixolon. USB Adapter Serial Port: CH341 Task-number: QTBUG-38339 Change-Id: I5159b48f073d537a396b65484fcc2c3d37e4908c Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | Fix the serial number display in the terminal exampleDenis Shienkov2014-04-301-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | The display code was left out in commit 959775c41683033adbd99faab7e3d70e0009c143. Tested using FTDI device on Windows 8 with Qt5 and then on Windows 7 with Qt4. Change-Id: I9f665b2826ba03877346b25a569ca89b6a3dc4af Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | Enable QtSerialPort on QNXRafael Roquetto2014-04-284-2/+8
| | | | | | | | | | | | | | | | | | | | On QNX, the combination (IHFLOW | OHFLOW) is equivalent to the CRTSCTS flag. Only /dev/ser* ports can be enumerated. Tested on SVTronics UEVM5432 Omap5 board with QNX 6.6 Change-Id: I64b149258a525835e63f231b5291fa86637e3d2a Reviewed-by: Laszlo Papp <lpapp@kde.org>
* | Merge remote-tracking branch 'origin/release' into stableJani Heikkinen2014-04-231-0/+2
|\ \ | |/ | | | | Change-Id: Ibbec2e6f136f9d7fa0362944d5f98a40814cd202
| * Doc: Set example install path in documentation configTopi Reinio2014-04-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | Correct example install path is required for the example manifest file to contain valid paths to the .pro files. Task-number: QTBUG-38359 Change-Id: Ibfe98ed4f3402f2e1534b578d0caecf3676a6f36 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* | Bump MODULE_VERSION to 5.3.1Sergio Ahumada2014-04-181-1/+1
| | | | | | | | | | | | Change-Id: I46e1e634142ec2b34041ca876ca12bb10b52a9b6 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Do not start async read again if FIFO has no more dataDenis Shienkov2014-04-141-1/+1
|/ | | | | | | | | | | | | | | | | The FIFO reading currently happens in chunks. The current operation starts reading again even if there is no byte available instead of waiting. This increases the overhead of the library needlessly. The correct thing to do is to wait instead of start reading again when the last chunk is already handled. Tested on Windows 8 using the on-board and the USB serial ports and using Qt4 and Qt5. Change-Id: I1926b853d1666b273d6d67b4a3f40261f1ed54ff Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Don't remove -framework on Mac.Marcel Krems2014-04-031-2/+2
| | | | | | | | | | | "LIBS -= -framework QtSerialPort" removes all occurrences of -framework which breaks the build if you use a framework together with QtSerialPort. To avoid this we skip the call to qtAddLibrary under Mac. Task-number: QTBUG-37989 Change-Id: I53b71ad433e93c8c59d17c526ef2424db47bca15 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Remove the noisy comments from the terminal exampleLaszlo Papp2014-04-022-15/+0
| | | | | | | | | | | | | | If anything, this should be made clear in a different way, like proper variable names, inline convenience functions for naming, example documentation extension, and so on. This is also consistent with the other examples not using "water can" comments. However, these comments mostly add noise to the code without much benefit as far as I can tell. Change-Id: I9c4121d91ca2671d44c08cf986232422f136a785 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* Skip qt4support when generating documentation.Friedemann Kleint2014-03-251-0/+1
| | | | | | | | | Fix warnings: qtserialport/src/serialport/qt4support/src/qlockfile.cpp:57: warning: Overrides a previous doc qtbase/src/corelib/io/qlockfile.h:53: warning: (The previous doc is here) Change-Id: I75c93fd6dbd9bebfa506b2f606aeb8511a892305 Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Use QScopedPointer (RAII) for avoiding the memory leak for udevv5.3.0-beta1Laszlo Papp2014-03-181-13/+19
| | | | | | | Task-number: QTBUG-37578 Change-Id: I9e9146a1f7339a88c63cb320a47f63f069a6120e Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* Set the port settings before open in the examplesLaszlo Papp2014-03-1710-269/+16
| | | | | Change-Id: I946a3f1d3a64a9b8c0d901347aa8ff5959ebc601 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* Fixed info update for FTDI devices on AndroidLuke Andrew2014-03-081-2/+4
| | | | | | | | | Added check for Q_OS_ANDROID. If connected to Android, look for a valid TTY_USB id. Task-number: QTBUG-36296 Change-Id: Ic99b0ddd7afc6621e795e2f6cf2952cae6634fb0 Reviewed-by: Luke Andrew <codereview@lukeandrew.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Obsolete the "settings restore on close" APILaszlo Papp2014-03-073-5/+4
| | | | | | | | | Now that the settings detection is removed, it would be better to make this API deprecate because it does not make much sense anymore. It was a bad idea to add this, but we cannot remove it for now, hence the obsoletion. Change-Id: I5e02959cb54281995b911ff0f64bd2fa36b80060 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>