| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to the documentation of QIODevice:
* http://qt-project.org/doc/qt-5.1/qtcore/qiodevice.html#waitForBytesWritten
* http://qt-project.org/doc/qt-5.1/qtcore/qiodevice.html#waitForReadyRead
these wait methods should not time out if msecs is -1.
Currently, the behavior does not match the expected behavior as the
negative values were overridden by zero. The operation returns as
soon as the event loop processing happens.
Now this problem is solved for Windows: the INFINITE flag has been
added to the WaitForMultipleObjects call. See the MSDN documentation
for details below:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms687025%28v=vs.85%29.aspx
Note: the check is added only for -1 to be consistent with the behavior
of other QIODevice subclasses. If it is any other negative integer, the
value will be cast to the corresponding positive value which will
indicate the waiting time.
Tested with Qt4 and then Qt5.
Change-Id: I2b8c8310723bca7beb9af0213edf4c855b5ac6ae
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) These baud rates were revealed for BSD 4 based operating systems. The
relevant Qt macro might be added in the future once the grouping is fixed for
all the baudrates. As for the time being, no other UNIX operating system has
support for this that that is being awared of, other than BSDs, so that may
result an easily maintainable code.
2) For future reference, it may be groupped separately from the "truly standard
rates" as they are not yet present on Linux (and perhaps other Unix variants)
and so forth. Therefore, it might result a simpler maintainable and more compact
code snippet.
3) It is unknown if other UNIX variants add support for these in the future, but
based on the last few decades, probably not any soon.
4) See the following headers for further details about the BSD, Mac and so forth
termios.h content:
OpenBSD: http://fxr.watson.org/fxr/source/sys/termios.h?v=OPENBSD#L228
FreeBSD: http://svnweb.freebsd.org/base/head/sys/sys/_termios.h?view=markup
Apple: http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/sys/termios.h
5) The following wikipedia page can also serve a good basis for checking what
the BSD 4 OS type includes for future reference if needed.
http://en.wikipedia.org/wiki/Berkeley_Software_Distribution#4.4BSD_and_descendants
6) The macros may be necessary in the future as a user might define the baudrate
on his own to get this right (i.e. with Qt4), but this can lead to confusion and
errors as the kernel will actually not support it. This remains to be seen.
7) Another change follows this one fixing the grouping for the baud rates
properly.
8) Thank you to Israel Lins Albuquerque for bringing up the topic on Gerrit.
Change-Id: I04afe63f956f4a03dc45a81c5431110b8754127d
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-32173
Change-Id: I225bc1e4dfe3c12d3441c86002305c542377cf5d
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) The previous 'dir' is incorrect because it should be plural for consistency
based upon the other variable names.
2) 'dir' can be misleading in the context where such a term is also used for
representing a directory, like in our case.
Change-Id: I650cc64c2669286a4d7ef071a2ab3b7b63228977
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) The termios struct is basically copied and pasted from the documentation:
http://linux.die.net/man/3/termios
Since, it is just an interface without complicated methods, it is not
copyrightable, so it is safe enough.
2) This is also the same situation with the two defines we need for the kernel
interface. They are just interface numbers, and not something that
copyrightable. This has also been double checked and discussed with Lars in
email.
3) The ::tcdrain convenience method cannot be used on Android, so the fallback
"raw" ioctl syscall is used with the relevant parameters, e.g. TCSBREAK.
http://linux.die.net/man/3/tcdrain
5) cfsetspeed seems to be a BSD 4.4 extension based on the termios(3) man page:
http://linux.die.net/man/3/termios
"cfsetspeed() is a 4.4BSD extension. It takes the same arguments as
cfsetispeed(), and sets both input and output speed."
... hence this is replaced with separate calls for input and output without a
specific Android "ifdef" in the code. It is actually also more consistent with
the setcfispeed and setcfospeed just right above that snippet.
Task-number: QTBUG-33139
Change-Id: If0abb8cec9e900fa2b6fc24df938cb778a344d55
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The call fcntl(fd, F_SETFL, FNDELAY) is superfluous because a flag FNDELAY
duplicates by functionality an existing flag O_NONBLOCK in open() function.
See more info, e.g.: http://linux.die.net/man/2/open
Tested on Gnu/Linux distro's with Qt4 and Qt5.
Change-Id: I01be72e78a9493af8077245cbf6a88e8c9d164ee
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
| |
Change-Id: Ic125079bd9154f9094aaf2878c514eeac2753038
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It does not make much sense to use branches for only a minor difference, hence
there is now a precheck for the host os and the quote variable is set
accordingly.
This is a slightly modified version of what QtCreator's qtcreator.pro is using.
Basically, single quote is used here for the quote variable rather than double
quote as double quote is causing issues at least on my machine.
Task-number: QTBUG-33125
Change-Id: I9eb0a0a62e1404a095cfc3b1bd68c519552d23b8
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This decision uses one identification string of the device instead of the
list of hardware identifiers. See more detail in MSDN:
* http://msdn.microsoft.com/en-us/library/windows/hardware/ff551106%28v=vs.85%29.aspx
* http://msdn.microsoft.com/en-us/library/windows/hardware/ff541327%28v=vs.85%29.aspx
The device instance ID unambiguously identifies the device in system and
contains necessary values of identifiers, that allows to resolve some
issues:
* we can abandon a patch: https://codereview.qt-project.org/#change,61633
and Task-number: QTBUG-32684 automatically will be resolved
* we can apply a patch: https://codereview.qt-project.org/#change,61752
because instance ID also contains the serial number info
Checked on Windows 7 and 8 with USB PL2303 converter, USB Modem ZTE MF180,
USB Android Modems, USB Motorola CDC ACM device.
Change-Id: If3b67b5b34d65de060a0e7682ba426cd94a01fa7
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Existence checking and linking of libudev is already carried out by means of
pkgconfig.
Change-Id: I5233ab2ce7ed342d95e8ba646b4024c8ad6b8a78
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, the q_ptr data member cannot yet be deleted from the internal
data class because QIODevicePrivate would need to be inherited then. That is not
a simple change considering the Qt4 support. Hence, that part of the logic is
put on hold, but can be expected in an upcoming change at some point, soon.
Change-Id: Ic8ba9621dd647f4afa1b91d01c858c836d1cc0c8
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Logically, these methods set the error on their member, the public QSerialPort
class, hence these are not const methods similarly to the public variant.
Change-Id: I1580cf371556c820ce8e7df43121bc2800b08b40
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
| |
Change-Id: I8293dfc6d492bac59fa830d499902cabdc8d95dd
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
This seems to be a usual practice by the majority of the Qt classes. There are
a few examples against it, but that is the minority.
Change-Id: I92f47f283a6cd279bc978761cb1ee375a514eeba
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\
| |
| |
| | |
Change-Id: Icf3f1dd9f471f33d129a74053c0599c6013170d7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The PCI identifiers are different to the USB identifiers, as in:
* USB: VID_, PID_
* PCI: VEN_, DEV_
For more info see MSDN:
* USB: http://msdn.microsoft.com/en-us/library/windows/hardware/ff553356%28v=vs.85%29.aspx
* PCI: http://msdn.microsoft.com/en-us/library/windows/hardware/ff546262%28v=vs.85%29.aspx
Therefore, the method availablePorts() skipped processing of PCI prefixes.
Now, problem was resolved.
Task-number: QTBUG-32018
Change-Id: I098a35a170043b9c58b74cb278e4daff34b1f84e
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will need a proper extension later with a dedicated timeout error for 5.2
which will follow this change.
See the following QIODevice subclasses for details to get a rough idea:
http://doc-snapshot.qt-project.org/qt5-stable/qtcore/qprocess.html#ProcessError-enum
http://qt-project.org/doc/qt-5.0/qtcore/qfiledevice.html#FileError-enum
http://doc-snapshot.qt-project.org/qt5-stable/qtnetwork/qabstractsocket.html#SocketError-enum
This will also mean, we need to duplicate the qt_safe_select and
qt_core_unix.cpp etc files as qt_safe_select is exported, but only from a
private header. Anyway, more explain to come for that change.
Task-number: QTBUG-32016
Change-Id: If10cd7b5575636f0f7ee3368258e80bd4766ff3a
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ie9cb797b15859da5e0a4dcfeba6736c6ab3245bf
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For Embedded "Freescale i.MX Linux" platform is added the filter for the
Motorola IMX serial ports.
These serial ports has names like "/dev/ttymxc*", see kernel sources:
* http://lxr.free-electrons.com/source/drivers/serial/imx.c?v=2.6.31
Task-number: QTBUG-32563
Change-Id: I97b33cdbc8f1a8ff72a171e52ddc10cc0f53b4a2
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is necessary to filter out events like ThreadChange. The documentation
writes "The object is moved to another thread. This is the last event sent to
this object in the previous thread.". See the following url for details:
http://qt-project.org/doc/qt-5.0/qtcore/qevent.html#Type-enum
Change-Id: I091a4c1fe7f64337835e8ee1492c47cc73322fdc
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ife35ae9f83e63f14f6eb56351454848933e9f3db
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|/
|
|
|
|
| |
Change-Id: Iecde0c3af8be02e73ba993bfb565dbba2a75ffa2
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
| |
It is more accurate this way as there might be scenarios, like Red Hat, where
the headers are not installed into $$QT_INSTALL_PREFIX/include.
Task-number: QTBUG-31966
Change-Id: I4be31a4b218aed008fecba81e8d2b91616cea370
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 4c67500e5d14e561e37b4bdc056f059d3eefdfa4.
"dev: unfrozen branch, containing alpha-quality code that is ready to go into
beta testing at any time"
... from: http://qt-project.org/wiki/Branch-Guidelines
Please respect the basic principles. In doubts, do not approve changes yourself,
but ask for help.
Besides the illegit nature of this change, it has fundamental documentation
issues as well. It is summer, and this can wait until 5.2, so please do /not/
rush with approvals.
Change-Id: Ic2763394035c776088cb28f9c04086920cedb3a2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
| |
Change-Id: I90fbcd6ce4f88869528ea8757aa7dd428c3adaa3
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
|
|
|
|
|
| |
Change-Id: I8e97e51801dbef8154f2dcba1bd2b9464486eccf
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Should be:
* consistent name with the rest
* static as it is used only once inside the desired method
* const int instead of enum for sanity and consistency
Change-Id: I7a7a7b894a559d03b02a4358c87c464045950253
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\
| |
| |
| | |
Change-Id: I82f533fb54d2c32ab0831f709320d2044eccc70e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Wrong comparison between unsigned variable waitResult and signed size of vector.
The waitResult variable was interpreted as signed data type, that led to an
wrong result of comparison (e.g. when waitResult = WAIT_FAILED (0xFFFFFFFF)).
The solution - convert the size of the array to an unsigned data type and
leave waitResult without conversion.
Thanks to "boo kan, ong".
Task-number: QTBUG-32017
Change-Id: Iff25304d3d0345f47e3edc363a999a7b979cb1bb
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Disabling the serial port driver's exclusive mode is necessary for
pseudo serial ports and some USB/serial adapters to work correctly.
Change-Id: I74d45feed619817b61e265b00aec8b0ebfae7a33
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-31964
Change-Id: I771ace406cc549e9c48d84fe90974487202ee14b
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I74ceefbb108c142fe260a5c86a9f610b0de91cde
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is more appropriate as it is a more abstract use case than just tightening it
to Windows.
Change-Id: I60d0ea472299b3048ad6762512d632d010366f95
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|\ \
| |/
| |
| | |
Change-Id: I08b51226675178ae62fa93c91bc8dd04d18bd62f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
device
A previous patch
* SHA1 ID: 2bcac223e64599eb74889975053f6547000b13cb
introduced a regression: after triggering of EV_TXEMPTY a reception of
data is stopped. The reason for this was an immediate return from the
handler processCompletionRoutine().
The solution - do not do an immediate return and let to call method
startAsyncRead().
Thanks to Dan
Task-number: QTPLAYGROUND-22
Change-Id: I1a6b358e6bbaba94527dc9db98a2ab046a8c6f05
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When transmitted data to the USB serial port of the class CDC ACM, is
triggered an unexpected TXEMPTY event, which we didn't add to a mask of
events in SetCommMask(). In this case handler processCompletionRoutine()
interpreted it as ResourceError.
This DCD ACM devices over USB connection using the Microsoft USB serial
driver (usbser.sys). Thus, allegedly, this behavior identical for all
standard CDC ACM devices on Windows.
Solution - check on unexpected EV_TXEMPTY flag and immediately return
true from processCompletionRoutine().
Thanks to Josh Handley.
Task-number: QTPLAYGROUND-22
Change-Id: Iac3eccc79e243e5bbf1a34cd44458c9ad265a5db
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|/
|
|
|
|
| |
Change-Id: I27019a0056156434a1151c09b3d5b38eba23897e
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This means that we are going to use the same branch name for the
dependencies as the branch of the repository under test.
If we are testing the 'stable' branch, all dependencies will point
to the 'stable' branch as well.
Change-Id: Ibb0cf31b90d04f280691859d66486803ff58cc78
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Removed redundant qdoc pages on supported
platforms, getting source, and building from source.
- Added a module page to list the C++ classes
- Removed unnecessary \module commands in several pages
- Made a few language edits to class documentation
- Updated the index page with some introductory content
- Fixed broken links to the examples
Change-Id: Ia7bd74b383f344426814db736f7bc4cd77c13992
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change 0add3b934b8405fc5b65efeba9f05cc1dc353e64 changed the API, and we had
a compromise in there to get the API changes in as soon as possible. This change
tries to address the suggested documentation and internal API changes.
Only tested on Linux with Qt 4.8.4 and Qt 5.1, so it might break on other
platforms.
Change-Id: I153e5a35d76beb26e04dbabf184bc9b90ef4b70b
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move examples into a dedicated 'serialport' directory. This is
in line with what the other modules do, and makes sure that
the examples show up in a sensible place even for the 'combined'
source packages.
Task-number: QTBUG-30912
Change-Id: Iefa2b634df3d2eb34f655b34f6fb24a224b78869
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
devinterfaces"
This reverts commit 3bfe998860e0bfd3ce48784188eaa0d58bf86da1.
Patch with enumerating of devices through interfaces GUID's enters many
regressions, breaks universality and complicates realization.
For example, it breaks enumeration of CDC ACM devices. Moreover, some devices
(like Nokia phones) has incorrect registration in Windows registry so
workaround will greatly complicates code.
Decision with use of GUID's interfaces was worse than the previous with use of
setup GUID's. Thus, was made the decision to roll away changes on really
working decision with Setup Class GUID's.
Now tested for devices:
* built-in serial port
* USB/Serial converter on PL2303 chip
* USB/Serial converter on FTDI chip
* USB/Bluetooth dongle with standard MS bluetooth stack
* USB/CDMA Modem ZTE MF180
* Com0com virtual serial ports
* Eltima virtual serial ports
* Telit virtual serial ports
* CDC ACM serial port on Motorola E398 phone
* CDC ACM (and modem) serial port on Nokia E95 phone
on Windows XP/7/8.
Task-number: QTPLAYGROUND-27
Change-Id: Icc893e9e54e51dbf78da2d132dab6db986d94e03
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|
|
|
|
| |
Change-Id: I28986ada705996ada22b30d10877ea9eed0dba8f
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
setBreak(false) to disable breaks are a bad idea. clearBreak(false) to
enable breaks are an even worse idea. So rename the function to
setBreakEnabled(), which follows existing Qt patterns.
Change-Id: I5f76afc3c9e7039b55be231f6be4d5d20ec2e537
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The commit
* sha1: 544f927c3724344d01d45d19151d236c143f8c83
entered regression of implementation of data writing to the
serial port.
Regression is that after data writing to the internal ring
buffer of a class these data really aren't transferred to
the serial port and remain in this buffer because no event
EV_TXEMPTY triggered. This event will occur only after the
serial port will transfer at least one byte of data and the
FIFO buffer of the driver becomes the free for transmission
of the next portion of data from ring buffer of class.
Thus the simplest decision is the forced call of WriteFile()
of function after each addition of the internal ring buffer
to trigger EV_TXEMPTY sequence. In this case we launch
WriteFile() implicitly through the notifyWrite() method with
the WriteChunkSize parameter (instead of one byte) to optimize
transmission for speed (theoretically).
WARNING: This decision is just a workaround and not a real fix,
shall be decided in the future in more correct and effective
way.
Tested for target:
"-platform win32-msvc2005 -xplatform wincewm50pocket-msvc2005"
on standard Pocket PC WM5.0 Device Emulator.
Task-number: QTPLAYGROUND-13
Change-Id: I4b3a36fa064dee92406a7511eb2b98b2a55e5315
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some previous commits entered regressions in compile process,
namely:
* sha1: 544f927c3724344d01d45d19151d236c143f8c83
After implementation of a new concept of internal architecture
of library, is entered regression for the indefinite eventMask
variable in the waitForReadOrWrite() method.
Solution - to define a variable into this method.
* sha1: 3ea635d74d4035c9036c2b7208b162620f51aa8b
Entered the name space regression for the class CommEventNotifier.
Solution - not to use a name space for this class.
Tested for target:
"-platform win32-msvc2005 -xplatform wincewm50pocket-msvc2005"
Task-number: QTPLAYGROUND-13
Change-Id: I9dbcc0023f06c1b0e6d7b1b670828650382ab785
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Earlier enumeration of devices was made through GUID classes. But
MSDN says that this approach became outdated (since Windows 2000),
and instead of classes it is necessary to use GUID interfaces.
See:
* http://msdn.microsoft.com/en-us/library/windows/hardware/ff545036%28v=vs.85%29.aspx
* http://msdn.microsoft.com/en-us/library/windows/hardware/ff545046%28v=vs.85%29.aspx
Thus there was a changeover of:
* GUID_DEVCLASS_PORTS by GUID_DEVINTERFACE_COMPORT
* GUID_CLASS_MODEM by GUID_DEVINTERFACE_MODEM
Of course, flags for the SetupDiGetClassDevs() function changed also.
This approach decided the following:
* Use of newer API for enumeration
* There is no need GUID classes for non-standard "purely" the virtual
devices (like com0com and so forth)
* There is no need to check for name "LPT" existence, because
GUID_DEVINTERFACE_COMPORT belong only to serial ports devices (instead
of GUID_DEVCLASS_PORTS that include serial and parallel ports).
It is checked on devices:
* Built-in serial ports
* USB/Serial converters (PL, FTDI)
* USB Bluetooth serial ports (with standard MS stack)
* USB modems (ZTE MF180)
* Com0com virtual serial ports
* Eltima virtual serial ports
* Telit virtual serial ports
It is checked on OS: Windows XP/Vista/7/8
Change-Id: I9da51d815ac5081a95113659be2b38ebd31275a4
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added:
* ttyAMA filter for AMBA serial ports, e.g. see
http://lxr.free-electrons.com/source/drivers/tty/serial/amba-pl011.c
* ircomm filter for infrared serial devices, e.g. see
http://www.tldp.org/HOWTO/html_single/Infrared-HOWTO/
Change-Id: I9e1cd04513a937f080978a7ecc7139a906de40f0
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Organizing the file a bit to make it match other qdocconf files.
Also, renaming \title Qt Serial Port to match other modules.
Change-Id: I65938cad5184ca886765272294ce07d117f77b5a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
|
|
|
|
|
|
|
|
| |
At present the Unbuffered mode isn't supported, therefore the
mentioning is deleted.
Change-Id: I399dd7ac79f6571a5d0738957120a046b2422fef
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
|