Controllable feedrates
parent
34141b5136
commit
cee3698530
28
pronsole.py
28
pronsole.py
|
@ -43,6 +43,9 @@ class pronsole(cmd.Cmd):
|
||||||
self.processing_rc=False
|
self.processing_rc=False
|
||||||
self.lastport = (None,None)
|
self.lastport = (None,None)
|
||||||
self.monitoring=0
|
self.monitoring=0
|
||||||
|
self.feedxy=3000
|
||||||
|
self.feedz=200
|
||||||
|
self.feede=300
|
||||||
|
|
||||||
|
|
||||||
def scanserial(self):
|
def scanserial(self):
|
||||||
|
@ -581,20 +584,20 @@ class pronsole(cmd.Cmd):
|
||||||
if not self.p.online:
|
if not self.p.online:
|
||||||
print "Printer is not online. Unable to move."
|
print "Printer is not online. Unable to move."
|
||||||
return
|
return
|
||||||
feed=300
|
feed=self.feedz
|
||||||
axis="E"
|
axis="E"
|
||||||
l=l.split()
|
l=l.split()
|
||||||
if(l[0].lower()=="x"):
|
if(l[0].lower()=="x"):
|
||||||
feed=3000
|
feed=self.feedxy
|
||||||
axis="X"
|
axis="X"
|
||||||
elif(l[0].lower()=="y"):
|
elif(l[0].lower()=="y"):
|
||||||
feed=3000
|
feed=self.feedxy
|
||||||
axis="Y"
|
axis="Y"
|
||||||
elif(l[0].lower()=="z"):
|
elif(l[0].lower()=="z"):
|
||||||
feed=200
|
feed=self.feedz
|
||||||
axis="Z"
|
axis="Z"
|
||||||
elif(l[0].lower()=="e"):
|
elif(l[0].lower()=="e"):
|
||||||
feed=300
|
feed=self.feede
|
||||||
axis="E"
|
axis="E"
|
||||||
else:
|
else:
|
||||||
print "Unknown axis."
|
print "Unknown axis."
|
||||||
|
@ -603,16 +606,21 @@ class pronsole(cmd.Cmd):
|
||||||
try:
|
try:
|
||||||
dist=float(l[1])
|
dist=float(l[1])
|
||||||
except:
|
except:
|
||||||
print "Invalid number"
|
print "Invalid distance"
|
||||||
return
|
return
|
||||||
|
try:
|
||||||
|
feed=int(l[2])
|
||||||
|
except:
|
||||||
|
pass
|
||||||
self.p.send_now("G91")
|
self.p.send_now("G91")
|
||||||
self.p.send_now("G1 "+axis+str(l[1])+" F"+str(feed))
|
self.p.send_now("G1 "+axis+str(l[1])+" F"+str(feed))
|
||||||
self.p.send_now("G90")
|
self.p.send_now("G90")
|
||||||
|
|
||||||
def help_move(self):
|
def help_move(self):
|
||||||
print "Move an axis. Specify the name of the axis and the amount. "
|
print "Move an axis. Specify the name of the axis and the amount. "
|
||||||
print "move X 10 will move the X axis forward by 10mm"
|
print "move X 10 will move the X axis forward by 10mm at ",self.feedxy,"mm/min (default XY speed)"
|
||||||
print "move Z -1 will move the Z axis down by 1mm"
|
print "move Y 10 5000 will move the Y axis forward by 10mm at 5000mm/min"
|
||||||
|
print "move Z -1 will move the Z axis down by 1mm at ",self.feedz,"mm/min (default Z speed)"
|
||||||
print "Common amounts are in the tabcomplete list."
|
print "Common amounts are in the tabcomplete list."
|
||||||
|
|
||||||
def complete_move(self, text, line, begidx, endidx):
|
def complete_move(self, text, line, begidx, endidx):
|
||||||
|
@ -631,7 +639,7 @@ class pronsole(cmd.Cmd):
|
||||||
|
|
||||||
def do_extrude(self,l,override=None,overridefeed=300):
|
def do_extrude(self,l,override=None,overridefeed=300):
|
||||||
length=5#default extrusion length
|
length=5#default extrusion length
|
||||||
feed=300#default speed
|
feed=self.feede#default speed
|
||||||
if not self.p.online:
|
if not self.p.online:
|
||||||
print "Printer is not online. Unable to move."
|
print "Printer is not online. Unable to move."
|
||||||
return
|
return
|
||||||
|
@ -671,7 +679,7 @@ class pronsole(cmd.Cmd):
|
||||||
|
|
||||||
def do_reverse(self, l):
|
def do_reverse(self, l):
|
||||||
length=5#default extrusion length
|
length=5#default extrusion length
|
||||||
feed=300#default speed
|
feed=self.feede#default speed
|
||||||
if not self.p.online:
|
if not self.p.online:
|
||||||
print "Printer is not online. Unable to move."
|
print "Printer is not online. Unable to move."
|
||||||
return
|
return
|
||||||
|
|
|
@ -41,6 +41,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
|
||||||
self.statuscheck=False
|
self.statuscheck=False
|
||||||
self.tempreport=""
|
self.tempreport=""
|
||||||
self.monitor=0
|
self.monitor=0
|
||||||
|
self.feedxy=3000
|
||||||
|
self.feedz=200
|
||||||
|
self.feede=300
|
||||||
self.paused=False
|
self.paused=False
|
||||||
xcol=(255,255,128)
|
xcol=(255,255,128)
|
||||||
ycol=(180,180,255)
|
ycol=(180,180,255)
|
||||||
|
@ -74,8 +77,8 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
|
||||||
["Z-1",("move Z -1"),(110,235+25),zcol,(55,25)],
|
["Z-1",("move Z -1"),(110,235+25),zcol,(55,25)],
|
||||||
["Z-10",("move Z -10"),(110,260+25),zcol,(55,25)],
|
["Z-10",("move Z -10"),(110,260+25),zcol,(55,25)],
|
||||||
["Home",("home"),(110,310),(250,250,250),(55,25)],
|
["Home",("home"),(110,310),(250,250,250),(55,25)],
|
||||||
["Extrude",("extrude"),(0,397+1),(200,200,200),(65,25)],
|
["Extrude",("extrude"),(0,397+1),(225,200,200),(65,25)],
|
||||||
["Reverse",("reverse"),(0,397+28),(200,200,200),(65,25)],
|
["Reverse",("reverse"),(0,397+28),(225,200,200),(65,25)],
|
||||||
]
|
]
|
||||||
self.btndict={}
|
self.btndict={}
|
||||||
self.popmenu()
|
self.popmenu()
|
||||||
|
@ -227,29 +230,60 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
|
||||||
btn.properties=i
|
btn.properties=i
|
||||||
btn.Bind(wx.EVT_BUTTON,self.procbutton)
|
btn.Bind(wx.EVT_BUTTON,self.procbutton)
|
||||||
self.btndict[i[1]]=btn
|
self.btndict[i[1]]=btn
|
||||||
wx.StaticText(self.panel,-1,"Heater:",pos=(0,345))
|
wx.StaticText(self.panel,-1,"Heater:",pos=(0,343))
|
||||||
self.htemp=wx.ComboBox(self.panel, -1,
|
self.htemp=wx.ComboBox(self.panel, -1,
|
||||||
choices=[self.temps[i]+" ("+i+")" for i in sorted(self.temps.keys())],
|
choices=[self.temps[i]+" ("+i+")" for i in sorted(self.temps.keys())],
|
||||||
style=wx.CB_SIMPLE|wx.CB_DROPDOWN, size=(90,30),pos=(45,337))
|
style=wx.CB_SIMPLE|wx.CB_DROPDOWN, size=(90,25),pos=(45,337))
|
||||||
self.htemp.SetValue("0")
|
self.htemp.SetValue("0")
|
||||||
self.settbtn=wx.Button(self.panel,-1,"Set",size=(30,-1),pos=(135,337))
|
self.settbtn=wx.Button(self.panel,-1,"Set",size=(30,-1),pos=(135,335))
|
||||||
self.settbtn.Bind(wx.EVT_BUTTON,self.do_settemp)
|
self.settbtn.Bind(wx.EVT_BUTTON,self.do_settemp)
|
||||||
|
|
||||||
wx.StaticText(self.panel,-1,"Bed:",pos=(0,375))
|
wx.StaticText(self.panel,-1,"Bed:",pos=(0,373))
|
||||||
self.btemp=wx.ComboBox(self.panel, -1,
|
self.btemp=wx.ComboBox(self.panel, -1,
|
||||||
choices=[self.temps[i]+" ("+i+")" for i in sorted(self.temps.keys())],
|
choices=[self.bedtemps[i]+" ("+i+")" for i in sorted(self.temps.keys())],
|
||||||
style=wx.CB_SIMPLE|wx.CB_DROPDOWN, size=(90,30),pos=(45,367))
|
style=wx.CB_SIMPLE|wx.CB_DROPDOWN, size=(90,25),pos=(45,367))
|
||||||
self.btemp.SetValue("0")
|
self.btemp.SetValue("0")
|
||||||
self.setbbtn=wx.Button(self.panel,-1,"Set",size=(30,-1),pos=(135,367))
|
self.setbbtn=wx.Button(self.panel,-1,"Set",size=(30,-1),pos=(135,365))
|
||||||
self.setbbtn.Bind(wx.EVT_BUTTON,self.do_bedtemp)
|
self.setbbtn.Bind(wx.EVT_BUTTON,self.do_bedtemp)
|
||||||
|
|
||||||
self.edist=wx.SpinCtrl(self.panel,-1,"5",min=0,max=1000,size=(60,30),pos=(70,397+10))
|
self.edist=wx.SpinCtrl(self.panel,-1,"5",min=0,max=1000,size=(60,25),pos=(70,398))
|
||||||
wx.StaticText(self.panel,-1,"mm",pos=(130,407+10))
|
self.edist.SetBackgroundColour((225,200,200))
|
||||||
|
self.edist.SetForegroundColour("black")
|
||||||
|
wx.StaticText(self.panel,-1,"mm",pos=(130,407))
|
||||||
self.minibtn=wx.Button(self.panel,-1,"Mini mode",pos=(690,0))
|
self.minibtn=wx.Button(self.panel,-1,"Mini mode",pos=(690,0))
|
||||||
self.minibtn.Bind(wx.EVT_BUTTON,self.toggleview)
|
self.minibtn.Bind(wx.EVT_BUTTON,self.toggleview)
|
||||||
|
self.xyfeedc=wx.SpinCtrl(self.panel,-1,"3000",min=0,max=50000,size=(60,25),pos=(25,83))
|
||||||
|
wx.StaticText(self.panel,-1,"mm/min",pos=(130,407+27))
|
||||||
|
wx.StaticText(self.panel,-1,"mm/min",pos=(60,69))
|
||||||
|
wx.StaticText(self.panel,-1,"XY:",pos=(2,90-2))
|
||||||
|
wx.StaticText(self.panel,-1,"Z:",pos=(90,90-2))
|
||||||
|
self.zfeedc=wx.SpinCtrl(self.panel,-1,"200",min=0,max=50000,size=(60,25),pos=(105,83))
|
||||||
|
self.efeedc=wx.SpinCtrl(self.panel,-1,"300",min=0,max=50000,size=(60,25),pos=(70,397+28))
|
||||||
|
self.efeedc.SetBackgroundColour((225,200,200))
|
||||||
|
self.efeedc.SetForegroundColour("black")
|
||||||
|
self.efeedc.Bind(wx.EVT_SPINCTRL,self.setfeeds)
|
||||||
|
self.xyfeedc.Bind(wx.EVT_SPINCTRL,self.setfeeds)
|
||||||
|
self.zfeedc.Bind(wx.EVT_SPINCTRL,self.setfeeds)
|
||||||
|
self.zfeedc.SetBackgroundColour((180,255,180))
|
||||||
|
self.zfeedc.SetForegroundColour("black")
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def setfeeds(self,e):
|
||||||
|
try:
|
||||||
|
self.feede=int(self.efeedc.GetValue())
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
self.feedz=int(self.zfeedc.GetValue())
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
self.feedxy=int(self.xyfeedc.GetValue())
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def toggleview(self,e):
|
def toggleview(self,e):
|
||||||
if(self.mini):
|
if(self.mini):
|
||||||
self.mini=False
|
self.mini=False
|
||||||
|
|
Loading…
Reference in New Issue