diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 2938604eed..da3dfa2bde 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -37,9 +37,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._connect_thread = threading.Thread(target = self._connect) self._connect_thread.daemon = True - self._end_stop_thread = threading.Thread(target = self._pollEndStop) - self._end_stop_thread.daemon = True - self._poll_endstop = -1 + self._end_stop_thread = None + self._poll_endstop = False # The baud checking is done by sending a number of m105 commands to the printer and waiting for a readable # response. If the baudrate is correct, this should make sense, else we get giberish. @@ -221,13 +220,17 @@ class USBPrinterOutputDevice(PrinterOutputDevice): @pyqtSlot() def startPollEndstop(self): - if self._poll_endstop == -1: + if not self._poll_endstop: self._poll_endstop = True + if self._end_stop_thread is None: + self._end_stop_thread = threading.Thread(target=self._pollEndStop) + self._end_stop_thread.daemon = True self._end_stop_thread.start() @pyqtSlot() def stopPollEndstop(self): self._poll_endstop = False + self._end_stop_thread = None def _pollEndStop(self): while self._connection_state == ConnectionState.connected and self._poll_endstop: diff --git a/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py b/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py index 4a44f50bf4..201e415e15 100644 --- a/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py +++ b/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py @@ -157,7 +157,7 @@ class UMOCheckupMachineAction(MachineAction): self._output_device.bedTemperatureChanged.connect(self._onBedTemperatureChanged) self._output_device.hotendTemperaturesChanged.connect(self._onHotendTemperatureChanged) self._output_device.endstopStateChanged.connect(self._onEndstopStateChanged) - except AttributeError: # Connection is probably not a USB connection. Something went pretty wrong if this happens. + except AttributeError as e: # Connection is probably not a USB connection. Something went pretty wrong if this happens. pass @pyqtSlot()