| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Vector plugin allows multi application access to single CAN
channels, but only the first application gets init access and
is allowed to set the configuration parameters.
On hardware devices you get an invalid access error, but the
virtual channels return an XL_ERROR and the connection fails.
[ChangeLog][CAN][Vector] Fixed XL_ERROR when try to set CAN-FD
configuration for a virtual channel which was already opened by
another application.
Fixes: QTBUG-123012
Pick-to: 6.7
Change-Id: Iafb770940025b5c71fd5db83e61edbb0f49254e2
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
|
| |
This is only an CAN plugin so we need to check the channel type.
If it is LIN or FlexRay do not add it to the channel list.
Change-Id: Id378611e996ee72481fd5ecf571c76910738800c
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When setting the CAN device to flexible data rate mode the correct
sampling point has to be set.
When invalid CAN-FD configuration is set, respond with correct
error instead of always complain about open port.
When the bit rate switch is set for the sending frame, also set the
corresponding Vector flag.
Also set it to QCanBusFrame when receiving from Vector backend.
When an payload higher than 8 is used, the DLC has to be set to the
correct indexes.
Fixes: QTBUG-99259
Change-Id: I07e91c74078be86de1c27f8c41a9b7709c9f9c48
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
| |
Use the correct bit mask to check for extended frame.
Change-Id: Ieb19534bbf2ab1b2e3d06ad56cb68caed10b7861
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
| |
Change-Id: I0695f9a8f494d110894aa01a1111cfeb1d1a039f
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From the changelog [1] and private mail requests I got aware,
that the MacCAN library changed all "Long" data types back to
32 bit to be compatible to the PeakCAN library, as the 64 bit
data types were used by accident.
This partly reverts 187999b06ee355d482374a3ea4b417d6d8185983
[1] https://www.uv-software.de/files/downloads/MacCAN/PCANUSB/Library/
OS_X_Library_for_PCANUSB_v0.10.readme
[ChangeLog][PeakCAN] The PeakCAN plugin is now compatible to
the MacCAN library 0.9 or higher. On the other hand, older
MacCAN libraries are no longer supported.
Change-Id: Ibcd4a015ee2b0172c52ae68e4f6dc3a468ed86d0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I805f044a494f0ed3066c9c132767d541108c0e2d
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: Ibfa4f2f7788f83b7032406de634ca4fb635d2131
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: I4702aec49e940c3a480b94cf8622155b9b688b9e
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: Ie17b09db5a4aa7bb0d33906360f1125e9632425c
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Taken from PCANBasic_enu.chm included in the PCAN-Basic library:
| Calculation of total of microseconds :
| micros + 1000 * millis + 0x100000000 * 1000 * millis_overflow
So our overflow was off by one.
Pick-to: 6.2
Fixes: QTBUG-98800
Change-Id: I6569c7efae22be3e81d54df7e1fce1f68faf0970
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
| |
Remove usages of outdated LGPL3 header that references LICENSES.LGPLv3
instead of LICENSES.LGPL3.
Change-Id: I2dd25a1a7d6ad3e3cbb06753bbc839e26f4a7b26
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes configure time warnings like
CMake Warning (dev) at qtbase/cmake/QtPluginHelpers.cmake:57 (message):
Plugins are not intended to be linked to. They should not have any public
properties, but SystecCanBusPlugin sets PUBLIC_LIBRARIES to the following
value:
Qt::Core;Qt::Network;Qt::SerialBus
Update your project to use LIBRARIES instead.
Call Stack (most recent call first):
qtserialbus/src/plugins/canbus/systeccan/CMakeLists.txt:5 (qt_internal_add_plugin)
This warning is for project developers. Use -Wno-dev to suppress it.
Pick-to: 6.2
Change-Id: Id287feb59e4a13d64868c4df6c1f77e10d90d2ca
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
In preparation for MinGW update.
Task-number: QTQAINFRA-4525
Pick-to: 6.2
Change-Id: I39315fbdf548194ca0c8577e781b3dfd3767c0d5
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
| |
* Local variable cannot be automatically moved due to constness.
Change-Id: I6d0a0ce624ada8affc8f98dbdfa11a1e2218e53d
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-95170
Pick-to: 6.2
Change-Id: I1d462fa520ab01ae41c54aa5c44e2ade716b050a
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* PasstruCAN: Untested
* PeakCAN: Tested on Windows with PCAN-USB Pro FD.
* SocketCAN: Tested on Linux with virtual and real hardware.
* SystecCAN: Tested on Windows with USBcanmodul2.
* TinyCAN: Untested
* VectorCAN: Tested with the virtual Vector interface.
* VirtualCAN: Tested on Windows and Linux.
Pick-to: 6.2
Change-Id: I3836a81a9cb1570a22b6264b34fca88ccc0ab57e
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QCanBusDeviceInfo] Added the CAN bus
plugin name to QCanBusDeviceInfo.
Custom plugins must be adopted to the changed
QCanBusDevice::createDeviceInfo() method.
Pick-to: 6.2
Change-Id: I44d658aaa6f873eecce447dd9ee4539c9fbe2043
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to ensure that the pre-existing QtNetwork library from the
b2qt SDK sysroot in the CI is not picked up.
This is likely a consequence of CMake not adding an -rpath-link flag
when linking. See QTBUG-86533 for details.
Task-number: QTBUG-86533
Pick-to: 6.2
Change-Id: Id05d49812f957c8a6c12c03f5ff633015bd63103
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This protected function is used from the CAN
plugins to create QCanBusDeviceInfo objects.
We want to add another parameter (plugin) to the
function in a follow-up commit, so let's first
remove unneeded overloads that were created during
Qt 5 times and only keep the very simple and the
all-embracing one.
While at it, remove the std::move calls as clang
gives performance warnings here:
socketcanbackend.cpp:149:23: error:
moving a temporary object prevents copy elision
socketcanbackend.cpp:149:23: note:
remove std::move call here
Pick-to: 6.2
Change-Id: Ie83db3cd3a9d6b40b2da4a9ce736861a0ee8359f
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
They were not during Qt 5 times due to our
binary compatibility promise.
Pick-to: 6.2
Change-Id: Ia5ddb114db9dc552515df5ab4b22d0c962a0a341
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Overriding QWinEventNotifier::event seems unusual,
so let's use the documented way and connect to the
activated signal.
As this was broken after 5.15 and 6.2 is the first
Qt 6 release, no changelog is needed.
Pick-to: 6.2
Fixes: QTBUG-95040
Change-Id: I294aa398a2ccd99012db855ed74935a944b2e6d2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The frame payload size is already checked in
TinyCanBackend::writeFrame and removing the
check here makes the code more in line with the
other backends.
Change-Id: I045b01b7bf5ae21bacc0c5783b66dc51bff139be
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old code did not take the size of the payload
QByteArray into account, so that for small payloads
read accesses outside the QByteArray data field
occurred.
While this should be no big problem in reality,
memory checkers like Address Sanitizer will report
such issues.
We now only copy the bytes the payload QByteArray
really provides. We can do this, as every derived
QCanBusDevice::writeFrame() method already does a
QCanBusFrame::isValid() check before enqueuing the
outgoing frames, so that the maximum length of the
payload field is always guaranteed, for CAN 2.0
as well as CAN FD.
[ChangeLog][CAN] Fixed potential read buffer
overflows when sending CAN frames in diverse CAN
backends which were detected by Address Sanitizer.
Pick-to: 6.2
Fixes: QTBUG-94695
Change-Id: I2e45f6c14ae0fe88ba83f52dd5db4ffe24dada58
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
| |
Change-Id: I31d8d50bc09c293422f98dde89b9a01767015df2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The pro2cmake.py conversion script faithfully reproduced the .pro files
for the plugins, which specified the libraries as public. But in CMake,
the implications of this are that public usage requirements should then
be propagated to consumers. We don't expect any consumers, since a
plugin is created as a MODULE library in CMake, so for Windows we don't
even have an import library to link with. The only exception to this is
for static builds where plugins are created as STATIC libraries
instead, but only in certain controlled situations do we then link to
plugins. Even then, usage requirements are not expected to propagate to
the consumers, so these relationships should always be specified as
private.
Pick-to: 6.2
Task-number: QTBUG-90819
Change-Id: Ia7a8f27d4eecf067055511577ec664ad857905cd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Fixes: QTBUG-94838
Change-Id: I29002db6dca6c5f2e19bd463c7f83f44cba2d009
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Jonas Larsson <jonas.larsson@systemrefine.com>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
| |
peakcanbackend.cpp(189): warning C4267: 'argument': conversion from 'size_t' to 'quint32', possible loss of data
Change-Id: I95b4042a7e7f1698ac419f85ff2392b21ff8daf1
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-93403
Change-Id: I1b8f3952284e7ec722716fa11e701b96d80a85f1
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a dedicated type instead of quint32
to mark a CAN bus frame identifier as such.
For now it is just an alias to quint32, but
can be changed to some other type for Qt 7.
[ChangeLog][QCanBusFrame]
Introduced a specific type QCanBusFrame::FrameId
for the CAN bus frames identifier. The new type
is a typedef to quint32 and therefore should be
source compatible.
Change-Id: Ie26aa69cd48eb9cee4c11a0c8f8ba74efae24b4f
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-91703
Change-Id: I6d0099a75f03765a858f037b398db9d79de49ed3
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They only place where this might break user code,
is for custom plugins using custom configuration
parameters.
For most users however, this type safety makes the
API easier to use.
[ChangeLog][QCanBusDevice]
All functions dealing with configuration parameters
now take a QCanBusDevice::ConfigurationKey instead
an int.
Fixes: QTBUG-89839
Change-Id: I0a1de5fdcfc4292b23599d4770102740a2df1601
Reviewed-by: Alex Blasche <alexander.blasche@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."
Pick-to: 5.15
Task-number: QTBUG-89066
Change-Id: Id3e518bc9687ee621e84cb961b230e1f00ee12b5
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-90399
Change-Id: I0521231e7d61809f38c44215b5cd923b292b9e02
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
|
|
|
|
|
|
|
| |
and fix resulting compile breaks.
Change-Id: I3d8e15723eb86ec91552f93bb7a5de46858c0495
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
| |
Task-number: QTBUG-84469
Change-Id: I3a3cd127fb9fed7b25d543a9c5af75c734397806
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|\
| |
| |
| | |
Change-Id: I5514315b4a8e45c968f874216cdec8f13582a647
|
| |\
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-84319
Change-Id: I4194980e3d5be1b6009d320d9b47809bac412504
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Amends 99a3d35350c8c474
Change-Id: I249572b8713cef4a0207a331cbb36afdcc252544
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I2fdb4b8b60e0796c4468e41e0e77256c036f903f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
So far only available for Windows, where the new code is much
faster. On my system, it takes 115 ms to enumerate both channels
of a PCAN USB Pro FD, instead of 901 ms withthe old method.
If no PCAN device is connected at all, it returns in 10 ms.
(Measured on Windows 7 Pro x64 in VirtualBox with Linux host).
On Linux, it has already been blazing fast with the old
enumeration code.
[ChangeLog][PeakCAN] QCanBusDevice::availableDevices() uses
PCAN_ATTACHED_CHANNELS on Windows now and gained a massive
speedup. The required PCAN-Basic-API is now 4.4.0 therefore.
Fixes: QTBUG-82115
Change-Id: Ic95b2f632110b0b1374b6eaa402cd228f278cdf2
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Can be useful to debug problems caused by old PCANBasic-DLLs.
Change-Id: I096611e2d7b7f36085a9784b91352245e161bf8e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I6ea56365fb2f4fb3d63d373861bce6c586938c39
|