| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
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>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks go to Massimo Callegari for the initial patch and the request to remind
us again. Thanks also go to Denis and Sergey for working on the windows serial
number parser.
Task-number: QTBUG-31981
Change-Id: I60d882280f481eb99d275e0a9c81da50292b1c61
Reviewed-by: Massimo Callegari <massimocallegari@yahoo.it>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/serialport/qserialport.cpp
src/serialport/qserialportinfo_unix.cpp
Change-Id: I12658a9f92c91ab83f404c93a311ef947d1f2503
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-35184
Change-Id: Ie822943bcaf071024bc4f9782441b0534fcbd43d
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was an explicit option previously added into 5.2.0 due to lack of time to
implement this runtime resolution properly. The libudev load variable can now be
eliminated which also simplifies the packaging.
This change also takes care of avoiding the regression by not loading udev at
runtime at all for Qt 4. That has always been the case, so there are no
regressions there. A TODO comment has been left in the code though about it.
The helper free functions cannot be static because they are declared as friend
outside that source file. Ideally, we could have a better approach, but that
would require more significant refactoring, and such a revamp has to become
stable in the 'dev' branch before going into the 'stable' branch. Thereby, this
is an acceptable compromise.
It does not break binary compatibility either to remove or add friend
declarations to a class.
The change has been tested on Archlinux (x86_64) with Qt 4 and then 5 using the
cenumerator example. The change has been tested both with udev and without that,
i.e with sysfs on my Linux system.
Change-Id: Ia7d7ecb336c1de1913e1dd60177ae7469e90c329
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
| |
Change-Id: I8619ef269b124357a164e7f771058deda6fcb419
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As mentioned in the previous change, this is necessary for those end users who
would like to explicitly know if the device on the serial port has a valid
vendor or/and product identifier.
This is now providing a nice and convenient API for having a dedicated boolean
method for making this query possible. It is a lot more readable and convenient
to use than other alternatives including the extended scope for the integer
query method and so forth. It is more explicit and clear about the intention
that one checks if the device has a valid identifier. It would be more vague
with error codes and so forth. One somewhat reasonable alternative could be
this, albeit this is also more inconvenient:
a) bool vendorIdentifier(quint16 &vendorIdentifier) const;
b) bool productIdentifier(quint16 &vendorIdentifier) const;
... as this would require an additional variable from the user, and this
could not be used with ternary operators so easily, et cetera.
There are even worse ideas like how the exceptional conversion happens in
QString and so forth, but that also requires an explicit variable or zero if one
is sure the conversion should succeed. One can pass zero in there, but that is
still inconvenient and more than passing nothing, and zero can become unclear
what it supposed to present half or one year later.
The change has been tested on Linux with Qt4 and Qt5, and cenumerator works as
expected. The documentation has been added accodingly.
Task-number: QTPLAYGROUND-21
Change-Id: I905708ce0e67307bf89d69e645462486ad869b0c
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The API was established with a bit of insanity, namely: it returns raw strings
for the 16-bit vendor and product _numbers_. This brings lots of limitations
into the system aside from its silly nature, like how to handle lower and upper
case hex letters (a-f, A-F) and so forth.
Also, it is not clear whether the API should return zero aligned strings, or
whether or not to return the leading indicator of the hex format (0x). This is
now all being eliminated by switching to the 16-bit unsigned integer use.
There are mostly two use cases for the usage of this:
a) Comparison or mapping to find the requested port and device
This is getting very simple because it will mean a simple 16-bit
unsigned integer comparison which is cross-platform by its nature for
sure.
b) Display the string to the end user
This is for instance with an enumerator or terminal emulator
application, but in this special case the user can format the output of
the integer as wished. Then, it can easily become a cross-platform
display. Even customizing is simple enough to provide the native look'n
feel without the library forcing one particular type.
The documentation is being changed correspondingly. As for the future, if the
need even arises, the following methods could be considered for the info
provider class (QSerialPortInfo):
bool hasVendorIdentifier() const;
bool hasProductIdentifier() const;
... both can be added without any issues (i.e. in a binary compatible way).
The examples are updated now as well with presenting the usage of the new API.
The GUI emulator example got the string management a bit updated to be in line
with the console based emulator (cenumerator). In general, it is also a way more
reasonable way of putting a string together with so many placeholders. Also, the
argument and list management got a bit nicer formatting style per line break.
Testing: the change has been tested on Linux with Qt4 and Qt5.
Task-number: QTPLAYGROUND-21
Change-Id: I33683061787af94a797685794be9ebcfa90c499a
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
1) It is not consistent with the rest in QtSerialPort.
2) Even more importantly, it is not consistent with other Qt Project global
files.
Change-Id: I9d9262264bc2dbe5acfbce04013d9be08df2b47c
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
* This is for following the convention in the Qt Project with the rest.
* This fixes examples and tests to build now as all of them are broken due to
the regression.
Change-Id: I3f4d64d97466520aea621da582a64a0d97e32136
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This coding style for Qt is explained on the following link:
http://qt-project.org/wiki/Coding-Conventions
Change-Id: I2664dec4b9c0437ac348cb66393cc106b0e1d420
Reviewed-by: Alan Alpert <aalpert@rim.com>
Reviewed-by: Thiago Augusto Correa <thiago.correa@gmail.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
This change brings one step closer to the removal of the serialport namespace
define, but it has to wait for an agreement first.
This change fixes a couple of warnings when trying to build with Qt5.
Change-Id: I013efb24019817e1a6f650a5c32bc32464ca3bf0
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
"git log --follow /path/to/the/file/in/question" can be used, for instance, for
the renamed files to get the whole history.
Change-Id: I20da087ca88e2c179a6c3232772fa21575e0aa6a
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|