Merge pull request #249 from ajd4096/experimental-send-wait-timeout

Add optional wait timeout in milliseconds to printcore send, send_now
master
kliment 2012-06-28 08:18:16 -07:00
commit 510b7db655
1 changed files with 17 additions and 2 deletions

View File

@ -48,6 +48,7 @@ class printcore():
self.onlinecb=None#impl ()
self.loud=False#emit sent and received lines to terminal
self.greetings=['start','Grbl ']
self.wait=0# default wait period for send(), send_now()
if port is not None and baud is not None:
#print port, baud
self.connect(port, baud)
@ -193,7 +194,7 @@ class printcore():
self.printing=True
Thread(target=self._print).start()
def send(self,command):
def send(self,command,wait=0):
"""Adds a command to the checksummed main command queue if printing, or sends the command immediately if not printing
"""
@ -202,11 +203,18 @@ class printcore():
else:
while not self.clear:
time.sleep(0.001)
if (wait == 0 and self.wait > 0):
wait = self.wait
if (wait > 0)
self.clear=False
self._send(command,self.lineno,True)
self.lineno+=1
while ((wait > 0) and not self.clear):
time.sleep(0.001)
wait-=1
def send_now(self,command):
def send_now(self,command,wait=0):
"""Sends a command to the printer ahead of the command queue, without a checksum
"""
if(self.online):
@ -215,7 +223,14 @@ class printcore():
else:
while not self.clear:
time.sleep(0.001)
if (wait == 0 and self.wait > 0):
wait = self.wait
if (wait > 0)
self.clear=False
self._send(command)
while ((wait > 0) and not self.clear):
time.sleep(0.001)
wait-=1
#callback for command sent
else:
print "Not connected to printer."