Add frame count so that overwrite mode can show it. Frame count

replaces remote frame indicator when in overwrite mode.
This commit is contained in:
Collin Kidder
2019-04-10 20:29:13 -04:00
parent 4ab888cd77
commit 67b7de48a6
2 changed files with 20 additions and 2 deletions
+13
View File
@@ -16,11 +16,24 @@ public:
uint32_t len; uint32_t len;
unsigned char data[8]; unsigned char data[8];
uint64_t timestamp; uint64_t timestamp;
uint32_t frameCount; //used in overwrite mode
friend bool operator<(const CANFrame& l, const CANFrame& r) friend bool operator<(const CANFrame& l, const CANFrame& r)
{ {
return l.timestamp < r.timestamp; return l.timestamp < r.timestamp;
} }
CANFrame()
{
ID = 0;
bus = 0;
extended = false;
remote = false;
isReceived = true;
len = 0;
timestamp = 0;
frameCount = 1;
}
}; };
class CANFltObserver class CANFltObserver
+7 -2
View File
@@ -293,7 +293,8 @@ QVariant CANFrameModel::data(const QModelIndex &index, int role) const
case Column::Extended: case Column::Extended:
return QString::number(thisFrame.extended); return QString::number(thisFrame.extended);
case Column::Remote: case Column::Remote:
return QString::number(thisFrame.remote); if (!overwriteDups) return QString::number(thisFrame.remote);
return QString::number(thisFrame.frameCount);
case Column::Direction: case Column::Direction:
if (thisFrame.isReceived) return QString(tr("Rx")); if (thisFrame.isReceived) return QString(tr("Rx"));
return QString(tr("Tx")); return QString(tr("Tx"));
@@ -387,7 +388,8 @@ QVariant CANFrameModel::headerData(int section, Qt::Orientation orientation,
case Column::Extended: case Column::Extended:
return QString(tr("Ext")); return QString(tr("Ext"));
case Column::Remote: case Column::Remote:
return QString(tr("Rem")); if (!overwriteDups) return QString(tr("Rem"));
return QString(tr("Cnt"));
case Column::Direction: case Column::Direction:
return QString(tr("Dir")); return QString(tr("Dir"));
case Column::Bus: case Column::Bus:
@@ -433,6 +435,7 @@ void CANFrameModel::addFrame(const CANFrame& frame, bool autoRefresh = false)
if (filters[tempFrame.ID]) if (filters[tempFrame.ID])
{ {
if (autoRefresh) beginInsertRows(QModelIndex(), filteredFrames.count(), filteredFrames.count()); if (autoRefresh) beginInsertRows(QModelIndex(), filteredFrames.count(), filteredFrames.count());
tempFrame.frameCount = 1;
filteredFrames.append(tempFrame); filteredFrames.append(tempFrame);
if (autoRefresh) endInsertRows(); if (autoRefresh) endInsertRows();
} }
@@ -444,6 +447,7 @@ void CANFrameModel::addFrame(const CANFrame& frame, bool autoRefresh = false)
{ {
if (frames[i].ID == tempFrame.ID) if (frames[i].ID == tempFrame.ID)
{ {
tempFrame.frameCount = frames[i].frameCount + 1;
frames.replace(i, tempFrame); frames.replace(i, tempFrame);
found = true; found = true;
break; break;
@@ -455,6 +459,7 @@ void CANFrameModel::addFrame(const CANFrame& frame, bool autoRefresh = false)
if (filters[tempFrame.ID]) if (filters[tempFrame.ID])
{ {
if (autoRefresh) beginInsertRows(QModelIndex(), filteredFrames.count(), filteredFrames.count()); if (autoRefresh) beginInsertRows(QModelIndex(), filteredFrames.count(), filteredFrames.count());
tempFrame.frameCount = 1;
filteredFrames.append(tempFrame); filteredFrames.append(tempFrame);
if (autoRefresh) endInsertRows(); if (autoRefresh) endInsertRows();
} }