Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.8.0
-
bb77953d24bd633eb87caf80df1fbaa3d8cf6da5
Description
The QCanBusDevice::framesReceived signal is received when transmitting a can signal. This might be a feature but I did not find it documented so in my opinion it is a bug since I cannot distinguish what frames are received (real rx frames or tx receipts)...
Vector documentation provides the following function for controlling what is received and the default values: xlCanSetChannelMode - "This function specifies whether the caller will get a Tx and/or a TxRq receipt for transmitted messages (for CAN channels defined by accessMask). The default is TxRq deactivated and Tx activated."
File: vectorcanbackend.cpp
Function: void VectorCanBackendPrivate::startRead()
Proposed solution: check if this is a tx receipt and in case it is ignore-it:
const s_xl_can_msg &msg = event.tagData.msg;
if (msg.flags & XL_CAN_MSG_FLAG_TX_COMPLETED)
continue;