Changed frames per second display to work better in overwrite mode
This commit is contained in:
+12
-8
@@ -365,6 +365,8 @@ void CANFrameModel::addFrame(const CANFrame& frame, bool autoRefresh = false)
|
|||||||
tempFrame = frame;
|
tempFrame = frame;
|
||||||
tempFrame.timestamp -= timeOffset;
|
tempFrame.timestamp -= timeOffset;
|
||||||
|
|
||||||
|
lastUpdateNumFrames++;
|
||||||
|
|
||||||
//if this ID isn't found in the filters list then add it and show it by default
|
//if this ID isn't found in the filters list then add it and show it by default
|
||||||
if (!filters.contains(tempFrame.ID))
|
if (!filters.contains(tempFrame.ID))
|
||||||
{
|
{
|
||||||
@@ -382,7 +384,7 @@ void CANFrameModel::addFrame(const CANFrame& frame, bool autoRefresh = false)
|
|||||||
if (autoRefresh) endInsertRows();
|
if (autoRefresh) endInsertRows();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else //yes, overwrite dups
|
||||||
{
|
{
|
||||||
bool found = false;
|
bool found = false;
|
||||||
for (int i = 0; i < frames.count(); i++)
|
for (int i = 0; i < frames.count(); i++)
|
||||||
@@ -453,7 +455,7 @@ void CANFrameModel::sendRefresh()
|
|||||||
filteredFrames.reserve(preallocSize);
|
filteredFrames.reserve(preallocSize);
|
||||||
filteredFrames.append(tempContainer);
|
filteredFrames.append(tempContainer);
|
||||||
|
|
||||||
lastUpdateNumFrames = filteredFrames.count();
|
lastUpdateNumFrames = 0;
|
||||||
endResetModel();
|
endResetModel();
|
||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
}
|
}
|
||||||
@@ -469,19 +471,20 @@ void CANFrameModel::sendRefresh(int pos)
|
|||||||
//have to send thousands of messages per second
|
//have to send thousands of messages per second
|
||||||
int CANFrameModel::sendBulkRefresh()
|
int CANFrameModel::sendBulkRefresh()
|
||||||
{
|
{
|
||||||
int num = filteredFrames.count() - lastUpdateNumFrames;
|
//int num = filteredFrames.count() - lastUpdateNumFrames;
|
||||||
if (num <= 0) return 0;
|
if (lastUpdateNumFrames <= 0) return 0;
|
||||||
|
|
||||||
if (num == 0 && !overwriteDups) return 0;
|
if (lastUpdateNumFrames == 0 && !overwriteDups) return 0;
|
||||||
if (filteredFrames.count() == 0) return 0;
|
if (filteredFrames.count() == 0) return 0;
|
||||||
|
|
||||||
lastUpdateNumFrames += num; //done this way to avoid asking for filteredFrames.count() again
|
qDebug() << "Bulk refresh of " << lastUpdateNumFrames;
|
||||||
|
|
||||||
qDebug() << "Bulk refresh of " << num;
|
|
||||||
|
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
endResetModel();
|
endResetModel();
|
||||||
|
|
||||||
|
int num = lastUpdateNumFrames;
|
||||||
|
lastUpdateNumFrames = 0;
|
||||||
|
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -528,6 +531,7 @@ void CANFrameModel::insertFrames(const QVector<CANFrame> &newFrames)
|
|||||||
filteredFrames.append(newFrames[i]);
|
filteredFrames.append(newFrames[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
lastUpdateNumFrames = newFrames.count();
|
||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
//endResetModel();
|
//endResetModel();
|
||||||
//beginInsertRows(QModelIndex(), filteredFrames.count() + 1, filteredFrames.count() + insertedFiltered);
|
//beginInsertRows(QModelIndex(), filteredFrames.count() + 1, filteredFrames.count() + insertedFiltered);
|
||||||
|
|||||||
Reference in New Issue
Block a user