Finished switching over everything to the new can format (I hope). It

seems to function now but much more testing is needed.
This commit is contained in:
Collin Kidder
2019-12-13 21:06:48 -05:00
parent 0baffa300f
commit ef24036d1c
21 changed files with 552 additions and 509 deletions
+15 -14
View File
@@ -100,19 +100,20 @@ bool BLFHandler::loadBLF(QString filename, QVector<CANFrame>* frames)
memcpy(&canObject, fileData.constData(), sizeof(BLF_CAN_OBJ));
CANFrame frame;
frame.bus = canObject.channel;
frame.extended = (canObject.id & 0x80000000ull)?true:false;
frame.ID = canObject.id & 0x1FFFFFFFull;
frame.setExtendedFrameFormat((canObject.id & 0x80000000ull)?true:false);
frame.setFrameId(canObject.id & 0x1FFFFFFFull);
frame.isReceived = true;
frame.len = canObject.dlc;
QByteArray bytes(canObject.dlc, 0);
if (canObject.flags & BLF_REMOTE_FLAG) {
frame.remote = true;
frame.setFrameType(QCanBusFrame::RemoteRequestFrame);
} else {
frame.remote = false;
for (int i = 0; i < 8; i++) frame.data[i] = canObject.data[i];
frame.setFrameType(QCanBusFrame::DataFrame);
for (int i = 0; i < 8; i++) bytes[i] = canObject.data[i];
}
frame.setPayload(bytes);
//Should we divide by a thousand or a million? Unsure here. It appears some logs are stamped in microseconds and some in milliseconds?
frame.timestamp = obj.header.v1Obj.uncompSize / 1000.0; //uncompsize field also used for timestamp oddly enough
frame.setTimeStamp(QCanBusFrame::TimeStamp(0, obj.header.v1Obj.uncompSize / 1000.0)); //uncompsize field also used for timestamp oddly enough
frames->append(frame);
}
else if (obj.header.base.objType == BLF_CAN_MSG2)
@@ -120,19 +121,19 @@ bool BLFHandler::loadBLF(QString filename, QVector<CANFrame>* frames)
memcpy(&canObject2, fileData.constData(), sizeof(BLF_CAN_OBJ2));
CANFrame frame;
frame.bus = canObject2.channel;
frame.extended = (canObject2.id & 0x80000000ull)?true:false;
frame.ID = canObject2.id & 0x1FFFFFFFull;
frame.setExtendedFrameFormat((canObject2.id & 0x80000000ull)?true:false);
frame.setFrameId(canObject2.id & 0x1FFFFFFFull);
frame.isReceived = true;
frame.len = canObject2.dlc;
QByteArray bytes(canObject2.dlc, 0);
if (canObject2.flags & BLF_REMOTE_FLAG) {
frame.remote = true;
frame.setFrameType(QCanBusFrame::RemoteRequestFrame);
} else {
frame.remote = false;
for (int i = 0; i < 8; i++) frame.data[i] = canObject2.data[i];
frame.setFrameType(QCanBusFrame::DataFrame);
for (int i = 0; i < 8; i++) bytes[i] = canObject2.data[i];
}
//Should we divide by a thousand or a million? Unsure here. It appears some logs are stamped in microseconds and some in milliseconds?
frame.timestamp = obj.header.v1Obj.uncompSize / 1000.0; //uncompsize field also used for timestamp oddly enough
frame.setTimeStamp(QCanBusFrame::TimeStamp(0, obj.header.v1Obj.uncompSize / 1000.0)); //uncompsize field also used for timestamp oddly enough
frames->append(frame);
}
else