mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Store default pre-heat time in central location
Its default is 900s or 15 minutes. QML now requests the time-out time and sends it on to the printer. Contributes to issue CURA-3161.
This commit is contained in:
parent
d705fb1d76
commit
1a902b21bb
3 changed files with 9 additions and 3 deletions
|
@ -45,6 +45,7 @@ class PrinterOutputDevice(QObject, OutputDevice):
|
||||||
self._job_name = ""
|
self._job_name = ""
|
||||||
self._error_text = ""
|
self._error_text = ""
|
||||||
self._accepts_commands = True
|
self._accepts_commands = True
|
||||||
|
self._preheat_bed_timeout = 900 #Default time-out for pre-heating the bed, in seconds.
|
||||||
|
|
||||||
self._printer_state = ""
|
self._printer_state = ""
|
||||||
self._printer_type = "unknown"
|
self._printer_type = "unknown"
|
||||||
|
@ -199,6 +200,11 @@ class PrinterOutputDevice(QObject, OutputDevice):
|
||||||
self._target_bed_temperature = temperature
|
self._target_bed_temperature = temperature
|
||||||
self.targetBedTemperatureChanged.emit()
|
self.targetBedTemperatureChanged.emit()
|
||||||
|
|
||||||
|
##
|
||||||
|
@pyqtProperty(int)
|
||||||
|
def preheatBedTimeout(self):
|
||||||
|
return self._preheat_bed_timeout
|
||||||
|
|
||||||
## Time the print has been printing.
|
## Time the print has been printing.
|
||||||
# Note that timeTotal - timeElapsed should give time remaining.
|
# Note that timeTotal - timeElapsed should give time remaining.
|
||||||
@pyqtProperty(float, notify = timeElapsedChanged)
|
@pyqtProperty(float, notify = timeElapsedChanged)
|
||||||
|
|
|
@ -248,7 +248,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||||
# \param duration How long the bed should stay warm, in seconds. Defaults
|
# \param duration How long the bed should stay warm, in seconds. Defaults
|
||||||
# to a quarter hour.
|
# to a quarter hour.
|
||||||
@pyqtSlot(int, int)
|
@pyqtSlot(int, int)
|
||||||
def preheatBed(self, temperature, duration=900):
|
def preheatBed(self, temperature, duration):
|
||||||
url = QUrl("http://" + self._address + self._api_prefix + "printer/bed/pre_heat")
|
url = QUrl("http://" + self._address + self._api_prefix + "printer/bed/pre_heat")
|
||||||
data = """{"temperature": "%i", "timeout": "%i"}""" % (temperature, duration)
|
data = """{"temperature": "%i", "timeout": "%i"}""" % (temperature, duration)
|
||||||
put_request = QNetworkRequest(url)
|
put_request = QNetworkRequest(url)
|
||||||
|
@ -260,7 +260,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||||
# If the bed is not pre-heated, nothing happens.
|
# If the bed is not pre-heated, nothing happens.
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def cancelPreheatBed(self):
|
def cancelPreheatBed(self):
|
||||||
self.preheatBed(temperature=0)
|
self.preheatBed(temperature = 0, duration = 0)
|
||||||
|
|
||||||
## Changes the target bed temperature and makes sure that its signal is
|
## Changes the target bed temperature and makes sure that its signal is
|
||||||
# emitted.
|
# emitted.
|
||||||
|
|
|
@ -404,7 +404,7 @@ Column
|
||||||
connectedPrinter.preheatBed(preheatTemperatureInput.text, 900);
|
connectedPrinter.preheatBed(preheatTemperatureInput.text, 900);
|
||||||
var now = new Date();
|
var now = new Date();
|
||||||
var end_time = new Date();
|
var end_time = new Date();
|
||||||
end_time.setTime(now.getTime() + 900 * 1000); //*1000 because time is in milliseconds here.
|
end_time.setTime(now.getTime() + connectedPrinter.preheatBedTimeout * 1000); //*1000 because time is in milliseconds here.
|
||||||
preheatCountdownTimer.endTime = end_time;
|
preheatCountdownTimer.endTime = end_time;
|
||||||
preheatCountdownTimer.start();
|
preheatCountdownTimer.start();
|
||||||
preheatCountdownTimer.update(); //Update once before the first timer is triggered.
|
preheatCountdownTimer.update(); //Update once before the first timer is triggered.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue