summaryrefslogtreecommitdiffstats
path: root/src/plugins/canbus/socketcan
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/canbus/socketcan')
-rw-r--r--src/plugins/canbus/socketcan/socketcanbackend.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp
index 53836b0..a41c8d1 100644
--- a/src/plugins/canbus/socketcan/socketcanbackend.cpp
+++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp
@@ -450,6 +450,7 @@ bool SocketCanBackend::writeFrame(const QCanBusFrame &newData)
frame.len = newData.payload().size();
frame.can_id = canId;
frame.flags = newData.hasBitrateSwitch() ? CANFD_BRS : 0;
+ frame.flags |= newData.hasErrorStateIndicator() ? CANFD_ESI : 0;
::memcpy(frame.data, newData.payload().constData(), frame.len);
bytesWritten = ::write(canSocket, &frame, sizeof(frame));
@@ -679,6 +680,8 @@ void SocketCanBackend::readSocket()
bufferedFrame.setFrameType(QCanBusFrame::ErrorFrame);
if (frame.flags & CANFD_BRS)
bufferedFrame.setBitrateSwitch(true);
+ if (frame.flags & CANFD_ESI)
+ bufferedFrame.setErrorStateIndicator(true);
bufferedFrame.setFrameId(frame.can_id & CAN_EFF_MASK);