Converted more code to be easier to generalize to larger CAN payloads
for CAN-FD. Improved some code to be faster. Fixed up some compile time warnings.
This commit is contained in:
@@ -6,18 +6,23 @@
|
||||
SnifferItem::SnifferItem(const CANFrame& pFrame, quint32 seq):
|
||||
mID(pFrame.frameId())
|
||||
{
|
||||
for (int i = 0; i < 8; i++) {
|
||||
mNotch[i] =0;
|
||||
unsigned char *data = reinterpret_cast<unsigned char *>(pFrame.payload().data());
|
||||
int dataLen = pFrame.payload().length();
|
||||
|
||||
for (int i = 0; i < 0; i++) {
|
||||
mNotch[i] = 0;
|
||||
mMarker.data[i] = 0;
|
||||
mMarker.dataTimestamp[i] = 0;
|
||||
mCurrent.data[i] = pFrame.payload()[i];
|
||||
if (i < dataLen) mCurrent.data[i] = data[i];
|
||||
else mCurrent.data[i] = 0;
|
||||
mCurrent.dataTimestamp[i] = seq;
|
||||
}
|
||||
mLastMarker = mMarker;
|
||||
mCurrent.len = pFrame.payload().length();
|
||||
mCurrent.len = dataLen;
|
||||
|
||||
/* that's dirty */
|
||||
update(pFrame, seq, false);
|
||||
update(pFrame, seq, false);
|
||||
update(pFrame, seq, false); //anyone know why we're doing this twice?!
|
||||
}
|
||||
|
||||
|
||||
@@ -112,20 +117,23 @@ void SnifferItem::update(const CANFrame& pFrame, quint32 timeSeq, bool mute)
|
||||
mLastTime = mCurrentTime;
|
||||
mCurrSeqVal = timeSeq;
|
||||
|
||||
unsigned char *data = reinterpret_cast<unsigned char *>(pFrame.payload().data());
|
||||
int dataLen = pFrame.payload().length();
|
||||
|
||||
/* copy new value */
|
||||
for (int i = 0; i < 8; i++)
|
||||
for (int i = 0; i < dataLen; i++)
|
||||
{
|
||||
maskedData = pFrame.payload()[i];
|
||||
maskedData = data[i];
|
||||
if (mute) maskedData &= ~mNotch[i];
|
||||
maskedCurr = mCurrent.data[i];
|
||||
if (mute) maskedCurr &= ~mNotch[i];
|
||||
if (maskedCurr != maskedData)
|
||||
{
|
||||
mCurrent.data[i] = pFrame.payload()[i];
|
||||
mCurrent.data[i] = data[i];
|
||||
mCurrent.dataTimestamp[i] = timeSeq;
|
||||
}
|
||||
}
|
||||
mCurrent.len = pFrame.payload().length();
|
||||
mCurrent.len = dataLen;
|
||||
mCurrentTime = pFrame.timeStamp().microSeconds();
|
||||
|
||||
/* update marker */
|
||||
|
||||
Reference in New Issue
Block a user