Buffer for partially received and/or leftover frame fragments

now working with multiple active busses.

Removed commented out test code and put a fix in for for
the filters list not having its capacity properly reserved
in recalcOverwrite so multiple entries of the same message
show up in the filtered view
This commit is contained in:
Andy Huska
2022-10-03 17:02:13 -05:00
parent e52a74ac7a
commit 3c07785040
2 changed files with 1 additions and 6 deletions
+1
View File
@@ -381,6 +381,7 @@ void CANFrameModel::recalcOverwrite()
//Then replace the old list of frames with just the unique list
frames.clear();
frames.append(overWriteFrames.values().toVector());
frames.reserve(preallocSize);
filteredFrames.clear();
filteredFrames.reserve(preallocSize);
-6
View File
@@ -426,13 +426,7 @@ void SocketCANd::procRXData(QString data, int busNum)
}
break;
case RAWMODE:
//if(!unprocessedData[busNum].isEmpty())
//{
// qDebug() << "busNum: " << busNum << "- " << unprocessedData[busNum].length() << " bytes of unprocessedData: " << unprocessedData[busNum] << " adding it to new data: " + data.left(50) + "...";
// }
unprocessedData[busNum] = decodeFrames(unprocessedData[busNum] + data, busNum);
//if(unprocessedData[busNum].length() > 0)
// qDebug() << "busNum: " << busNum << " has data left over, what was at the end of the last packet?: " << data.right(20);
if(unprocessedData[busNum].length() > 128)
{