2017-06-30 17:00:21 -06:00
|
|
|
var window = self;
|
2017-06-29 22:04:29 -06:00
|
|
|
require('core-js/fn/object/values');
|
2017-06-13 18:40:05 -06:00
|
|
|
import DBC from '../models/can/dbc';
|
|
|
|
import DbcUtils from '../utils/dbc';
|
|
|
|
|
2017-06-23 19:29:31 -06:00
|
|
|
function reparseEntry(entry, address, dbc, canStartTime, prevMsgEntry) {
|
2017-06-13 18:40:05 -06:00
|
|
|
const data = Buffer.from(entry.hexData, 'hex');
|
2017-06-23 19:29:31 -06:00
|
|
|
return DbcUtils.parseMessage(dbc, entry.time, address, data, canStartTime, prevMsgEntry);
|
2017-06-13 18:40:05 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
self.onmessage = function(e) {
|
|
|
|
const {message, dbcText, canStartTime} = e.data;
|
|
|
|
const dbc = new DBC(dbcText);
|
|
|
|
for(var i = 0; i < message.entries.length; i++) {
|
|
|
|
const entry = message.entries[i];
|
2017-06-23 19:29:31 -06:00
|
|
|
const prevMsgEntry = i > 0 ? message.entries[i - 1] : null;
|
2017-06-13 18:40:05 -06:00
|
|
|
|
2017-06-23 19:29:31 -06:00
|
|
|
const {msgEntry} = reparseEntry(entry, message.address, dbc, canStartTime, prevMsgEntry);
|
|
|
|
|
|
|
|
message.entries[i] = msgEntry;
|
2017-06-13 18:40:05 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
self.postMessage(message);
|
|
|
|
self.close();
|
|
|
|
}
|