Merge pull request #3620 from fieldOfView/fix_preheat_end_during_print

[3.3] Prevent preheat timeout from occurring during a print
This commit is contained in:
Lipu Fei 2018-04-18 11:59:54 +02:00 committed by GitHub
commit dc52678c05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 0 deletions

View File

@ -152,3 +152,17 @@ class GenericOutputController(PrinterOutputController):
for extruder in self._preheat_hotends:
self.setTargetHotendTemperature(extruder.getPrinter(), extruder.getPosition(), 0)
self._preheat_hotends = set()
# Cancel any ongoing preheating timers, without setting back the temperature to 0
# This can be used eg at the start of a print
def stopPreheatTimers(self):
if self._preheat_hotends_timer.isActive():
for extruder in self._preheat_hotends:
extruder.updateIsPreheating(False)
self._preheat_hotends = set()
self._preheat_hotends_timer.stop()
if self._preheat_bed_timer.isActive():
self._active_printer.updateIsPreheating(False)
self._preheat_bed_timer.stop()

View File

@ -96,6 +96,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
if self._is_printing:
return # Aleady printing
# cancel any ongoing preheat timer before starting a print
self._printers[0].stopPreheatTimers()
Application.getInstance().getController().setActiveStage("MonitorStage")
# find the G-code for the active build plate to print