in source/simulator/lib/device/generators/vehicle/dynamics/oil-temp-calc.js [25:53]
iterate(snapshot) {
let TEMP_COEFFICIENT = 2.0417;
let snapshotTriggers = snapshot.triggers;
let currentTime = moment();
let timeDelta = moment.duration(currentTime.diff(this.lastCalc));
let timeStep = timeDelta.get('seconds') + (timeDelta.get('milliseconds').toFixed(4) / 1000);
this.lastCalc = moment();
this.totalTime = this.totalTime + timeStep;
if (this.totalTime <= 120 && !snapshotTriggers.highOilTemp) {
let _oiltemp = timeStep * TEMP_COEFFICIENT; // Time * degree/sec.
this.data = this.data + _oiltemp;
this.operatingZone = this.data;
} else {
// normal oil temp jitter
let _upper = this.operatingZone + 5;
let _lower = this.operatingZone - 5;
this.data = (Math.random() * (_upper - _lower) + _lower);
}
if (snapshotTriggers) {
if (snapshotTriggers.highOilTemp && !this.triggerTripped) {
this.operatingZone = this._getHighTemp();
this.triggerTripped = true;
}
}
}