2011-05-23 13:39:57 +00:00
|
|
|
import printcore,time,sys,os
|
|
|
|
|
|
|
|
def dosify(name):
|
2011-05-31 15:08:23 +00:00
|
|
|
return os.path.split(name)[1].split(".")[0][:8]+".g"
|
2011-05-23 13:39:57 +00:00
|
|
|
|
|
|
|
def blupload(printer,filename,path):
|
|
|
|
printer.send_now("M28 "+dosify(filename))
|
|
|
|
printer.startprint([i.replace("\n","") for i in open(path)])
|
|
|
|
try:
|
|
|
|
sys.stdout.write("Progress: 00.0%")
|
|
|
|
sys.stdout.flush()
|
|
|
|
while(printer.printing):
|
|
|
|
time.sleep(1)
|
|
|
|
sys.stdout.write("\b\b\b\b%02.1f%%" % (100*float(printer.queueindex)/len(printer.mainqueue),) )
|
|
|
|
sys.stdout.flush()
|
|
|
|
printer.send_now("M29 "+dosify(filename))
|
2011-05-24 08:21:10 +00:00
|
|
|
print "Done uploading, disconnecting with a 5 second timeout in case the printer has something important to say."
|
|
|
|
printer.disconnect()
|
|
|
|
time.sleep(5)
|
|
|
|
print "Upload complete. Goodbye!"
|
|
|
|
|
2011-05-23 13:39:57 +00:00
|
|
|
except:
|
2011-05-24 08:21:10 +00:00
|
|
|
print "Abort, disconnecting with a 5 second timeout in case the printer has something important to say."
|
2011-05-23 13:39:57 +00:00
|
|
|
printer.disconnect()
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
#print "Usage: python blupload.py filename.gcode"
|
|
|
|
filename="../prusamendel/sellsx_export.gcode"
|
|
|
|
tfilename=filename
|
|
|
|
if len(sys.argv)>1:
|
|
|
|
filename=sys.argv[1]
|
|
|
|
tfilename=os.path.basename(sys.argv[1])
|
|
|
|
print "Uploading: "+filename," as "+dosify(tfilename)
|
|
|
|
p=printcore.printcore('/dev/ttyUSB0',115200)
|
2011-05-24 08:22:39 +00:00
|
|
|
p.loud=False
|
2011-05-23 13:39:57 +00:00
|
|
|
time.sleep(2)
|
|
|
|
blupload(p,tfilename,filename)
|
2011-05-24 08:21:10 +00:00
|
|
|
|
2011-05-23 13:39:57 +00:00
|
|
|
else:
|
|
|
|
print "Usage: python blupload.py filename.gcode"
|
|
|
|
|