summaryrefslogtreecommitdiffstats
path: root/src/plugins/canbus/vectorcan
Commit message (Collapse)AuthorAgeFilesLines
* VectorCAN: Set CAN-FD configuration only for uninitialized channelsStefan Steinwasser2024-03-271-15/+20
| | | | | | | | | | | | | | | | | 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>
* VectorCAN: Only return channels of type CANStefan Steinwasser2023-09-281-0/+2
| | | | | | | | 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>
* VectorCAN: Fix CAN-FD frame reading and sendingStefan Steinwasser2023-09-262-15/+110
| | | | | | | | | | | | | | | | | | | 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>
* VectorCAN: Fix extended frame flag on receiving CAN-FD frameStefan Steinwasser2023-09-091-1/+1
| | | | | | | Use the correct bit mask to check for extended frame. Change-Id: Ieb19534bbf2ab1b2e3d06ad56cb68caed10b7861 Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-231-1/+1
| | | | | | | 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>
* Add license headers to cmake filesLucie Gérard2022-07-071-0/+3
| | | | | | | | | | | | 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>
* Use SPDX license identifiersLucie Gérard2022-06-105-190/+10
| | | | | | | | | | | 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>
* Use up-to date LGPL license headerKai Köhne2021-11-305-55/+70
| | | | | | | | | 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>
* CMake: Do not use PUBLIC_LIBRARIES in pluginsKai Köhne2021-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | 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>
* CMake: Use renamed qt6_add_plugin PLUGIN_TYPE optionAlexandru Croitor2021-08-101-1/+1
| | | | | | | Task-number: QTBUG-95170 Pick-to: 6.2 Change-Id: I1d462fa520ab01ae41c54aa5c44e2ade716b050a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* CAN: Implement QCanBusDevice::deviceInfo() in the pluginsAndre Hartmann2021-08-052-0/+20
| | | | | | | | | | | | | | * 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>
* QCanBusDeviceInfo: Add method to obtain the plugin nameAndre Hartmann2021-07-231-1/+2
| | | | | | | | | | | | [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>
* CMake: Explicitly link against the built QtNetwork libraryAlexandru Croitor2021-07-231-0/+1
| | | | | | | | | | | | | 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>
* QCanBusDevice: Consolidate createDeviceInfo()Andre Hartmann2021-07-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* CAN: Make functions that should be virtual suchAndre Hartmann2021-07-222-5/+8
| | | | | | | | | | | 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>
* Peak/VectorCAN: Fix reading incoming frames on WindowsAndre Hartmann2021-07-201-8/+2
| | | | | | | | | | | | | | | 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>
* CAN: Fix overreading QByteArray bufferAndre Hartmann2021-07-191-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Remove QCanBusFactory and rename QCanBusFactoryV2 to QCanBusFactoryKarsten Heimrich2021-05-081-2/+2
| | | | | | | 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>
* QCanBusDevice: Replace int parameter with ConfigurationKeyAndre Hartmann2021-02-033-6/+7
| | | | | | | | | | | | | | | | | | 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>
* Port to CMakeAndreas Buhr2021-01-272-18/+15
| | | | | | | 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>
* Use QList instead of QVectorJarek Kobus2020-08-172-4/+3
| | | | | | Task-number: QTBUG-84469 Change-Id: I3a3cd127fb9fed7b25d543a9c5af75c734397806 Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Qt6: Port QtSerialBus module to QStringViewKarsten Heimrich2020-06-101-1/+1
| | | | | | | Task-number: QTBUG-84319 Change-Id: I4194980e3d5be1b6009d320d9b47809bac412504 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Init API structs without memsetAndre Hartmann2020-02-241-14/+7
| | | | | | | | Continuation of a3aa54e Change-Id: Ic6daa7a754f3c869094770ea3e47a097bf4afa84 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* VectorCAN: Add support for using CAN FDAndy Shaw2020-02-133-80/+337
| | | | | | | | [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>
* Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-261-7/+7
|\ | | | | | | Change-Id: I49240ebad0b08b728783a4e5137f12799cb5080c
| * Avoid conflicting class names if the plugins are linked staticallyAndy Shaw2019-10-221-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-09-242-2/+2
|\| | | | | | | Change-Id: I35dad8a57ea003c7d70f03651aa0604141c8b2db
| * CAN: Avoid symbol clashes on static buildsAndre Hartmann2019-09-232-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Add QCanBusDevice::busStatus()Andre Hartmann2019-07-173-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | CAN: Port qCritical in Tiny and Vector pluging to qCCriticalAndre Hartmann2019-04-291-3/+6
|/ | | | | | | | Seems we missed them when porting all other debug and warning messages. Change-Id: I3f083de2ed0c4d9bf73842a7e0c2e09f3883a3bb Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* remove pointless PLUGIN_EXTENDS stanzasOswald Buddenhagen2018-11-071-1/+0
| | | | | | | | 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>
* VectorCAN: Fix receiving frames with multiple open channelsAndre Hartmann2018-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* Add more info to QCanBusDeviceInfoAndre Hartmann2018-01-121-1/+6
| | | | | | | | | | | | | | | | | | | 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>
* CAN: Improve checking for unsupported CAN FD framesAndre Hartmann2017-11-151-1/+1
| | | | | | | | | | | | | | | | 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>
* CAN: Introduce categorized loggingAndre Hartmann2017-11-132-3/+10
| | | | | | | | | | [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>
* CAN-Plugins: Fix Clang Semantic Issue -Wold-style-castAndre Hartmann2017-10-051-1/+1
| | | | | | | | | 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>
* CAN-Plugins: Make some more d-pointers constAndre Hartmann2017-10-051-2/+2
| | | | | | Change-Id: I6483232da88963f6dd46d05ebf990fe798b0b45e Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* QCanBusFrame: Introduce local echo flagAndre Hartmann2017-07-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* VectorCAN: Fix crash when device open failsv5.9.0-beta4Andre Hartmann2017-04-251-0/+6
| | | | | | | | | | | | | | | | | | | | 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>
* CAN: Remove unneded core-private dependency for pluginsv5.9.0-beta3v5.9.0-beta2Andre Hartmann2017-04-131-1/+1
| | | | | | Change-Id: I9f5c41a5c3cd0c83f3835d29de22b76ac367cdbb Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* VectorCAN: Un-wrap medium long linesAndre Hartmann2017-04-121-10/+5
| | | | | | | | 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>
* VectorCAN: Fix error category for disconnection errorAndre Hartmann2017-04-121-1/+1
| | | | | | Change-Id: Ic3dce0c8b91e9994c31763725de48f4900fd9bef Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Merge remote-tracking branch 'origin/5.8' into 5.9v5.9.0-beta1Liang Qi2017-03-315-8/+12
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/canbus/canbus.pro src/plugins/canbus/vectorcan/vectorcanbackend.cpp Change-Id: I3625693784e88204c93479806242ae70c7ec7ff3
| * VectorCAN: Load vxlapi64.dll for 64 bit buildsAndre Hartmann2017-02-171-0/+4
| | | | | | | | | | | | | | Task-number: QTBUG-58774 Change-Id: I9ac12dbb5ae267a063b3c60130ed86499bce22dc Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * VectorCAN: Fix receiving frames with extended IDAndre Hartmann2017-02-162-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Updated copyright headersAndre Hartmann2017-02-025-5/+5
| | | | | | | | | | Change-Id: I7d38491c7ee15a1de788375acf9144c59b507d2a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | QCanBusFactory: Restore binary compatibility to Qt 5.8Andre Hartmann2017-03-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | VectorCAN: Improve error handling codeAndre Hartmann2017-02-281-2/+2
| | | | | | | | | | | | | | | | Amends commit 96406689fa3be46b1e7f4193c2d82b0407f543ad Change-Id: I496a6d11b169eed419ffe75edcd77e55df9ea5a8 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | VectorCAN: Fix receiving transmit echo for all sent framesAndre Hartmann2017-02-282-0/+7
| | | | | | | | | | | | | | | | | | | | | | * 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>
* | Fix format error by converting QString argument to wchar_t *Roland Winklmeier2017-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>