Reset temperature data on disconnect

This commit is contained in:
Gina Häußge 2017-11-10 13:03:36 +01:00
parent a6eac3911b
commit 92b048c789
2 changed files with 36 additions and 29 deletions

View file

@ -832,27 +832,30 @@ class Printer(PrinterInterface, comm.MachineComPrintCallback):
return printTimeLeft, printTimeLeftOrigin
def _addTemperatureData(self, temp, bedTemp):
def _addTemperatureData(self, tools=None, bed=None):
if tools is None:
tools = dict()
currentTimeUtc = int(time.time())
data = {
"time": currentTimeUtc
}
for tool in temp.keys():
for tool in tools.keys():
data["tool%d" % tool] = {
"actual": temp[tool][0],
"target": temp[tool][1]
"actual": tools[tool][0],
"target": tools[tool][1]
}
if bedTemp is not None and isinstance(bedTemp, tuple):
if bed is not None and isinstance(bed, tuple):
data["bed"] = {
"actual": bedTemp[0],
"target": bedTemp[1]
"actual": bed[0],
"target": bed[1]
}
self._temps.append(data)
self._temp = temp
self._bedTemp = bedTemp
self._temp = tools
self._bedTemp = bed
self._stateMonitor.add_temperature(data)
@ -992,7 +995,7 @@ class Printer(PrinterInterface, comm.MachineComPrintCallback):
self._addLog(to_unicode(message, "utf-8", errors="replace"))
def on_comm_temperature_update(self, temp, bedTemp):
self._addTemperatureData(copy.deepcopy(temp), copy.deepcopy(bedTemp))
self._addTemperatureData(tools=copy.deepcopy(temp), bed=copy.deepcopy(bedTemp))
def on_comm_position_update(self, position, reason=None):
payload = dict(reason=reason)
@ -1037,6 +1040,7 @@ class Printer(PrinterInterface, comm.MachineComPrintCallback):
self._setCurrentZ(None)
self._setJobData(None, None, None)
self._setOffsets(None)
self._addTemperatureData()
self._printerProfileManager.deselect()
eventManager().fire(Events.DISCONNECTED)

View file

@ -41,7 +41,7 @@ $(function() {
});
entry.offset.subscribe(function(newValue) {
if (self.changingOffset.item !== undefined && self.changingOffset.item.key() == entry.key()) {
if (self.changingOffset.item !== undefined && self.changingOffset.item.key() === entry.key()) {
// if our we currently have the offset dialog open for this entry and the offset changed
// meanwhile, update the displayed value in the dialog
self.changingOffset.offset(newValue);
@ -115,7 +115,7 @@ $(function() {
tools[extruder]["name"](gettext("Tool") + " " + extruder);
tools[extruder]["key"]("tool" + extruder);
}
} else if (numExtruders == 1 || sharedNozzle) {
} else if (numExtruders === 1 || sharedNozzle) {
// only one extruder, no need to add numbers
color = graphColors[0];
heaterOptions["tool0"] = {name: "T", color: color};
@ -200,7 +200,7 @@ $(function() {
};
self._processTemperatureUpdateData = function(serverTime, data) {
if (data.length == 0)
if (data.length === 0)
return;
var lastData = data[data.length - 1];
@ -219,6 +219,9 @@ $(function() {
if (lastData.hasOwnProperty("bed")) {
self.bedTemp["actual"](lastData.bed.actual);
self.bedTemp["target"](lastData.bed.target);
} else {
self.bedTemp["actual"](0);
self.bedTemp["target"](0);
}
if (!CONFIG_TEMPERATURE_GRAPH) return;
@ -278,7 +281,7 @@ $(function() {
});
var temperature_cutoff = self.temperature_cutoff();
if (temperature_cutoff != undefined) {
if (temperature_cutoff !== undefined) {
var filterOld = function(item) {
return item[0] >= clientTime - temperature_cutoff * 60 * 1000;
};
@ -484,7 +487,7 @@ $(function() {
self.incrementTarget = function(item) {
var value = item.newTarget();
if (value === undefined || (typeof(value) == "string" && value.trim() == "")) {
if (value === undefined || (typeof(value) === "string" && value.trim() === "")) {
value = item.target();
}
try {
@ -499,7 +502,7 @@ $(function() {
self.decrementTarget = function(item) {
var value = item.newTarget();
if (value === undefined || (typeof(value) == "string" && value.trim() == "")) {
if (value === undefined || (typeof(value) === "string" && value.trim() === "")) {
value = item.target();
}
try {
@ -541,7 +544,7 @@ $(function() {
if (form !== undefined) {
$(form).find("input").blur();
}
if (value === undefined || (typeof(value) == "string" && value.trim() == "")) return OctoPrintClient.createRejectedDeferred();
if (value === undefined || (typeof(value) === "string" && value.trim() === "")) return OctoPrintClient.createRejectedDeferred();
self.clearAutosendTarget(item);
return self.setTargetToValue(item, value);
@ -551,7 +554,7 @@ $(function() {
if (!profile) return OctoPrintClient.createRejectedDeferred();
self.clearAutosendTarget(item);
return self.setTargetToValue(item, (item.key() == "bed" ? profile.bed : profile.extruder));
return self.setTargetToValue(item, (item.key() === "bed" ? profile.bed : profile.extruder));
};
self.setTargetToZero = function(item) {
@ -575,7 +578,7 @@ $(function() {
item.newTarget("");
};
if (item.key() == "bed") {
if (item.key() === "bed") {
return self._setBedTemperature(value)
.done(onSuccess);
} else {
@ -596,7 +599,7 @@ $(function() {
self.incrementChangeOffset = function() {
var value = self.changingOffset.newOffset();
if (value === undefined || (typeof(value) == "string" && value.trim() == "")) value = self.changingOffset.offset();
if (value === undefined || (typeof(value) === "string" && value.trim() === "")) value = self.changingOffset.offset();
try {
value = parseInt(value);
if (value >= 50) return;
@ -608,7 +611,7 @@ $(function() {
self.decrementChangeOffset = function() {
var value = self.changingOffset.newOffset();
if (value === undefined || (typeof(value) == "string" && value.trim() == "")) value = self.changingOffset.offset();
if (value === undefined || (typeof(value) === "string" && value.trim() === "")) value = self.changingOffset.offset();
try {
value = parseInt(value);
if (value <= -50) return;
@ -640,7 +643,7 @@ $(function() {
self.setOffset = function(item) {
var value = item.newOffset();
if (value === undefined || (typeof(value) == "string" && value.trim() == "")) return OctoPrintClient.createRejectedDeferred();
if (value === undefined || (typeof(value) === "string" && value.trim() === "")) return OctoPrintClient.createRejectedDeferred();
return self.setOffsetToValue(item, value);
};
@ -662,7 +665,7 @@ $(function() {
item.newOffset("");
};
if (item.key() == "bed") {
if (item.key() === "bed") {
return self._setBedOffset(value)
.done(onSuccess);
} else {
@ -708,26 +711,26 @@ $(function() {
};
self.handleEnter = function(event, type, item) {
if (event.keyCode == 13) {
if (type == "target") {
if (event.keyCode === 13) {
if (type === "target") {
self.setTarget(item)
.done(function() {
event.target.blur();
});
} else if (type == "offset") {
} else if (type === "offset") {
self.confirmChangeOffset();
}
}
};
self.handleFocus = function(event, type, item) {
if (type == "target") {
if (type === "target") {
var value = item.newTarget();
if (value === undefined || (typeof(value) == "string" && value.trim() == "")) {
if (value === undefined || (typeof(value) === "string" && value.trim() === "")) {
item.newTarget(item.target());
}
event.target.select();
} else if (type == "offset") {
} else if (type === "offset") {
event.target.select();
}
};