def update_entry(self, widget, digit): text = self.labels['entry'].get_text() if digit == 'B': if len(text) < 1: return self.labels['entry'].set_text(text[0:-1]) elif digit == 'E': if self.active_heater == "heater_bed": temp = int(text) temp = 0 if temp < 0 or temp > KlippyGcodes.MAX_BED_TEMP else temp self._screen._ws.klippy.gcode_script( KlippyGcodes.set_bed_temp(temp)) else: temp = int(text) temp = 0 if temp < 0 or temp > KlippyGcodes.MAX_EXT_TEMP else temp self._screen._ws.klippy.gcode_script( KlippyGcodes.set_ext_temp( temp, self._printer.get_tool_number(self.active_heater))) self._printer.set_dev_stat(self.active_heater, "target", temp) self.labels['entry'].set_text("") else: if len(text) >= 3: return self.labels['entry'].set_text(text + digit)
def set_tool_temp(self, tool, target, callback=None, *args): logger.debug("Sending set_tool_temp: %s", KlippyGcodes.set_ext_temp(target, tool)) return self._ws.send_method( "printer.gcode.script", {"script": KlippyGcodes.set_ext_temp(target, tool)}, callback, *args)
def extrude(self, widget, dir): dist = str(self.distance) if dir == "+" else "-" + str(self.distance) speed = self.speed_trans[self.speed] print(KlippyGcodes.extrude(dist, speed)) self._screen._ws.klippy.gcode_script(KlippyGcodes.EXTRUDE_REL) self._screen._ws.klippy.gcode_script(KlippyGcodes.extrude(dist, speed))
def set_fan_on(self, widget, fanon): speed = 100 if fanon == True else 0 self._screen._ws.klippy.gcode_script(KlippyGcodes.set_fan_speed(speed)) self.fan_speed = float(speed) self.labels["scale"].disconnect_by_func(self.select_fan_speed) self.labels["scale"].set_value(self.fan_speed) self.labels["scale"].connect("value-changed", self.select_fan_speed) self.cancel_select_fan_speed(widget)
def temperature_set(self, heater, target, callback=None, *args): if heater == "heater_bed": logger.debug("Sending printer.gcode.script: %s", KlippyGcodes.set_bed_temp(target)) return self._ws.send_method( "printer.gcode.script", {"script": KlippyGcodes.set_bed_temp(target)}, callback, *args) else: logger.debug( "Sending printer.gcode.script: %s", KlippyGcodes.set_ext_temp(target, heater.replace("tool", ""))) #TODO: Add max/min limits return self._ws.send_method( "printer.gcode.script", { "script": KlippyGcodes.set_ext_temp(target, heater.replace( "tool", "")) }, callback, *args)
def set_temp_fan_temp(self, temp_fan, target, callback=None, *args): logging.debug("Sending temperature fan %s to temp: %s", temp_fan, target) return self._ws.send_method( "printer.gcode.script", { "script": KlippyGcodes.set_temp_fan_temp(temp_fan, target) }, callback, *args )
def set_heater_temp(self, heater, target, callback=None, *args): logging.debug("Sending heater %s to temp: %s", heater, target) return self._ws.send_method( "printer.gcode.script", { "script": KlippyGcodes.set_heater_temp(heater, target) }, callback, *args )
def set_fan_speed(self, widget, fan): value = self.devices[fan]['scale'].get_value() if fan == "fan": self._screen._ws.klippy.gcode_script( KlippyGcodes.set_fan_speed(value)) else: f = " ".join(fan.split(" ")[1:]) self._screen._ws.klippy.gcode_script( "SET_FAN_SPEED FAN=%s SPEED=%s" % (f, float(value) / 100))
def change_extrusion(self, widget, direction): if direction == "+": self.extrusion += int(self.percent_delta) elif direction == "-": self.extrusion -= int(self.percent_delta) elif direction == "reset": self.extrusion = 100 self.extrusion = max(self.extrusion, 1) self._screen._ws.klippy.gcode_script( KlippyGcodes.set_extrusion_rate(self.extrusion))
def change_target_temp(self, widget, dir): target = self._printer.get_dev_stat(self.active_heater, "target") if dir == "+": target += int(self.tempdelta) if target > KlippyGcodes.MAX_EXT_TEMP: target = KlippyGcodes.MAX_EXT_TEMP else: target -= int(self.tempdelta) if target < 0: target = 0 self._printer.set_dev_stat(self.active_heater, "target", target) if self.active_heater == "heater_bed": self._screen._ws.klippy.gcode_script( KlippyGcodes.set_bed_temp(target)) else: self._screen._ws.klippy.gcode_script( KlippyGcodes.set_ext_temp( target, self._printer.get_tool_number(self.active_heater)))
def change_speed(self, widget, dir): if dir == "+": self.speed += int(self.percent_delta) else: self.speed -= int(self.percent_delta) if self.speed < 0: self.speed = 0 self._screen._ws.klippy.gcode_script( KlippyGcodes.set_speed_rate(self.speed))
def change_extrusion(self, widget, dir): if dir == "+": self.extrusion += int(self.percent_delta) else: self.extrusion -= int(self.percent_delta) if self.extrusion < 0: self.extrusion = 0 self._screen._ws.klippy.gcode_script( KlippyGcodes.set_extrusion_rate(self.extrusion))
def change_speed(self, widget, direction): if direction == "+": self.speed += int(self.percent_delta) elif direction == "-": self.speed -= int(self.percent_delta) elif direction == "reset": self.speed = 100 self.speed = max(self.speed, 1) self._screen._ws.klippy.gcode_script( KlippyGcodes.set_speed_rate(self.speed))
def set_fan_speed(self, widget, event, fan): value = self.devices[fan]['scale'].get_value() if fan == "fan": self._screen._ws.klippy.gcode_script( KlippyGcodes.set_fan_speed(value)) else: self._screen._ws.klippy.gcode_script( f"SET_FAN_SPEED FAN={fan.split()[1]} SPEED={float(value) / 100}" ) # Check the speed in case it wasn't applied GLib.timeout_add_seconds(1, self.check_fan_speed, fan)
def change_fan(self, widget, dir): if dir == "+": self.fan += int(self.percent_delta) else: self.fan -= int(self.percent_delta) if self.fan < 0: self.fan = 0 elif self.fan > 100: self.fan = 100 self._screen._ws.klippy.gcode_script( KlippyGcodes.set_fan_speed(self.fan))
def move(self, widget, direction): dist = f"{direction}{self.distance}" logging.info(f"# Moving {KlippyGcodes.testz_move(dist)}") self._screen._ws.klippy.gcode_script(KlippyGcodes.testz_move(dist))
def move(self, widget, dir): dist = str(self.distance) if dir == "+" else "-" + str(self.distance) logger.info("# Moving %s", KlippyGcodes.probe_move(dist)) self._screen._ws.klippy.gcode_script(KlippyGcodes.probe_move(dist))
def send_remove_mesh(self, widget, profile): self._screen._ws.klippy.gcode_script( KlippyGcodes.bed_mesh_remove(profile)) self.remove_profile(profile)
def send_load_mesh(self, widget, profile): self._screen._ws.klippy.gcode_script( KlippyGcodes.bed_mesh_load(profile))
def extrude(self, widget, direction): self._screen._ws.klippy.gcode_script(KlippyGcodes.EXTRUDE_REL) self._screen._ws.klippy.gcode_script( KlippyGcodes.extrude(f"{direction}{self.distance}", f"{self.speed * 60}"))
def set_bed_temp(self, target, callback=None, *args): logging.debug( f"Sending set_bed_temp: {KlippyGcodes.set_bed_temp(target)}") return self._ws.send_method( "printer.gcode.script", {"script": KlippyGcodes.set_bed_temp(target)}, callback, *args)
def set_fan_speed(self, widget): self._screen._ws.klippy.gcode_script( KlippyGcodes.set_fan_speed(self.labels['scale'].get_value())) self.cancel_select_fan_speed(widget)