diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2018-03-17 21:06:20 +0100 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2018-03-19 14:19:18 +0000 |
commit | 20cbe35dc3282b8e27278e3bd54d415cc8147d3c (patch) | |
tree | 3f5dc1323118ff822a0a4f701fa54b46f267c101 /src/plugins/canbus | |
parent | 21538dece0e38e0d4ab9bc6b4580687b40a411fa (diff) |
VectorCAN: Fix receiving frames with multiple open channels
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>
Diffstat (limited to 'src/plugins/canbus')
-rw-r--r-- | src/plugins/canbus/vectorcan/vectorcanbackend.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/canbus/vectorcan/vectorcanbackend.cpp b/src/plugins/canbus/vectorcan/vectorcanbackend.cpp index dc28d7c..9026888 100644 --- a/src/plugins/canbus/vectorcan/vectorcanbackend.cpp +++ b/src/plugins/canbus/vectorcan/vectorcanbackend.cpp @@ -355,7 +355,7 @@ void VectorCanBackendPrivate::startRead() break; } - if (event.tag != XL_RECEIVE_MSG || event.portHandle != portHandle) + if (event.tag != XL_RECEIVE_MSG) continue; const s_xl_can_msg &msg = event.tagData.msg; |