1 #ifndef SNIFFERITEM_H 2 #define SNIFFERITEM_H 3 4 #include <QVariant> 5 #include <QTime> 6 #include "can_structs.h" 7 8 struct fstCan 9 { 10 quint8 data[8]; 11 quint32 dataTimestamp[8]; 12 int len; 13 }; 14 15 enum dc 16 { 17 NO, 18 INC, 19 DEINC 20 }; 21 22 23 class SnifferItem 24 { 25 public: 26 explicit SnifferItem(const CANFrame& pFrame, quint32 seq); 27 virtual ~SnifferItem(); 28 29 quint64 getId() const; 30 float getDelta() const; 31 int getData(uchar i) const; 32 quint8 getNotchPattern(uchar i) const; 33 quint8 getLastData(uchar i) const; 34 quint32 getDataTimestamp(uchar i) const; 35 quint32 getSeqInterval(uchar i) const; 36 dc dataChange(uchar) const; 37 int elapsed() const; 38 void update(const CANFrame& pFrame, quint32 timeSeq, bool mute); 39 void updateMarker(); 40 void notch(bool); 41 42 private: 43 quint32 mID; 44 struct fstCan mLast; 45 struct fstCan mCurrent; 46 struct fstCan mLastMarker; 47 struct fstCan mMarker; 48 quint8 mNotch[8]; 49 quint64 mLastTime; 50 quint64 mCurrentTime; 51 quint64 mCurrSeqVal; 52 53 QTime mTime; 54 }; 55 56 #endif // SNIFFERITEM_H 57