chiark / gitweb /
while printing don't send real time commands (like M105) immediately, but queue them...
authorhg42@gmx.net <hg42@gmx.net>
Mon, 13 Jan 2014 00:44:32 +0000 (01:44 +0100)
committerhg42@gmx.net <hg42@gmx.net>
Mon, 13 Jan 2014 00:44:32 +0000 (01:44 +0100)
--HG--
extra : source : 8f7db2333b68e63b518d12e709cd26a6ee9d335b

Cura/util/machineCom.py

index 5ade867e6c67915fcfddcd307b864c1c7f25c83f..7ac9333cf71f1738a35f58189dbbce48c4c47829 100644 (file)
@@ -440,22 +440,22 @@ class MachineCom(object):
                                if line == '':
                                        if self._extruderCount > 0:
                                                self._temperatureRequestExtruder = (self._temperatureRequestExtruder + 1) % self._extruderCount
-                                               self._sendCommand("M105 T%d" % (self._temperatureRequestExtruder))
+                                               self.sendCommand("M105 T%d" % (self._temperatureRequestExtruder))
                                        else:
-                                               self._sendCommand("M105")
+                                               self.sendCommand("M105")
                                        tempRequestTimeout = time.time() + 5
                        elif self._state == self.STATE_PRINTING:
-                               if line == '' and time.time() > timeout:
-                                       self._log("Communication timeout during printing, forcing a line")
-                                       line = 'ok'
                                #Even when printing request the temperature every 5 seconds.
                                if time.time() > tempRequestTimeout:
                                        if self._extruderCount > 0:
                                                self._temperatureRequestExtruder = (self._temperatureRequestExtruder + 1) % self._extruderCount
-                                               self._sendCommand("M105 T%d" % (self._temperatureRequestExtruder))
+                                               self.sendCommand("M105 T%d" % (self._temperatureRequestExtruder))
                                        else:
-                                               self._sendCommand("M105")
+                                               self.sendCommand("M105")
                                        tempRequestTimeout = time.time() + 5
+                               if line == '' and time.time() > timeout:
+                                       self._log("Communication timeout during printing, forcing a line")
+                                       line = 'ok'
                                if 'ok' in line:
                                        timeout = time.time() + 5
                                        if not self._commandQueue.empty():