Use UTC timestamps only for the temperature graph. Should get rid of weird timestamps in case server and client are in a different timezone.
Also fixed the "display minutes since the epoch when not connected to a freshly started server" issue ;)master
parent
ca3c973bfc
commit
01ffd88a37
|
@ -258,18 +258,18 @@ class Printer():
|
|||
self._stateMonitor.setProgress({"progress": self._progress, "printTime": formattedPrintTime, "printTimeLeft": formattedPrintTimeLeft})
|
||||
|
||||
def _addTemperatureData(self, temp, bedTemp, targetTemp, bedTargetTemp):
|
||||
currentTime = int(time.time() * 1000)
|
||||
currentTimeUtc = int((time.time() + time.timezone) * 1000)
|
||||
|
||||
self._temps["actual"].append((currentTime, temp))
|
||||
self._temps["actual"].append((currentTimeUtc, temp))
|
||||
self._temps["actual"] = self._temps["actual"][-300:]
|
||||
|
||||
self._temps["target"].append((currentTime, targetTemp))
|
||||
self._temps["target"].append((currentTimeUtc, targetTemp))
|
||||
self._temps["target"] = self._temps["target"][-300:]
|
||||
|
||||
self._temps["actualBed"].append((currentTime, bedTemp))
|
||||
self._temps["actualBed"].append((currentTimeUtc, bedTemp))
|
||||
self._temps["actualBed"] = self._temps["actualBed"][-300:]
|
||||
|
||||
self._temps["targetBed"].append((currentTime, bedTargetTemp))
|
||||
self._temps["targetBed"].append((currentTimeUtc, bedTargetTemp))
|
||||
self._temps["targetBed"] = self._temps["targetBed"][-300:]
|
||||
|
||||
self._temp = temp
|
||||
|
@ -277,7 +277,7 @@ class Printer():
|
|||
self._targetTemp = targetTemp
|
||||
self._targetBedTemp = bedTargetTemp
|
||||
|
||||
self._stateMonitor.addTemperature({"currentTime": currentTime, "temp": self._temp, "bedTemp": self._bedTemp, "targetTemp": self._targetTemp, "targetBedTemp": self._targetBedTemp})
|
||||
self._stateMonitor.addTemperature({"currentTime": currentTimeUtc, "temp": self._temp, "bedTemp": self._bedTemp, "targetTemp": self._targetTemp, "targetBedTemp": self._targetBedTemp})
|
||||
|
||||
def _setJobData(self, filename, gcode, gcodeList):
|
||||
self._filename = filename
|
||||
|
|
|
@ -250,9 +250,19 @@ function TemperatureViewModel() {
|
|||
mode: "time",
|
||||
minTickSize: [2, "minute"],
|
||||
tickFormatter: function(val, axis) {
|
||||
if (val == undefined || val == 0)
|
||||
return ""; // we don't want to display the minutes since the epoch if not connected yet ;)
|
||||
|
||||
// calculate current time in milliseconds in UTC
|
||||
var now = new Date();
|
||||
var diff = now.getTime() - val;
|
||||
var diffInMins = Math.round(diff / (60000));
|
||||
var timezoneOffset = now.getTimezoneOffset() * 60 * 1000;
|
||||
var timestampUtc = now.getTime() + timezoneOffset;
|
||||
|
||||
// calculate difference in milliseconds
|
||||
var diff = timestampUtc - val;
|
||||
|
||||
// convert to minutes
|
||||
var diffInMins = Math.round(diff / (60 * 1000));
|
||||
if (diffInMins == 0)
|
||||
return "just now";
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue