| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
tqtc/lts-5.15-opensource
Change-Id: I43c944790c691789c96a1e9f3b2a118a0589744e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
reinterpret_cast<char *>(&code) works on little endian, but not on big
endian, because code is an int (4 bytes value).
I fixed this bug earlier in afb7f76efafcb04e430168416d9d74113bde13bc,
but it was added back in 2c0bb738e988d84f36169e0103d051745b678479.
[ChangeLog][QModbusPdu] Fix reading from stream on big endian systems
Change-Id: Ic432d5c86aac40ec2acdc07b4c4881967a023966
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit e7ce9ac18b5a1ef33e2343d85a01bb7947d1668d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clarify that default Modbus client implementation does not handle all
FunctionCodes and that this needs to be implemented in the custom
Modbus clients. Also explicitly mention that UnknownError can also mean
that the received function code is not implemented.
This commit amends 09927894825d97197ffa656576e6be780371dda0
Fixes: QTBUG-103879
Change-Id: Ifb70107cda2595293b9759504fcfc1ca1a3abfa7
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
(cherry picked from commit 8360fcd497bcf6e52412629cd4e29f1ef05a93d6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|\|
| |
| |
| |
| |
| | |
tqtc/lts-5.15-opensource
Change-Id: Ifc7456c6db2585c8c3631dfd17f0ef96f76d8e16
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qSwap() is a monster that looks for ADL overloads of swap() and also
detects the noexcept of the wrapped swap() function, so it should only
be used when the argument type is unknown. In the vast majority of
cases, the type is known to be efficiently std::swap()able or to have
a member-swap. Call either of these.
Task-number: QTBUG-97601
Change-Id: I89336e147d12e6d6563fab2e76f5ae7eec4ff220
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit fe7cd7255f82b3884651045422192bd7960cb0be)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We did call the private function directly instead of the
publicly available first.
Fixes: QTBUG-101351
Cherry-pick: 6.3 6.2 5.15
Change-Id: Ied5aec749b04d6b530a9c44b3921382f877c7dc5
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
|
|\|
| |
| |
| |
| |
| | |
tqtc/lts-5.15-opensource
Change-Id: I394e9f92f78e76a3dfe5b7cb92ab94eba150ba0b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Hold it for the entire scope, not just for the line in which it is
declared.
Change-Id: I6d85e722c7fdda57c3e3b11898558f3b27cf4ccd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
(cherry picked from commit 77c706ed02d848f5f294237049da5560a3620a0c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|\|
| |
| |
| |
| |
| | |
tqtc/lts-5.15-opensource
Change-Id: Ibfaf27eedd35197b9b2ba306c0e437f15c5c9682
|
| |
| |
| |
| |
| | |
Change-Id: Iff78d4f410e62328fce04c0a7212aec961425427
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QModbusClient:
Checking for QModbusReply::Common will suppress calling into the
existing and supposed to be called QModbusClient::processPrivateRequest
function, which is to only way to handle a response from a raw request.
QModbusReply:
There was probably a workaround used since the QModbusReply does expose
the response and in case of QModbusReply::Raw the API user could still
get the reply and work their way through. Now you can get the result back,
proccessed by QModbusClient::processPrivateRequest if the user implements
it. The function behavior does not change, as in any case except the
QModbusReply::Common the the returned unit was invalid anyways.
[ChangeLog] Fix Modbus custom command response processing.
Task-number: QTBUG-91214
Change-Id: I09beeef9f236a29ffc0abf4b3dd323c9ce8ba1a4
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 09927894825d97197ffa656576e6be780371dda0)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We cannot early return with an invalid PDU if the private
minimumDataSize() functions returns a negative value. The
negative value might mean we hit a user defined function code,
so advance and call the user data size calculater if registered.
The broken function was only used by Modbus TCP implementations ,
so RTU was working correctly since it created the PDU differently.
[ChangeLog] Fix Modbus TCP custom command size calculation.
Fixes: QTBUG-62192
Fixes: QTBUG-91037
Task-number: QTBUG-91214
Change-Id: I2d421e073777306d86a83cd05a289481fa082501
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 2c0bb738e988d84f36169e0103d051745b678479)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|/
|
|
|
|
|
|
|
|
|
| |
This reverts commit 0e15c9ffa34cca126679d0b2a471bc32a470cd7f.
Revert of commercial license headers is required for Qt 5.15.3
opensource release.
Task-number: QTBUG-91108
Change-Id: I8a725dae9f681a4149dc7aa33ea57d5bcc15b7f9
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While this might not be the complete
solution for QTBUG-89066, this obvious
bug always led to the debug error message:
"Cannot apply parameter: 4 with value: X."
Task-number: QTBUG-89066
Change-Id: Id3e518bc9687ee621e84cb961b230e1f00ee12b5
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 4f73beb434fb8af2fef6d8f6185660097f3bda20)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updated header.COMM to the files in tqtc-qtserialbus. Examples,
tests and documentation files are not updated.
The commercial license header may contain some
additional lines so that its line count equals
with the earlier license header. Reason for this is
is that some autotests use hard coded line numbers
and a change in the line count causes failures in tests.
Task-number: QTQAINFRA-4216
Change-Id: Ib339fd35b4c59daa82458bd8796b967f2dfee1ca
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If only the package libsocketcan2 is installed,
no symlink libsocketcan.so -> libsocketcan.so.2
is created. Therefore loading the library fails.
In that case, retry with explicit version number
given.
[ChangeLog][Plugins][SocketCAN]
Fixed that libsocketcan could not be loaded when
no symlink libsocketcan.so -> libsocketcan.so.2
was present.
Fixes: QTBUG-87328
Change-Id: I815707aa7066fe0e27e702edc316d93c1418ca6d
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
(cherry picked from commit 9bea986b870e54bd04ccd23f2d204fbae16994b4)
|
|\
| |
| |
| | |
Change-Id: If4bc20fe1f799d5904cc80593994e9d880c950c4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][VirtualCAN] Added the missing emission
of the framesWritten() signal to writeFrame().
Fixes: QTBUG-83044
Change-Id: I3f278519f8076a9bf638bed5565464a92b97abf7
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
At least libsocketcan does not provide a bus status
for those. This patch prevents that CAN Example
requests the status every two seconds.
[ChangeLog][SocketCAN] QCanBusDevice::hasBusStatus()
now returns false for virtual CAN devices.
Change-Id: I214dfb320c999bb00c8ae93ddc9253efbe721969
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-82605
Change-Id: I89d1a08451127c8dc1522c91a5b4e992b4ca5878
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.h:91:5:
error: ‘canfd_frame’ does not name a type
That was already fixed earlier in 96d291cb,
but broken again by e23f4ced.
Fixes: QTBUG-82814
Change-Id: I8bfc4168165cf8e266b89e8327f88f862cf1b348
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I7e181efc5b004eb2bcf951c011861abd258cd700
|
| |
| |
| |
| |
| |
| |
| |
| | |
The std::is_pod trait is deprecated in C++20; is_trivial
and is_standard_layout exist since C++11.
Change-Id: I81610c85df059d398b1f7094a037c4e28dfcc41f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
GetLastError() return DWORD aka unsigned long,
while qt_error_string takes an int.
Change-Id: Ie0c543645c149a9714cdedfdd2ec39b5959fedb8
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Continuation of a3aa54e
Change-Id: Ic6daa7a754f3c869094770ea3e47a097bf4afa84
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I1efaf60109d17a370662ca2b57c20ac76a9fe523
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
|
|
|
|
| |
[ChangeLog][VectorCAN] Added CAN FD support to the VectorCAN plugin.
Change-Id: I7e72dafd13bb16b2db636a133502f0bdbc7a2ba6
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because that is already done in
QCanBusDevice::disconnectDevice()
before calling this private implementation.
Add a logging entry instead.
Change-Id: I4b7e4ba31a49e2a80d92e8dc0f24a8065d465f3a
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While the client sent a disconnect command to
the server, this was not handled on server side.
Thus, the client was never really Unconnected and
in turn it was not possible to connect again.
Fix that by closing the socket, that leads to
VirtualCanBackend::clientDisconnected() being
called and that sets the plugin to Unconnected.
In any case, the server keeps running until the
plugin is unloaded, even after the last client
is disconnected.
[ChangeLog][VirtualCAN] Fixed that the plugin
stayed forever in closing state and subsequent
connect calls always failed.
Change-Id: I7a490c55a3cb6bd193ba4783b48d1385aa85bcde
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fix several instances of incorrect parameter documentation, and
one incorrect \sa link.
Fixes: QTBUG-79831
Change-Id: Idefb514488adb3909e09d624a5b84b579fd4e71b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|\
| |
| |
| | |
Change-Id: I49240ebad0b08b728783a4e5137f12799cb5080c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtSerialBus is already using QtSerialPort which has a WriteNotifier and
ReadNotifier class in place. Therefore it is possible that if these were
linked in together into one application that there would be multiple
instances of the same class name which caused problems as it would think
that the WriteNotifier in QtSerialPort was a QTimer and not a
QSocketNotifier. So keep the names unique to be on the safe side.
Change-Id: I8667e3d4230b316d47e266ad1b4319cf5e74444b
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I35dad8a57ea003c7d70f03651aa0604141c8b2db
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Having the same function name in a global namespace
can lead the linker to pick an arbitrary one instead
the right one.
[ChangeLog] Fixed problems on static builds where
an arbitrary version of resolveSymbol() was used
instead the correct one.
Fixes: QTBUG-78546
Change-Id: I0ff9bc3e5905b3b9694dfe9d446b2a52700f213f
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
./qtserialbus/src/tools/canbusutil/readtask.cpp
line 71: view = QString::fromLatin1("%1.%2 ")
=> QString::fromLatin1() being passed a literal
line 77: QString flags = QLatin1String("- - ");
=> QString(QLatin1String) being called
Change-Id: I69a655a2fe58652aa54fd706706400663a40e997
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The listening option expects two parameters:
plugin and device.
But it was possible to call the program without
or with only one parameter, which lead to a crash
in util.start(args.at(0), args.at(1), data).
Fix that by always checking the argument size first.
Change-Id: I7c49bfc875f99286e1f04d1d4ef23b7971577363
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Symmetric operators, such as op== and op!=, shouldn't be members,
because member functions do not allow for implicit conversions on
the LHS argument, which introduces an asymmetry in how the RHS and
LHS arguments are handled by the compiler.
We could add the operators as non-member non-friend free functions,
but since Filter is a nested class, there's a lot of code between
the definiton of Filter and the point where we can lexically declare
the operators for the first time (after the definition of the outer
class). Code between these points does not see the operators and thus
behaves different from code that follows the the definition of the
outer class. This is subtle and while in the present case, there's
no indication that Filter may get an implicit conversion to some other
type which does have an equality operator, there's always the
possibility that such a thing might be added later, in which case code
using lhsfilter == rhsfilter in the body of QCanBusDevice would call a
different operator== than code outside it.
It's just safer to declare the operators as soon as possible, which
means as non-member friends.
Change-Id: Iadd097a9d64d0b1c912b750d6d89431b42def313
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Introduced in eca5edf45a8043
Change-Id: If1586d0b62b0544feee5b07289503966efa0f16d
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I9c2b985768be34308580940c4013448d027fc75b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I62f90b793fd5bcd64c727619f4064fa5f0cbed6d
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: If35c526887b32c06b25f2b59d2b43e09b0fcb248
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace QSerialPort::error(QSerialPort::SerialPortError) with
QSerialPort::errorOccurred(QSerialPort::SerialPortError).
Task-number: QTBUG-76491
Change-Id: Ic1d0a9ff89d346eca6cd2fd448cc02360c5e8783
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... in waitForFramesReceived() and
waitForFramesWritten().
Change-Id: Iadfe569de989f6bdc3aa6fae81a12b6a3ac2ee9c
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
More error messages can now be logged with the logging framework
or directly accessed with the errorOccurred() signal.
The new error codes QCanBusDevice::OperationError and
QCanBusDevice::TimeoutError were introduced to signal situations
where the device is not able to perform a specific operation
respectively when an operation timed out.
[ChangeLog][QCanBusDevice] Added the QCanBusDevice::OperationError
and QCanBusDevice::TimeoutError codes to signal wrong operation
respectively timeout errors.
Task-number: QTBUG-70449
Change-Id: Ifa0831bd0947b624579ae8662df10a2a9ce38714
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ia8b553317dcf3365d85b15c0ee89b098dd73585b
|
| |\
| | |
| | |
| | | |
Change-Id: I50f4404ea6cf077069ebd1f1494e3c4c0633d92c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Done-with: Jochen Bauer
Fixes: QTBUG-75502
Change-Id: I3a91c9b0c52985f5fe3ea357c8813c27ddbfd28d
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When adding the CAN FD functions to the PeakCAN plugin in
ac8509d992f4, the documentation was not updated properly.
This patch catches up on that.
Change-Id: Ib3d05d4aa8405226ede9616bd56ead1a8f98ea88
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I615a9113db1fcc2f787950dac70847d852d06a1d
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
So far, only CAN_RAW was allowed, but there might be
cases where other protocols are useful too.
The default value is still CAN_RAW, so all existing
applications will continue working.
[ChangeLog][SocketCAN] Added the configuration parameter
QCanBusDevice::ProtocolKey to use another protocol
inside the protocol family PF_CAN.
Fixes: QTBUG-75204
Change-Id: I8323ab8d77a569f51d3cd8c296b433352a3f5609
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|