| 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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Task-number: QTBUG-84469
Change-Id: I3a3cd127fb9fed7b25d543a9c5af75c734397806
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-84319
Change-Id: I4194980e3d5be1b6009d320d9b47809bac412504
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
|
|
|
|
| |
Continuation of a3aa54e
Change-Id: Ic6daa7a754f3c869094770ea3e47a097bf4afa84
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
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>
|
|\
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The original terminology is Error active, Error warning,
Error Passive and Bus Off. We map them to GoodStatus,
WarningStatus, ErrorStatus and BusOffStatus here.
[ChangeLog][QCanBusDevice] Added the function busStatus()
to query the CAN bus status from the CAN bus device.
Fixes: QTBUG-70766
Change-Id: I22b99e2a02a6b22509005dd177796b861d536281
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
|
|
|
|
| |
Seems we missed them when porting all other debug and
warning messages.
Change-Id: I3f083de2ed0c4d9bf73842a7e0c2e09f3883a3bb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
| |
there is no point in putting the owning module there.
Change-Id: I9bc49ae323a4bbc8cd35d10493c899466645bd44
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As reason for the fix, see section "3.4.1 XLevent" in the Vector
documentation XL_Driver_Library_Manual_EN.pdf, which states:
"portHandle: Internal use only".
This portHandle seems to be always zero and therefore channels
greater then zero could not receive frames.
Tested with Vectors simulated channels by sending frames to one
channel which in turn were received by both channels. The
sending channel had the local echo flag set, the other one not.
[ChangeLog][QCanBus][VectorCAN] Fixed a receive problem in the
VectorCAN plugin. When multiple channels were open, only the
first one could receive frames.
Task-number: QTBUG-67030
Change-Id: Ib76a04bc06e7b810d1c1cb092b79c4bc1aacf23a
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Mihai Baneu <bdmihai@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added description, serial number and channel for SocketCAN, PeakCAN,
SystecCAN, and VectorCAN plugins. For now, not all plugins do support
all kind of information:
SocketCAN: description and channel
PeakCAN: description and channel (Windows PCANBasic >= 4.2.0)
SystecCAN: description, serial number, and channel
VectorCAN: description, serial number, and channel
[ChangeLog][QCanBusDeviceInfo] Added description, serial number
and channel to QCanBusDeviceInfo, as far as supported by the
various plugins.
Change-Id: Ib2292e06065eb91848f682ebf69a4cc968f4d4ba
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The check for the correct data length is already done
by QCanBusFrame::isValid. Plugins that don't support
CAN FD should rather check for the CAN FD flag and
discard CAN FD frames with payload length < 8 also.
[ChangeLog][CAN bus plugins] The CAN bus plugins that
don't support CAN FD now also discard CAN FD frames
with payload length < 8.
Change-Id: I5a699a497b79dab2b8960fadc7fa30dbda6c4a62
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][CAN bus] Introduced categorized logging to the
CAN bus module which can be enabled by the "qt.canbus" and
"qt.canbus.plugins.<pluginname>" filters.
Change-Id: Ib39c0b2ebcd967cd7812602190807ad3488ccb18
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
warning: use of old-style cast
note: expanded from macro 'RESOLVE_SYMBOL'
Change-Id: Icd9ae4c8543e63f1c9cf99d130bf2c26012400be
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
| |
Change-Id: I6483232da88963f6dd46d05ebf990fe798b0b45e
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inspiration for change after reading the SocketCAN mailing list thread:
https://marc.info/?l=linux-can&m=147438437202356&w=2
The main usage is, to verify at application stage, that and when a
frame was really sent on the bus. For architectures like SocketCAN,
where multiple applications can connect to one CAN bus on the same
system, this flag also indicates frames that are sent by an other
local running application (i.e. not coming from the real bus).
Implementations done for SystecCAN, VectorCAN and SocketCAN plugin.
PCAN Basic does not seem to have support for this flag.
For SocketCAN, see section "4.1.7 RAW socket returned message flags"
in https://www.kernel.org/doc/Documentation/networking/can.txt
for reference.
[ChangeLog][QCanBusFrame] Added local echo flag to mark all echo frames
that are generated by the hardware on successful transmission to CAN bus
as such.
Change-Id: I66d4ce1ec6dfd0a0b994a7b7a9de1a5f503fcb70
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
xlOpenPort() fails to open "can0" when the Vector
vxlapi.dll is available, but no Vector device driver
is installed. Calling xlClosePort() afterwards crashes.
Before this patch, xlDeactivateChannel() and
xlClosePort() were called unconditionally as
part of VectorCanBackendPrivate::close() when
any VectorCanBackendPrivate::open() step failed.
Now xlClosePort() is only called when xlOpenPort()
succeeded. Also guard xlDeactivateChannel() for
consistence (doesn't make sense to call it on a
closed device), even if this never crashed for me.
Change-Id: Iad480f7e02ca8f45b8cc4d1d8930640b2d8cbeb2
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
| |
Change-Id: I9f5c41a5c3cd0c83f3835d29de22b76ac367cdbb
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
| |
All lines are still shorter than 100 chars and even
shorter as the longest line in this file.
Change-Id: I227b13f78b3b7628287729f40ffec7bfa06231db
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ic3dce0c8b91e9994c31763725de48f4900fd9bef
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/canbus/canbus.pro
src/plugins/canbus/vectorcan/vectorcanbackend.cpp
Change-Id: I3625693784e88204c93479806242ae70c7ec7ff3
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-58774
Change-Id: I9ac12dbb5ae267a063b3c60130ed86499bce22dc
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Beside the CAN ID, the bit XL_CAN_EXT_MSG_ID
is stored in event.tagData.msg.id. This bit
indicates, that the received frame has
extended frame format.
However, this bit must be masked before calling
QCanBusFrame::setFrameId(), otherwise the frame
is marked as invalid with the ID set to zero.
Most likely this was broken by commit
a54fd820916caed2fb13b1a38e57deb5d918f74f
Task-number: QTBUG-58840
Change-Id: I1814f19fe3ba8a7d057c42e112b62228fabf4206
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I7d38491c7ee15a1de788375acf9144c59b507d2a
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added a new QCanBusFactoryV2 to load plugins with the
new virtual function availableDevices().
To be able to still load plugins compiled against Qt 5.8,
both factories have to be considered when loading plugins
and creating devices.
Change-Id: I843cdd0b82193e391699daa298454c8b9522e860
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Amends commit 96406689fa3be46b1e7f4193c2d82b0407f543ad
Change-Id: I496a6d11b169eed419ffe75edcd77e55df9ea5a8
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Implement QCanBusDevice::ReceiveOwnKey for configuration
* Discard transmit echo frames when ReceiveOwnKey is disabled
Task-number: QTBUG-59037
Change-Id: I2a6ce5c6f9ca73225ec4cdb4ece776a05be4c906
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Mihai Baneu <bdmihai@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MinGW 5.3 64 bit raised the error
"format '%ls' expects argument of type 'wchar_t*', but argument 4
has type 'QString*' [-Werror=format=]"
Amends commit 96406689fa3be46b1e7f4193c2d82b0407f543ad
Change-Id: I591e1dd50fcaa3a91f59fadf1226cee438835d1b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|