sys.stdout.write('progress:%d\n' % (lineNr))
def mcZChange(self, newZ):
- pass
+ sys.stdout.write('changeZ:%f\n' % (newZ))
def monitorStdin(self):
- while not self._comm.isClosed():
- line = sys.stdin.readline().strip()
- line = line.split(':', 1)
+ while not (self._comm.isClosed() or sys.stdin.closed):
+ line = sys.stdin.readline()
+ # If readline returns an empty string it means that
+ # we've hit stdin's EOF, probably because the parent was
+ # closed, so we need to exit as well instead of spamming stderr.
+ if line == '':
+ break
+ line = line.strip().split(':', 1)
if line[0] == 'STOP':
self._comm.cancelPrint()
self._gcodeList = ['M110']
self._comm.sendCommand(line[1])
elif line[0] == 'START':
self._comm.printGCode(self._gcodeList)
+ elif line[0] == 'PAUSE':
+ self._comm.setPause(True)
+ elif line[0] == 'RESUME':
+ self._comm.setPause(False)
else:
sys.stderr.write(str(line))