def layerChange(self, layer): self.advance.layerChange(layer) if layer == 0: print "layer 0, increasing temp by", Layer0TempIncrease self.l0TempIncrease = Layer0TempIncrease else: self.l0TempIncrease = 0 if layer == 2: self.partNumber -= 1 if self.partNumber: return # Reduce bedtemp bedTemp = MatProfile.getBedTempReduced() self.gui.log("Layer2, reducing bedtemp to: ", bedTemp) self.addSynchronizedCommand(CmdSyncTargetTemp, p1=packedvalue.uint8_t(HeaterBed), p2=packedvalue.uint16_t(bedTemp))
def layerChange(self, layer): if layer == 2: self.partNumber -= 1 if self.partNumber: return # Reduce bedtemp bedTemp = MatProfile.getBedTempReduced() self.gui.log("Layer2, reducing bedtemp to: ", bedTemp) self.addSynchronizedCommand( CmdSyncTargetTemp, p1 = packedvalue.uint8_t(HeaterBed), p2 = packedvalue.uint16_t(bedTemp))
def printWorker(self): parser = argparse.ArgumentParser( description='%s, Direct Drive USB Print.' % sys.argv[0]) parser.add_argument("-d", dest="device", action="store", type=str, help="Device to use, default: /dev/ttyACM0.", default="/dev/ttyACM0") parser.add_argument("-b", dest="baud", action="store", type=int, help="Baudrate, default 500000.", default=500000) parser.add_argument("-f", dest="file", action="store", type=str, help="Gcode to print") parser.add_argument("-F", dest="fakeendstop", action="store", type=bool, help="fake endstops", default=False) parser.add_argument( "-nc", dest="noCoolDown", action="store", type=bool, help="Debug: don't wait for heater cool down after print.", default=False) parser.add_argument( "-t0", dest="t0", action="store", type=int, help="Temp 0 (heated bed), default comes from mat. profile.") parser.add_argument( "-t1", dest="t1", action="store", type=int, help="Temp 1 (hotend 1), default comes from mat. profile.") parser.add_argument( "-kAdvance", dest="kAdvance", action="store", type=float, help="K-Advance factor, default comes from mat. profile.") parser.add_argument( "-mat", dest="mat", action="store", help= "Name of material profile to use [pla, abs...], default is pla.", default="pla_1.75mm") parser.add_argument( "-rl", dest="retractLength", action="store", type=float, help="Retraction length, default comes from printer profile.", default=0) parser.add_argument("-smat", dest="smat", action="store", help="Name of specific material profile to use.") parser.add_argument( "-noz", dest="nozzle", action="store", help= "Name of nozzle profile to use [nozzle40, nozzle80...], default is nozzle40.", default="nozzle40") self.args = parser.parse_args() self.args.mode = "dlprint" # print "args: ", self.args (self.parser, self.planner, self.printer) = ddprint.initParser(self.args, gui=self) # util.commonInit(self.args, self.parser) try: self.printer.commandInit(self.args) except SerialException: msg = "Can't open serial device '%s' (baudrate: %d)!\n\nPress OK to exit." % ( self.args.device, self.args.baud) self.guiQueue.put(SyncCall(self.quit, msg)) return self.mat_t0 = MatProfile.getBedTemp() self.mat_t0_reduced = MatProfile.getBedTempReduced() self.mat_t1 = MatProfile.getHotendStartTemp( ) + self.planner.l0TempIncrease # self.fn.set_value(self.args.file) self.guiQueue.put(SyncCall(self.fn.set_value, self.args.file)) while True: try: while True: # self.guiQueue.put("hi") # self.guiQueue.put(SyncCall(self.appLog.buffer, ["juhu"])) workDone = False while not self.cmdQueue.empty(): obj = self.cmdQueue.get() obj.call() workDone = True if time.time() - self.lastUpdate > 2.5: # status = self.printer.getStatus() # self.guiQueue.put(SyncCall(self.updateStatus, status)) self.printer.getStatus() workDone = True self.lastUpdate = time.time() if not workDone: time.sleep(0.1) except stoppableThread.StopThread: self.printThread.incStopCount() self.log("caught StopThread, continue....")