From da4574cb32d78a169b000b5edb79d9affb7d63bb Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 8 Feb 2017 11:38:03 +0100 Subject: [PATCH] Use fallback without time-out if preheating bed on old firmware It manually sets the temperature just like what happens when you print via USB. Contributes to issue CURA-3161. --- plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index 5f7a36f316..44aead8e5b 100644 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -9,6 +9,7 @@ from UM.Signal import signalemitter from UM.Message import Message import UM.Settings +import UM.Version #To compare firmware version numbers. from cura.PrinterOutputDevice import PrinterOutputDevice, ConnectionState import cura.Settings.ExtruderManager @@ -250,6 +251,9 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): def preheatBed(self, temperature, duration): temperature = round(temperature) #The API doesn't allow floating point. duration = round(duration) + if UM.Version(self.firmwareVersion) < UM.Version("3.5.92"): #Real bed pre-heating support is implemented from 3.5.92 and up. + self.setTargetBedTemperature(temperature = temperature) #No firmware-side duration support then. + return url = QUrl("http://" + self._address + self._api_prefix + "printer/bed/pre_heat") if duration > 0: data = """{"temperature": "%i", "timeout": "%i"}""" % (temperature, duration)