Add custom command methods to output device and controller

This commit is contained in:
ChrisTerBeke 2018-01-25 22:40:30 +01:00
parent 8c7f8fa1fa
commit 80b589344f
No known key found for this signature in database
GPG key ID: A49F1AB9D7E0C263
3 changed files with 14 additions and 4 deletions

View file

@ -39,8 +39,11 @@ class PrinterOutputController:
def moveHead(self, printer: "PrinterOutputModel", x, y, z, speed): def moveHead(self, printer: "PrinterOutputModel", x, y, z, speed):
Logger.log("w", "Move head not implemented in controller") Logger.log("w", "Move head not implemented in controller")
def homeBed(self, printer): def homeBed(self, printer: "PrinterOutputModel"):
Logger.log("w", "Home bed not implemented in controller") Logger.log("w", "Home bed not implemented in controller")
def homeHead(self, printer): def homeHead(self, printer: "PrinterOutputModel"):
Logger.log("w", "Home head not implemented in controller") Logger.log("w", "Home head not implemented in controller")
def sendCustomCommand(self, printer: "PrinterOutputModel", command: str):
Logger.log("w", "Custom command not implemented in controller")

View file

@ -90,6 +90,10 @@ class PrinterOutputModel(QObject):
def homeBed(self): def homeBed(self):
self._controller.homeBed(self) self._controller.homeBed(self)
@pyqtSlot(str)
def sendCustomCommand(self, command):
self._controller.sendCustomCommand(self, command)
@pyqtProperty("QVariantList", constant = True) @pyqtProperty("QVariantList", constant = True)
def extruders(self): def extruders(self):
return self._extruders return self._extruders

View file

@ -31,6 +31,9 @@ class USBPrinterOutputController(PrinterOutputController):
def homeBed(self, printer): def homeBed(self, printer):
self._output_device.sendCommand("G28 Z") self._output_device.sendCommand("G28 Z")
def sendCustomCommand(self, printer, command):
self._output_device.sendCommand(str(command))
def setJobState(self, job: "PrintJobOutputModel", state: str): def setJobState(self, job: "PrintJobOutputModel", state: str):
if state == "pause": if state == "pause":
self._output_device.pausePrint() self._output_device.pausePrint()
@ -65,4 +68,4 @@ class USBPrinterOutputController(PrinterOutputController):
def _onPreheatBedTimerFinished(self): def _onPreheatBedTimerFinished(self):
self.setTargetBedTemperature(self._preheat_printer, 0) self.setTargetBedTemperature(self._preheat_printer, 0)
self._preheat_printer.updateIsPreheating(False) self._preheat_printer.updateIsPreheating(False)