Resend correct gcode line when resend is requested
(manually cherry picked from commit c8875fd
)
master
parent
c24a66c361
commit
bbad030a92
|
@ -40,7 +40,13 @@ def serialList():
|
|||
i+=1
|
||||
except:
|
||||
pass
|
||||
baselist = baselist + glob.glob("/dev/ttyUSB*") + glob.glob("/dev/ttyACM*") + glob.glob("/dev/tty.usb*") + glob.glob("/dev/cu.*") + glob.glob("/dev/rfcomm*")
|
||||
baselist = baselist \
|
||||
+ glob.glob("/dev/ttyUSB*") \
|
||||
+ glob.glob("/dev/ttyACM*") \
|
||||
+ glob.glob("/dev/ttyAMA*") \
|
||||
+ glob.glob("/dev/tty.usb*") \
|
||||
+ glob.glob("/dev/cu.*") \
|
||||
+ glob.glob("/dev/rfcomm*")
|
||||
prev = settings().get(["serial", "port"])
|
||||
if prev in baselist:
|
||||
baselist.remove(prev)
|
||||
|
@ -766,10 +772,11 @@ class MachineCom(object):
|
|||
|
||||
if lineToResend is not None:
|
||||
self._resendDelta = self._currentLine - lineToResend
|
||||
if self._resendDelta > len(self._lastLines):
|
||||
if self._resendDelta >= len(self._lastLines):
|
||||
self._errorValue = "Printer requested line %d but history is only available up to line %d" % (lineToResend, self._currentLine - len(self._lastLines))
|
||||
self._changeState(self.STATE_ERROR)
|
||||
self._logger.warn(self._errorValue)
|
||||
if self.isPrinting():
|
||||
self._changeState(self.STATE_ERROR)
|
||||
else:
|
||||
self._resendNextCommand()
|
||||
|
||||
|
@ -821,13 +828,13 @@ class MachineCom(object):
|
|||
# Make sure we are only handling one sending job at a time
|
||||
with self._sendingLock:
|
||||
self._logger.debug("Resending line %d, delta is %d, history log is %s items strong" % (self._currentLine - self._resendDelta, self._resendDelta, len(self._lastLines)))
|
||||
cmd = self._lastLines[-self._resendDelta]
|
||||
cmd = self._lastLines[-(self._resendDelta+1)]
|
||||
lineNumber = self._currentLine - self._resendDelta
|
||||
|
||||
self._doSendWithChecksum(cmd, lineNumber)
|
||||
|
||||
self._resendDelta -= 1
|
||||
if self._resendDelta <= 0:
|
||||
if self._resendDelta < 0:
|
||||
self._resendDelta = None
|
||||
|
||||
def _sendCommand(self, cmd, sendChecksum=False):
|
||||
|
|
Loading…
Reference in New Issue