Simplify the printer interface.

master
daid 2012-04-03 17:01:51 +02:00
parent 6cef0052a9
commit 7000945a07
2 changed files with 15 additions and 9 deletions

View File

@ -110,7 +110,6 @@ class VirtualPrinter():
def write(self, data):
if self.readList == None:
return
time.sleep(0.001)
print "Send: %s" % (data.rstrip())
self.readList.append("ok\n")
@ -121,6 +120,7 @@ class VirtualPrinter():
time.sleep(0.1)
if self.readList == None:
return ''
time.sleep(0.001)
print "Recv: %s" % (self.readList[0].rstrip())
return self.readList.pop(0)

View File

@ -13,6 +13,7 @@ def printFile(filename):
global printWindowHandle
if printWindowHandle == None:
printWindowHandle = printWindow()
printWindowHandle.OnConnect(None)
printWindowHandle.Show(True)
printWindowHandle.Raise()
printWindowHandle.LoadGCodeFile(filename)
@ -45,13 +46,13 @@ class printWindow(wx.Frame):
self.sizer.Add(boxsizer, pos=(0,0), span=(4,1), flag=wx.EXPAND)
self.connectButton = wx.Button(self.panel, -1, 'Connect')
self.loadButton = wx.Button(self.panel, -1, 'Load GCode')
#self.connectButton = wx.Button(self.panel, -1, 'Connect')
#self.loadButton = wx.Button(self.panel, -1, 'Load GCode')
self.printButton = wx.Button(self.panel, -1, 'Print GCode')
self.cancelButton = wx.Button(self.panel, -1, 'Cancel print')
self.progress = wx.Gauge(self.panel, -1)
self.sizer.Add(self.connectButton, pos=(0,1))
self.sizer.Add(self.loadButton, pos=(1,1))
#self.sizer.Add(self.connectButton, pos=(0,1))
#self.sizer.Add(self.loadButton, pos=(1,1))
self.sizer.Add(self.printButton, pos=(2,1))
self.sizer.Add(self.cancelButton, pos=(3,1))
self.sizer.Add(self.progress, pos=(4,0), span=(1,2), flag=wx.EXPAND)
@ -59,8 +60,8 @@ class printWindow(wx.Frame):
self.sizer.AddGrowableCol(0)
self.Bind(wx.EVT_CLOSE, self.OnClose)
self.connectButton.Bind(wx.EVT_BUTTON, self.OnConnect)
self.loadButton.Bind(wx.EVT_BUTTON, self.OnLoad)
#self.connectButton.Bind(wx.EVT_BUTTON, self.OnConnect)
#self.loadButton.Bind(wx.EVT_BUTTON, self.OnLoad)
self.printButton.Bind(wx.EVT_BUTTON, self.OnPrint)
self.cancelButton.Bind(wx.EVT_BUTTON, self.OnCancel)
@ -72,8 +73,8 @@ class printWindow(wx.Frame):
self.UpdateProgress()
def UpdateButtonStates(self):
self.connectButton.Enable(not self.machineConnected)
self.loadButton.Enable(self.printIdx == None)
#self.connectButton.Enable(not self.machineConnected)
#self.loadButton.Enable(self.printIdx == None)
self.printButton.Enable(self.machineConnected and self.gcodeList != None and self.printIdx == None)
self.cancelButton.Enable(self.printIdx != None)
@ -128,6 +129,8 @@ class printWindow(wx.Frame):
self.Destroy()
def LoadGCodeFile(self, filename):
if self.printIdx != None:
return
gcodeList = ["M110"]
for line in open(filename, 'r'):
if ';' in line:
@ -174,6 +177,9 @@ class printWindow(wx.Frame):
else:
if self.sendLine(self.printIdx):
self.printIdx += 1
else:
self.printIdx = None
wx.CallAfter(self.UpdateButtonStates)
wx.CallAfter(self.UpdateProgress)
elif "resend" in line.lower() or "rs" in line:
try: