Virtual printer: support pinning of temperatures

Helpful for simulating disconnected thermistors, preparation for
debugging #2007
This commit is contained in:
Gina Häußge 2017-07-14 11:07:25 +02:00
parent 3a9d581423
commit b1101f5150
2 changed files with 8 additions and 0 deletions

View file

@ -65,6 +65,9 @@ class VirtualPrinter(object):
self.currentExtruder = 0
self.extruderCount = settings().getInt(["devel", "virtualPrinter", "numExtruders"])
self.pinnedExtruders = settings().get(["devel", "virtualPrinter", "pinnedExtruders"])
if self.pinnedExtruders is None:
self.pinnedExtruders = dict()
self.sharedNozzle = settings().getBoolean(["devel", "virtualPrinter", "sharedNozzle"])
self.temperatureCount = (1 if self.sharedNozzle else self.extruderCount)
@ -1001,6 +1004,10 @@ class VirtualPrinter(object):
timeDiff = self.lastTempAt - time.time()
self.lastTempAt = time.time()
for i in range(len(self.temp)):
if i in self.pinnedExtruders:
self.temp[i] = self.pinnedExtruders[i]
continue
if abs(self.temp[i] - self.targetTemp[i]) > delta:
oldVal = self.temp[i]
self.temp[i] += math.copysign(timeDiff * 10, self.targetTemp[i] - self.temp[i])

View file

@ -342,6 +342,7 @@ default_settings = {
"okAfterResend": False,
"forceChecksum": False,
"numExtruders": 1,
"pinnedExtruders": None,
"includeCurrentToolInTemps": True,
"includeFilenameInOpened": True,
"hasBed": True,