summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12.6' into 5.12Qt Forward Merge Bot2020-01-073-20/+20
|\ | | | | | | Change-Id: I78703f2da399d804af6fe20ad3149899fa3e6fae
| * Avoid conflicting class names if the plugins are linked staticallyAndy Shaw2019-11-053-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> (cherry picked from commit f129107e472c179e47b37d8fdaff120d1eccc7f8) Reviewed-by: André Hartmann <aha_1980@gmx.de>
* | VirtualCAN: Fix disconnecting from busAndre Hartmann2019-11-221-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | 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> (cherry picked from commit f47b712057676de6115d7320cbbc2eb9b20c9817)
* CAN: Avoid symbol clashes on static buildsAndre Hartmann2019-09-238-8/+8
| | | | | | | | | | | | | | | | 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> (cherry picked from commit 80144b89ca1adede0db9d6e485037f5e431216c3) Reviewed-by: André Hartmann <aha_1980@gmx.de>
* SocketCAN: Fix compiler error "‘SIOCGSTAMP’ was not declared"Andre Hartmann2019-07-091-0/+1
| | | | | | | Fixes: QTBUG-76957 Change-Id: I8c4c86aa23137d67f5d20eedfe1c46a241c0632b Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Systec: Fix error message "Cannot configure TxEcho for open device"Andre Hartmann2019-04-111-3/+3
| | | | | | | | | | | | | | | | | | | When using the QCanBusDevice::ReceiveOwnKey, it has to be applied before the device is opened. While this already correctly happened in SystecCanBackendPrivate::open(), the parameter was applied again in SystecCanBackendPrivate::setConfigurationParameter() which led to the error message. Solution is to skip ReceiveOwnKey when applying all configuration parameters in SystecCanBackend::open(), like already done there for BitRateKey. [ChangeLog][SystecCAN] Fixed the error message "Cannot configure TxEcho for open device" when QCanBusDevice::ReceiveOwnKey was used. Change-Id: I37c1732798a3ce205a65ca803a99b5b7b9306d2a Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* VirtualCAN: Slightly adopt debug outputAndre Hartmann2019-03-251-4/+4
| | | | | | | | | | | | | | | | | | | Remove the colons from a few places to make their output similar to the debug output in other lines. Example (omitting qt.canbus.plugins.virtualcan prefix): Server [0x7f19684903c0] constructed. Server [0x7f19684903c0] could not be started, port 35468 is already in use. Client [0x5586262ecaa0] socket created. Client [0x5586262ecaa0] socket connected. Client [0x5586262ecaa0] received: '0##f9ffad71e96cb5ee'. Client [0x5586262ecaa0] socket disconnected. Client [0x5586262ecaa0] socket destructed. Server [0x7f19684903c0] destructed. Change-Id: I6d91282a262c58e2c983ee6db5c030698197c9f6 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* remove pointless PLUGIN_EXTENDS stanzasOswald Buddenhagen2018-11-077-7/+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>
* Add a virtual CAN bus pluginAndre Hartmann2018-08-016-0/+567
| | | | | | | | | | | Based on a TCP/IP server/client infrastructure, to allow testing programs against a second program without CAN hardware connected. [ChangeLog][QCanBus] Added a generic virtual CAN bus plugin. Task-number: QTBUG-61837 Change-Id: I7acf04bd476b65b4d1d04254463d61a4dc9042d5 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* PeakCAN: Fix Clang warning about sign conversionAndre Hartmann2018-05-181-1/+1
| | | | | | | | | | Introduced by e0e89f0719497d43fcbd14a2c8d17bcaaf595a78 which changed the constants PCAN_CHANNEL_AVAILABLE and FEATURE_FD_CAPABLE to unsigned integers. Change-Id: I0d9278d2842180230ac3d744595151762de77794 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-201-1/+1
|\ | | | | | | Change-Id: I02db5c1b8c8445ec96c79cc26bdf4fbb84720d5e
| * 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>
* | PeakCAN: Adopt symbols file to latest pcanbasic.hAndre Hartmann2018-03-191-149/+177
| | | | | | | | | | | | Change-Id: I802c68d7ea6422640a83d7e5ea17c591a8e3d078 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | PeakCAN: Add CAN FD functionalityAndre Hartmann2018-03-153-50/+269
|/ | | | | | | | | | | | | | | | | | | Tested on Windows 7 with PCAN-USB Pro, both channels connected, one side connected to PCAN-View, other side to CAN-Example. The bitrate handling is done according the information in the following threads: https://www.peak-system.com/forum/viewtopic.php?f=41&t=1756 https://www.peak-system.com/forum/viewtopic.php?f=177&t=1257 [ChangeLog][QCanBus][Plugins] Added CAN FD functionality to the PeakCAN plugin. Therefore the minimum required PCAN-Basic version is now 4.0.0. Task-number: QTBUG-62959 Change-Id: I76180d3e251969bfaa324708de6b7e39487b45f3 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* SYSTEC: std::move received frames into vectorv5.11.0-beta1Andre Hartmann2018-02-191-1/+1
| | | | | Change-Id: I11ca3256347075cf9767eba4667a6ab3da671baf Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-203-1/+11
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ibcb5508d7f131cbeba0d047111177a8dff1e5f68
| * Merge remote-tracking branch 'origin/5.9' into 5.105.10Liang Qi2018-01-182-1/+10
| |\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: If12daffe4655f71d9aea39e0ed9e0db405a09fe7
| | * TinyCAN: Intermediate fix for availableDevices()Andre Hartmann2018-01-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Currently there is no way to detect the available devices * The existing code lead to compile errors with MSVC2013 * Also fix the documentation while at it [ChangeLog][QCanBus][Plugins] The function availableDevices() now returns an empty list for the TinyCAN plugin. The code was never functional and always returned a hardcoded example list. The function will be changed in later Qt versions to return the correct values once QTBUG-62958 is solved. Task-number: QTBUG-65474 Change-Id: Iebb4c8d4baf3b021d8890c6b3f252e9050856fce Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * SocketCAN: Compile with Kernels without CAN FD BRS/ESIAndre Hartmann2017-11-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][SocketCAN] Fixed compiling the SocketCAN plugin with older Kernels without support for CAN FD bitrate switch and error state indicator. Task-number: QTBUG-64406 Change-Id: I05a7869b7df64ae6c3c29aa69dbf423d886b610a Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | Add missing include for struct timevalSamuli Piippo2017-12-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix build failure with musl libc: socketcanbackend.h:88:38: error: 'timeval' was not declared in this scope Change-Id: I4089f5a906095c21b2790d35ad131d9a0713ff3b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Add more info to QCanBusDeviceInfoAndre Hartmann2018-01-125-17/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Add J2534 Pass-Thru CAN pluginDaniel Elstner2017-11-3010-1/+1419
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog] Add J2534 Pass-Thru CAN plugin SAE J2534 is a standard for communication between a computer and a vehicle. The "passthrucan" plugin adds support for communicating with a vehicle's CAN bus via the generic J2534 Pass-Thru API. The J2534 Pass-Thru API v04.04 is only specified for 32-bit Windows, but implementations for 64-bit Windows and other platforms do exist. Automatic device discovery is based on the Windows registry and thus supported on Windows only. However, this plugin alternatively allows users to specify the path to a J2534 vendor library to load. Any CAN interface adapters that ship with a compliant J2534 Pass-Thru interface library (v04.04) for the target platform should work with this plugin. It should be noted though that driver support for x64 is as of yet rare, thus a 32-bit Qt build may be required to make use of the passthrucan plugin. Change-Id: I55280d455828d9cf0ad03690224b924b39c17cf7 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-204-15/+35
|\| | | | | | | | | | | Change-Id: Ia04f54eee1264b659d8928b7f08d7221f587bc54
| * | Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-beta4Liang Qi2017-10-302-5/+18
| |\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Icfbad81955ad8a7c4ddc49ac4ee952bcba6317ec
| | * SystecCAN: Fix availableDevices() for more than one deviceAndre Hartmann2017-10-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | initInfo->m_fTryNext is set to false when the callback is entered but must be set to true to continue with the next device. [ChangeLog][QCanBus][SystecCAN] Fixed that the function availableDevices() only returned the first device. Change-Id: I689564c2379a1db28cb7c623425aa261e44fdd4d Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * SystecCAN: Fix device number assignment in availableDevices()Andre Hartmann2017-10-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QCanBus][SystecCAN] The function availableDevices() returned the wrong device number in some cases. In turn, it was not possible to connect to the correct device afterwards. Task-number: QTBUG-63833 Change-Id: I37cc250d144596af00aec9f743f0016e5634abe7 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
| | * PeakCAN: Avoid turning PeakCAN status frames into random data framesAndre Hartmann2017-10-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][CanBus][PeakCAN] Peak CAN status frames are no longer converted into QCanBusFrame::DataFrame, they are simply dropped for now. In a later Qt version they might by converted into proper QCanBusFrame::ErrorFrame, together with an interpretErrorFrame() implementation. Change-Id: I673ef2c8d312a96de192def831036ad10d5f2c01 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Marcell Varga <eandr2@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * PeakCAN: Fix connect() always returning false under LinuxMarcell Varga2017-09-291-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was impossible to open a Peak CAN device under Linux, because CAN_SetValue (which is needed for the Windows implementation) always returned with error. Task-number: QTBUG-63428 Change-Id: I353bf44a7bdea4a18ef84d8037a3a9fd86d47d89 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: André Hartmann <aha_1980@gmx.de>
| * | TinyCAN: Fix usage of global static non-POD variablev5.10.0-beta3Andre Hartmann2017-10-241-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by clazy. Change-Id: Ic935fd2e9e351b1fd1399223f38afef840b623fc Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | PeakCAN: Remove unneeded emitAndre Hartmann2017-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Found by clazy. Change-Id: Ie04fadd3adacde9739c5cba7f566caac78f1d696 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | SocketCAN: Fix Clang semantic warning about old-style castAndre Hartmann2017-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Semantic Issue -Wold-style-cast 433:17: warning: use of old-style cast Change-Id: I45ba127193a65ccca1bdf5453320fd4129666b20 Reviewed-by: Rolf Eike Beer <eb@emlix.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | CAN: Improve checking for unsupported CAN FD framesAndre Hartmann2017-11-154-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1310-19/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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>
* | | PeakCAN: Make global structure static and constAndre Hartmann2017-10-051-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I0a79a81212cf92e88e6a747b2b20e5af268c5edb Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | PeakCAN: Always compile without PCANBasic.hAndre Hartmann2017-10-051-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep the possibility to directly link against pcanbasic.dll/so for now, as it allows to use the PeakCAN plugin without requiring QLibrary. However, as we need to declare all symbols in peakcan_symbols_p.h anyway, there is no need to require the header file. And I need to add another symbol in a follow-up to resolve Clang warnings. Change-Id: Idb7e57d40c8074c0d14d0d1525b09663d148cb8b Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | CAN-Plugins: Fix Clang Semantic Issue -Wold-style-castAndre Hartmann2017-10-054-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-055-8/+8
| | | | | | | | | | | | | | | | | | Change-Id: I6483232da88963f6dd46d05ebf990fe798b0b45e Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | PeakCAN: Fix Clang Semantic WarningsAndre Hartmann2017-10-053-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 261:45: warning: implicit conversion loses integer precision: 'int' to 'quint16' (aka 'unsigned short') 261:59: warning: implicit conversion loses integer precision: 'const int' to 'quint16' (aka 'unsigned short') 358:39: warning: implicit conversion changes signedness: 'int' to 'quint32' (aka 'unsigned int') qcompilerdetection.h:241:49: note: expanded from macro 'Q_UNLIKELY' 379:27: warning: implicit conversion loses integer precision: 'int' to 'quint8' (aka 'unsigned char') 419:70: warning: implicit conversion changes signedness: 'const quint64' (aka 'const unsigned long long') to 'qint64' (aka 'long long') Change-Id: Ib380145cd8775659bf0145053ac6420b3feb635e Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | PeakCAN: Indent nested includes and definesAndre Hartmann2017-10-052-5/+5
|/ / | | | | | | | | | | Change-Id: I881c9449b9b3594676413cb12ed966522e13f0dc Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | CAN: Use memset from root namespaceAndre Hartmann2017-07-051-4/+4
| | | | | | | | | | | | | | | | | | Most other code places already do it this way. Change-Id: Id1a2e262eae0bf46f6f42266c6cc57b92505ff1d Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Rolf Eike Beer <eb@emlix.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | SocketCAN: State more clearly that this is an errorAndre Hartmann2017-07-041-1/+1
| | | | | | | | | | | | Change-Id: I4df85ce5a1271bfe4a72bb9d5b979b6513a46b6a Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | SocketCAN: Remove commented code lineAndre Hartmann2017-07-041-1/+0
| | | | | | | | | | | | Change-Id: I59bde74ea887cf0898538267eb408892871cf82f Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | QCanBusFrame: Introduce local echo flagAndre Hartmann2017-07-044-16/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-076-15/+16
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ib417a3ca5b84519b5eeae6a9368dc3041a41b13b
| * 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-135-5/+5
| | | | | | | | | | | | 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.9' into devLiang Qi2017-04-0420-52/+67
|\| | | | | | | Change-Id: I2c625ec3f8a6393fcd0d13dfddae55af7f549347
| * Merge remote-tracking branch 'origin/5.8' into 5.9v5.9.0-beta1Liang Qi2017-03-3119-33/+39
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/canbus/canbus.pro src/plugins/canbus/vectorcan/vectorcanbackend.cpp Change-Id: I3625693784e88204c93479806242ae70c7ec7ff3