Printrun/blupload.py

42 lines
1.5 KiB
Python

import printcore,time,sys,os
def dosify(name):
return os.path.split(name)[1].split(".")[0][:8]+".g"
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))
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!"
except:
print "Abort, disconnecting with a 5 second timeout in case the printer has something important to say."
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)
p.loud=False
time.sleep(2)
blupload(p,tfilename,filename)
else:
print "Usage: python blupload.py filename.gcode"