| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Change-Id: I24a9ee262255f9d42e54b7e701ceca7850383913
Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
| |
Change-Id: If86072aa6f5df1485856f4e07bb057106977ab8e
Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I6a4c3e446633e6f142b87c268096b1bdc1598a62
|
| |
| |
| |
| |
| | |
Change-Id: I01693dcdbd8a0e99a2845d16676c4e9302d244e6
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I057267982ac946ce1ec863a79120cd21cd563c4b
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\ \
| |/
| |
| | |
Change-Id: I1b9b5ff33064eab6e35e4fd57b72b8fbf2a5a022
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/serialport/qserialportinfo_osx.cpp
src/serialport/qserialportinfo_unix.cpp
src/serialport/qserialportinfo_win.cpp
src/serialport/qserialportinfo_wince.cpp
Change-Id: I9540cf8c714a99b7ace9aeaeb003cb4a00b8303e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It is impossible to implement this method properly on all
platforms. Its implementation is complicated and introduces
a side-effects, related to the race-conditions, permissions
and so on. The user can implement QSPI::isBusy() himself just
trying to open a desired device, what is equivalent to the
current implementation.
Change-Id: I71ef69a1a8edb7c4df23c8b2816add40475e00b5
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: I35f19a7d266f90e957bfe01534a40c4d98b40b34
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I0dcaa0ea10fa9ca4a04f5c3837ea70028fc9c0b8
|
| |/
| |
| |
| |
| |
| |
| |
| | |
... that simplified a code and its maintenance.
Change-Id: Ic4a7aa14a461bd99c745665c56300c13ab84691d
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|/
|
|
|
|
|
|
| |
Update old header.LGPL3 to header.LGPL
Change-Id: I1b17b6f798ee521d2e3bd8c37024df7cd65ee0c4
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
... when udev or sysfs are unavailable.
Task-number: QTBUG-50223
Change-Id: I90ec57bcb95e6ade70eb080f553f8324b7e84387
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
| |
We need to pass a full device path into isValidSerial8250() function.
Change-Id: I771a2518fa9ec89e9519992fd52413fb0e32a4fe
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Now QSPI return a list of virtual serial ports
which are created by the tty0tty driver:
http://sourceforge.net/p/tty0tty/wiki/Home/
Change-Id: I7389b5ac656d54056baffd0922596feff9fe3788
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implementation based on the sysctl(3) system call,
in which undocumented features are used.
This implementation tested only with the USB devices,
because there is no opportunity to check it as well with
an other stuff.
Also still it is impossible to extract the description
and the manufacturer properties from the source, because
they are merged inside of one string.
Tested with the USB devices (FTDI, Prolific, ZTE, Samsung)
using FreeBSD v10.
Change-Id: I0091e4db70bfdfd4da199dd9d89dc78cf8f632b0
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Commit 4328ab9709561842c680bc8bb7e4f2abc3ea3852 does not fix an issue,
because need to analyze ends of the deviceAbsoluteFilePath variable.
Change-Id: Idc16ab06bb06d5770fed2e05bd091fb53dd3307e
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
| |
Change-Id: I448179fd0ff07c45a3a7b74c675c8cc8e0579103
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-47210
Change-Id: I0dbed3e4e4f09b40f07f700652a762e68c27711d
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\
| |
| |
| | |
Change-Id: Ibf52d73727ece041fea18c0711f018ddf9cc7960
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The macro was added in the header file, but not in
the implementation file.
Change-Id: I51bc62eedbaba627fb525c04dc126bf0125e7a39
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For QLatin1String, startsWith/endsWith/append/operator==/... are overloaded,
so use QLatin1String instead of QStringLiteral in such cases.
Change-Id: Id040697480b7b7f195a2b83bb85ba7e0199d38e3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
It is the recommended coding-style which is used in the Qt core.
Change-Id: Id2efc3b2276b2d86d75fe0b7240077dbb61286f0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| | |
Change-Id: I3baab25e299862ef1dcefe1725577302c35e6118
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/serialport/qserialport_unix.cpp
src/serialport/qserialport_unix_p.h
src/serialport/qserialport_win.cpp
src/serialport/qserialport_win_p.h
src/serialport/qserialport_wince.cpp
src/serialport/qserialport_wince_p.h
Change-Id: Ibb917652b132e66fbb90f437bf762c1094911dc0
|
| |
| |
| |
| |
| | |
Change-Id: I41d67e9ca8d9cb6042b4d8de756a22d18b077dcd
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Usually, a Linux kernel reserves a places for the non-PnP serial
devices, for example, such as ttyS[0-4/14]. In case the system has not a
HW devices which are attached to this places, then these devices will be
stubs and present as usual serial ports. Thus, we can know about a
validity of these devices only in attempt to open them and to query a
type of.
Note: This patch is theoretical, because are not tested for a valid 8250
devices.
Task-number: QTBUG-32024
Change-Id: I313145caadfeeee4d5fe3c8e16c1bcf4ae79214d
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Earlier, the algorithm used check for magic keywords (like "usb",
"platform" and so on) in the target path for decision-making what
of device can be skipped or accepted. But this is a wrong approach,
because on different platforms can be different key-words and we
can not know it. So, it is more reasonable to use a different
approach where we make decision by a driver name (by analogy with
current udev implementation). In this case we skip those devices
which has an empty driver name or when a name is equal to
"serial8250".
* When a driver name is empty, then we can be sure that it is
other than serial port device (e.g. as pseudo-terminal, console
and so on). Thus, it is similar to udev devices without a parent,
which we ignore.
* When a driver name is "serial8250", it is equal to "platform"
devices, which we too ignore for current implementation. Though in
a future this can be solved (i.e. we can try to detect a valid
devices based on "serial8250" driver).
Tested on Linux with on-board and USB serial ports using Qt5.
Change-Id: I884ad8f3fddff9487ad4a67c4904b57f62164e00
Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I5c33421338e6a64dbadeb168cf165a84bedec5b9
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QSPI uses the wrong algorithm of devices search. In case no any devices
are detected with udev (or with sysfs), starts a search with a filters.
In this case a user gets a list of devices that are not a serial ports,
that is wrong.
The main idea should be in that udev or sysfs are the main sources of
obtaining information. In case they returns an empty list this means
that system has no serial ports.
Algorithm is:
Try to find devices through udev. If it fails (system error or udev is
not present), then try to find using sysfs; otherwise return udev result,
even if it has an empty list. If sysfs is fails (permission denied or
sysfs is not present), then try to find devices in /dev/ as last attempt;
otherwise return sysfs result, even if it has an empty list.
Tested on Linux (with udev, sysfs, filters) using FTDI serial ports.
Change-Id: I0132e27f720b007ea3f4861e9cd7ed77833cff8c
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: I35f551de8408a2eb6a0f39df1f09d90c8084a7c0
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/serialport/qserialport.cpp
src/serialport/qserialport.h
src/serialport/qserialport_unix.cpp
src/serialport/qserialport_unix_p.h
src/serialport/qserialport_win.cpp
src/serialport/qserialport_win_p.h
src/serialport/qserialport_wince_p.h
src/serialport/qt4support/include/private/qcore_unix_p.h
Change-Id: Ifaa5ce8c1c0eb1c70246c54782719b91f3c95771
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QSP incorrectly transforms non-standard device names to their paths
and vice-versa (for example, "/home/ttyS0", "//./COM1", and so on).
Now this problem is solved:
* The transformation code is moved to QSPP.
* Added autotests auto/qserialportinfoprivate to testing of
conversion algorithm. These tests are private and can be activated
with building of QtSerialPort with:
qmake "QT_CONFIG+=private_tests warnings_are_errors" \
DEFINES+=QT_BUILD_INTERNAL
Tested on Windows 8, Linux, OSX with auto-tests, with on-board
and virtual serial ports.
Task-number: QTBUG-38639
Change-Id: I43757a7f1390f53ed2b1d70de59c6bfb71892a59
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The method QSPI::isNull() should return false when QSPI is empty.
Tested on Winsows 8 and Linux with on-board, virtual and USB serial
ports using Qt5 and then Qt4.
Task-number: QTBUG-41262
Change-Id: Ic9e0afc5549311283aef7ec2ed841f5e418b7edf
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|/
|
|
|
|
|
|
|
|
| |
This is near to the internal Qt PIMPL style. Also it will allow
to use QIODevicePrivate is more smoothly in next patches.
Tested on Windows 8, Linux, OSX 10.9 with on-board serial port.
Change-Id: Ieef4b05d0bf11cf2da6420e58629bea1818108f9
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|\
| |
| |
| | |
Change-Id: Id7e66059233e8d07ba44cad19048d9cddc68e250
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem was caused by conflict of libudev symbols and function pointers
declared in qtudev_p.h.
Task-number: QTBUG-40113
Change-Id: I599575e8a1b9ffe32295331d46d991422975f773
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The device detection stopped if one of the sources reported at least
one device. This made onboard serial ports not listed if a USB device was
plugged in. Onboard serial ports are now detected and added to the list
of devices.
Change-Id: I8798e7f14073e19d9e206eb4d7cdd0b28bd8a0bb
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Tested on Linux with the USB (FTDI and TI) serial ports
using Qt4
Change-Id: I8c088bf8b6fe440565cc37538ca7ef029651fb61
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|/
|
|
|
|
|
|
|
| |
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL
Change-Id: I08685205169cdd4b49a651ed98f36ba1e6c1bb29
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building in OS X uses some shared code from the serialportinfo_unix.cpp
module with the OS X specific code from the serialportinfo_mac.cpp module.
Thus, all code of the serialportinfo_unix.cpp module, which not related
with the OS X, is shielded by a macro. It adds an excessive garbage for
readability in this module and also some confusion in the *.pri file.
It makes sense to make implementation of the serialportinfo_mac.cpp
module completely independent, that will simplify maintaining of source
code.
Besides are added tests which can reveal declared but not implemented
methods in building, and also to check a correctness of default values
at running.
Tested build on OS X 10.8.4 with Qt4, an then on Android with Qt5.
Change-Id: I67935b64e2b623fb8d4c14d59e1b87f1eac71c3e
Reviewed-by: Bernard Pratz <guyzmo+qt@m0g.net>
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
| |
Caused by I1a66164c.
Change-Id: I78973a509ff91a1302f435b1a23ecce432e56dd4
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Tested on Linux x86_64 with Qt 5.1.1
Change-Id: Ibea1204ece921c2c18ee37992380fbc33897be8d
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-37578
Change-Id: I9e9146a1f7339a88c63cb320a47f63f069a6120e
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|