Fix PCAN loading issues

Uses numBytes instead of thisFrame.payload().length() as the payload is not yet defined
Scan the first 25 lines intead of 10 as version 1 has a long header
This commit is contained in:
Brice Gaulupeau
2020-12-10 08:12:22 +01:00
committed by GitHub
parent 9fd3739f65
commit d3feb284a1
+4 -4
View File
@@ -1258,7 +1258,7 @@ bool FrameFileIO::isPCANFile(QString filename)
{
while (!inFile->atEnd()) {
lineCounter++;
if (lineCounter > 10)
if (lineCounter > 25)
{
break;
}
@@ -1375,7 +1375,7 @@ bool FrameFileIO::loadPCANFile(QString filename, QVector<CANFrame>* frames)
if (line.at(41) == 'R') {
thisFrame.setFrameType(QCanBusFrame::RemoteRequestFrame);
} else {
QList<QByteArray> tokens = line.mid(41, thisFrame.payload().length() * 3).split(' ');
QList<QByteArray> tokens = line.mid(41, numBytes * 3).split(' ');
thisFrame.setFrameType(QCanBusFrame::DataFrame);
for (int d = 0; d < numBytes; d++)
{
@@ -1398,7 +1398,7 @@ bool FrameFileIO::loadPCANFile(QString filename, QVector<CANFrame>* frames)
{
int numBytes = line.mid(37,2).trimmed().toInt();
QByteArray bytes(numBytes, 0);
qDebug() << thisFrame.payload().length();
//qDebug() << thisFrame.payload().length();
thisFrame.isReceived = true;
thisFrame.bus = 0;
if (line.at(25) == ' ') {
@@ -1409,7 +1409,7 @@ bool FrameFileIO::loadPCANFile(QString filename, QVector<CANFrame>* frames)
if (line.at(40) == 'R') {
thisFrame.setFrameType(QCanBusFrame::RemoteRequestFrame);
} else {
QList<QByteArray> tokens = line.mid(40, thisFrame.payload().length() * 3).split(' ');
QList<QByteArray> tokens = line.mid(40, numBytes * 3).split(' ');
thisFrame.setFrameType(QCanBusFrame::DataFrame);
for (int d = 0; d < numBytes; d++)
{