diff --git a/connections/socketcan.cpp b/connections/socketcan.cpp index 63e7b4a..7eefe2f 100644 --- a/connections/socketcan.cpp +++ b/connections/socketcan.cpp @@ -115,8 +115,9 @@ bool SocketCan::piSendFrame(const CANFrame& pFrame) /* fill frame */ QCanBusFrame frame; frame.setFrameId(pFrame.ID); - frame.setExtendedFrameFormat(false); - frame.setPayload(QByteArray((const char*)pFrame.data, pFrame.len)); + frame.setExtendedFrameFormat(pFrame.extended); + frame.setPayload(QByteArray(reinterpret_cast(pFrame.data), + static_cast(pFrame.len))); return mDev_p->writeFrame(frame); } @@ -146,6 +147,7 @@ void SocketCan::errorReceived(QCanBusDevice::CanBusError error) const case QCanBusDevice::ConfigurationError: case QCanBusDevice::UnknownError: qWarning() << mDev_p->errorString(); + break; default: break; } @@ -179,15 +181,13 @@ void SocketCan::framesReceived() continue; /* check frame */ - if( !recFrame.payload().isEmpty() && - recFrame.payload().length()<=8 ) - { + if (recFrame.payload().length() <= 8) { CANFrame* frame_p = getQueue().get(); if(frame_p) { - frame_p->len = recFrame.payload().length(); + frame_p->len = static_cast(recFrame.payload().length()); frame_p->bus = 0; memcpy(frame_p->data, recFrame.payload().data(), frame_p->len); - frame_p->extended = false; + frame_p->extended = recFrame.hasExtendedFrameFormat(); frame_p->ID = recFrame.frameId(); frame_p->isReceived = true; if (useSystemTime) {