diff --git a/panels/fine_tune.py b/panels/fine_tune.py index 6ef61ac0..e62e2c99 100644 --- a/panels/fine_tune.py +++ b/panels/fine_tune.py @@ -19,16 +19,12 @@ class FineTunePanel(ScreenPanel): bs_deltas = ["0.01", "0.05"] percent_delta = 1 percent_deltas = ['1', '5', '10', '25'] - fan = 100 - - extrusion = 0 - speed = 0 + extrusion = 100 + speed = 100 def initialize(self, panel_name): _ = self.lang.gettext - grid = self._gtk.HomogeneousGrid() - grid.set_row_homogeneous(False) logging.debug("FineTunePanel") print_cfg = self._config.get_printer_config(self._screen.connected_printer) @@ -42,52 +38,6 @@ class FineTunePanel(ScreenPanel): self.bs_deltas = [bs[0], bs[-1]] self.bs_delta = self.bs_deltas[0] - - self.labels['z+'] = self._gtk.ButtonImage("z-farther", _("Z+"), "color1") - self.labels['z+'].connect("clicked", self.change_babystepping, "+") - self.labels['zoffset'] = Gtk.Label("0.00" + _("mm")) - self.labels['zoffset'].get_style_context().add_class('temperature_entry') - self.labels['z-'] = self._gtk.ButtonImage("z-closer", _("Z-"), "color1") - self.labels['z-'].connect("clicked", self.change_babystepping, "-") - - grid.attach(self.labels['z+'], 0, 0, 1, 1) - if self._screen.vertical_mode: - grid.attach(self.labels['zoffset'], 2, 0, 1, 1) - grid.attach(self.labels['z-'], 1, 0, 1, 1) - else: - grid.attach(self.labels['zoffset'], 0, 1, 1, 1) - grid.attach(self.labels['z-'], 0, 2, 1, 1) - - self.labels['speed+'] = self._gtk.ButtonImage("speed+", _("Speed +"), "color3") - self.labels['speed+'].connect("clicked", self.change_speed, "+") - self.labels['speedfactor'] = Gtk.Label("100%") - self.labels['speedfactor'].get_style_context().add_class('temperature_entry') - self.labels['speed-'] = self._gtk.ButtonImage("speed-", _("Speed -"), "color3") - self.labels['speed-'].connect("clicked", self.change_speed, "-") - if self._screen.vertical_mode: - grid.attach(self.labels['speed+'], 1, 2, 1, 1) - grid.attach(self.labels['speedfactor'], 2, 2, 1, 1) - grid.attach(self.labels['speed-'], 0, 2, 1, 1) - else: - grid.attach(self.labels['speed+'], 1, 0, 1, 1) - grid.attach(self.labels['speedfactor'], 1, 1, 1, 1) - grid.attach(self.labels['speed-'], 1, 2, 1, 1) - - self.labels['extrude+'] = self._gtk.ButtonImage("flow+", _("Extrusion +"), "color4") - self.labels['extrude+'].connect("clicked", self.change_extrusion, "+") - self.labels['extrudefactor'] = Gtk.Label("100%") - self.labels['extrudefactor'].get_style_context().add_class('temperature_entry') - self.labels['extrude-'] = self._gtk.ButtonImage("flow-", _("Extrusion -"), "color4") - self.labels['extrude-'].connect("clicked", self.change_extrusion, "-") - if self._screen.vertical_mode: - grid.attach(self.labels['extrude+'], 1, 3, 1, 1) - grid.attach(self.labels['extrudefactor'], 2, 3, 1, 1) - grid.attach(self.labels['extrude-'], 0, 3, 1, 1) - else: - grid.attach(self.labels['extrude+'], 2, 0, 1, 1) - grid.attach(self.labels['extrudefactor'], 2, 1, 1, 1) - grid.attach(self.labels['extrude-'], 2, 2, 1, 1) - # babystepping grid bsgrid = Gtk.Grid() j = 0 @@ -105,10 +55,6 @@ class FineTunePanel(ScreenPanel): ctx.add_class("distbutton_active") bsgrid.attach(self.labels[i], j, 0, 1, 1) j += 1 - if self._screen.vertical_mode: - grid.attach(bsgrid, 0, 1, 3, 1) - else: - grid.attach(bsgrid, 0, 3, 1, 1) # Grid for percentage deltgrid = Gtk.Grid() @@ -130,12 +76,74 @@ class FineTunePanel(ScreenPanel): self.labels["1"].set_active(True) + grid = self._gtk.HomogeneousGrid() + grid.set_row_homogeneous(False) if self._screen.vertical_mode: + self.labels['z+'] = self._gtk.ButtonImage("z-farther", _("Z+"), "color1") + self.labels['z-'] = self._gtk.ButtonImage("z-closer", _("Z-"), "color1") + self.labels['zoffset'] = self._gtk.ButtonImage("refresh", " 0.00" + _("mm"), + "color1", .6, .6, Gtk.PositionType.LEFT, False) + + self.labels['speed+'] = self._gtk.ButtonImage("speed+", _("Speed +"), "color3") + self.labels['speed-'] = self._gtk.ButtonImage("speed-", _("Speed -"), "color3") + self.labels['speedfactor'] = self._gtk.ButtonImage("refresh", " 100%", + "color3", .6, .6, Gtk.PositionType.LEFT, False) + + self.labels['extrude+'] = self._gtk.ButtonImage("flow+", _("Extrusion +"), "color4") + self.labels['extrude-'] = self._gtk.ButtonImage("flow-", _("Extrusion -"), "color4") + self.labels['extrudefactor'] = self._gtk.ButtonImage("refresh", " 100%", + "color4", .6, .6, Gtk.PositionType.LEFT, False) + + grid.attach(self.labels['z+'], 0, 0, 1, 1) + grid.attach(self.labels['z-'], 1, 0, 1, 1) + grid.attach(self.labels['zoffset'], 2, 0, 1, 1) + grid.attach(bsgrid, 0, 1, 3, 1) + + grid.attach(self.labels['speed-'], 0, 2, 1, 1) + grid.attach(self.labels['speed+'], 1, 2, 1, 1) + grid.attach(self.labels['speedfactor'], 2, 2, 1, 1) + + grid.attach(self.labels['extrude-'], 0, 3, 1, 1) + grid.attach(self.labels['extrude+'], 1, 3, 1, 1) + grid.attach(self.labels['extrudefactor'], 2, 3, 1, 1) grid.attach(deltgrid, 0, 4, 3, 1) else: + self.labels['z+'] = self._gtk.ButtonImage("z-farther", _("Z+"), "color1") + self.labels['zoffset'] = self._gtk.ButtonImage("refresh", " 0.00" + _("mm"), + "color1", .6, .6, Gtk.PositionType.LEFT, False) + self.labels['z-'] = self._gtk.ButtonImage("z-closer", _("Z-"), "color1") + + self.labels['speed+'] = self._gtk.ButtonImage("speed+", _("Speed +"), "color3") + self.labels['speedfactor'] = self._gtk.ButtonImage("refresh", " 100%", + "color3", .6, .6, Gtk.PositionType.LEFT, False) + self.labels['speed-'] = self._gtk.ButtonImage("speed-", _("Speed -"), "color3") + + self.labels['extrude+'] = self._gtk.ButtonImage("flow+", _("Extrusion +"), "color4") + self.labels['extrudefactor'] = self._gtk.ButtonImage("refresh", " 100%", + "color4", .6, .6, Gtk.PositionType.LEFT, False) + self.labels['extrude-'] = self._gtk.ButtonImage("flow-", _("Extrusion -"), "color4") + grid.attach(self.labels['zoffset'], 0, 0, 1, 1) + grid.attach(self.labels['z+'], 0, 1, 1, 1) + grid.attach(self.labels['z-'], 0, 2, 1, 1) + grid.attach(bsgrid, 0, 3, 1, 1) + grid.attach(self.labels['speedfactor'], 1, 0, 1, 1) + grid.attach(self.labels['speed+'], 1, 1, 1, 1) + grid.attach(self.labels['speed-'], 1, 2, 1, 1) + grid.attach(self.labels['extrudefactor'], 2, 0, 1, 1) + grid.attach(self.labels['extrude+'], 2, 1, 1, 1) + grid.attach(self.labels['extrude-'], 2, 2, 1, 1) grid.attach(deltgrid, 1, 3, 2, 1) - # self.panel = grid + self.labels['z+'].connect("clicked", self.change_babystepping, "+") + self.labels['zoffset'].connect("clicked", self.change_babystepping, "reset") + self.labels['z-'].connect("clicked", self.change_babystepping, "-") + self.labels['speed+'].connect("clicked", self.change_speed, "+") + self.labels['speedfactor'].connect("clicked", self.change_speed, "reset") + self.labels['speed-'].connect("clicked", self.change_speed, "-") + self.labels['extrude+'].connect("clicked", self.change_extrusion, "+") + self.labels['extrudefactor'].connect("clicked", self.change_extrusion, "reset") + self.labels['extrude-'].connect("clicked", self.change_extrusion, "-") + self.content.add(grid) def process_update(self, action, data): @@ -146,24 +154,28 @@ class FineTunePanel(ScreenPanel): if "gcode_move" in data: if "homing_origin" in data["gcode_move"]: - self.labels['zoffset'].set_text("%.2fmm" % data["gcode_move"]["homing_origin"][2]) + self.labels['zoffset'].set_label(" %.2fmm" % data["gcode_move"]["homing_origin"][2]) if "extrude_factor" in data["gcode_move"]: self.extrusion = int(round(data["gcode_move"]["extrude_factor"]*100)) - self.labels['extrudefactor'].set_text("%3d%%" % self.extrusion) + self.labels['extrudefactor'].set_label(" %3d%%" % self.extrusion) if "speed_factor" in data["gcode_move"]: self.speed = int(round(data["gcode_move"]["speed_factor"]*100)) - self.labels['speedfactor'].set_text("%3d%%" % self.speed) + self.labels['speedfactor'].set_label(" %3d%%" % self.speed) def change_babystepping(self, widget, dir): + if self._screen.printer.get_stat("toolhead", "homed_axes") != "xyz": + self._screen.show_popup_message("Must home first") + return + if dir == "+": gcode = "SET_GCODE_OFFSET Z_ADJUST=%s MOVE=1" % self.bs_delta - else: + elif dir == "-": gcode = "SET_GCODE_OFFSET Z_ADJUST=-%s MOVE=1" % self.bs_delta + elif dir == "reset": + gcode = "SET_GCODE_OFFSET Z=0 MOVE=1" self._screen._ws.klippy.gcode_script(gcode) - - def change_bs_delta(self, widget, bs): if self.bs_delta == bs: return @@ -183,35 +195,26 @@ class FineTunePanel(ScreenPanel): def change_extrusion(self, widget, dir): if dir == "+": self.extrusion += int(self.percent_delta) - else: + elif dir == "-": self.extrusion -= int(self.percent_delta) + elif dir == "reset": + self.extrusion = 100 - if self.extrusion < 0: - self.extrusion = 0 + if self.extrusion < 1: + self.extrusion = 1 self._screen._ws.klippy.gcode_script(KlippyGcodes.set_extrusion_rate(self.extrusion)) - 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 change_speed(self, widget, dir): if dir == "+": self.speed += int(self.percent_delta) - else: + elif dir == "-": self.speed -= int(self.percent_delta) + elif dir == "reset": + self.speed = 100 - if self.speed < 0: - self.speed = 0 + if self.speed < 1: + self.speed = 1 self._screen._ws.klippy.gcode_script(KlippyGcodes.set_speed_rate(self.speed))