diff options
Diffstat (limited to 'src/plugins/canbus/socketcan')
-rw-r--r-- | src/plugins/canbus/socketcan/socketcanbackend.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp index f9f28cc..53836b0 100644 --- a/src/plugins/canbus/socketcan/socketcanbackend.cpp +++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp @@ -449,6 +449,7 @@ bool SocketCanBackend::writeFrame(const QCanBusFrame &newData) canfd_frame frame; frame.len = newData.payload().size(); frame.can_id = canId; + frame.flags = newData.hasBitrateSwitch() ? CANFD_BRS : 0; ::memcpy(frame.data, newData.payload().constData(), frame.len); bytesWritten = ::write(canSocket, &frame, sizeof(frame)); @@ -676,6 +677,8 @@ void SocketCanBackend::readSocket() bufferedFrame.setFrameType(QCanBusFrame::RemoteRequestFrame); if (frame.can_id & CAN_ERR_FLAG) bufferedFrame.setFrameType(QCanBusFrame::ErrorFrame); + if (frame.flags & CANFD_BRS) + bufferedFrame.setBitrateSwitch(true); bufferedFrame.setFrameId(frame.can_id & CAN_EFF_MASK); |