diff --git a/panels/exclude.py b/panels/exclude.py index c7f0ddc7..88b3ad66 100644 --- a/panels/exclude.py +++ b/panels/exclude.py @@ -22,7 +22,7 @@ class ExcludeObjectPanel(ScreenPanel): self.object_list.set_valign(Gtk.Align.CENTER) self.object_list.set_halign(Gtk.Align.START) self.buttons = {} - self.current_object = self._gtk.Button("extrude", "", scale=.66, position=Gtk.PositionType.LEFT, lines=1) + self.current_object = self._gtk.Button("extrude", "", scale=self.bts, position=Gtk.PositionType.LEFT, lines=1) self.current_object.connect("clicked", self.exclude_current) self.current_object.set_vexpand(False) self.excluded_objects = self._printer.get_stat("exclude_object", "excluded_objects") diff --git a/panels/fine_tune.py b/panels/fine_tune.py index fb56ac0b..6261e690 100644 --- a/panels/fine_tune.py +++ b/panels/fine_tune.py @@ -65,16 +65,27 @@ class FineTunePanel(ScreenPanel): grid = self._gtk.HomogeneousGrid() grid.set_row_homogeneous(False) + factor = self._printer.get_stat("gcode_move", "extrude_factor") + self.extrusion = round(float(factor) * 100) if factor else 100 + factor = self._printer.get_stat("gcode_move", "speed_factor") + self.speed_factor = float(factor) if factor else 1 + self.speed = round(self.speed_factor * 100) + offset = self._screen.printer.get_stat("gcode_move", "homing_origin") + offset = float(offset[2]) if offset else 0 + self.labels['z+'] = self._gtk.Button("z-farther", "Z+", "color1") self.labels['z-'] = self._gtk.Button("z-closer", "Z-", "color1") - self.labels['zoffset'] = self._gtk.Button("refresh", " 0.00" + _("mm"), "color1", .6, Gtk.PositionType.LEFT, 1) + self.labels['zoffset'] = self._gtk.Button("refresh", f' {offset:.2f}' + _("mm"), + "color1", self.bts, Gtk.PositionType.LEFT, 1) self.labels['speed+'] = self._gtk.Button("speed+", _("Speed +"), "color3") self.labels['speed-'] = self._gtk.Button("speed-", _("Speed -"), "color3") - self.labels['speedfactor'] = self._gtk.Button("refresh", " 100%", "color3", .6, Gtk.PositionType.LEFT, 1) + self.labels['speedfactor'] = self._gtk.Button("refresh", f" {self.speed:3}%", + "color3", self.bts, Gtk.PositionType.LEFT, 1) self.labels['extrude+'] = self._gtk.Button("flow+", _("Extrusion +"), "color4") self.labels['extrude-'] = self._gtk.Button("flow-", _("Extrusion -"), "color4") - self.labels['extrudefactor'] = self._gtk.Button("refresh", " 100%", "color4", .6, Gtk.PositionType.LEFT, 1) + self.labels['extrudefactor'] = self._gtk.Button("refresh", f" {self.extrusion:3}%", + "color4", self.bts, Gtk.PositionType.LEFT, 1) if self._screen.vertical_mode: grid.attach(self.labels['z+'], 0, 0, 1, 1) grid.attach(self.labels['z-'], 1, 0, 1, 1) @@ -121,10 +132,10 @@ class FineTunePanel(ScreenPanel): if "homing_origin" in data["gcode_move"]: self.labels['zoffset'].set_label(f' {data["gcode_move"]["homing_origin"][2]:.2f}mm') if "extrude_factor" in data["gcode_move"]: - self.extrusion = int(round(data["gcode_move"]["extrude_factor"] * 100)) + self.extrusion = round(float(data["gcode_move"]["extrude_factor"]) * 100) self.labels['extrudefactor'].set_label(f" {self.extrusion:3}%") if "speed_factor" in data["gcode_move"]: - self.speed = int(round(data["gcode_move"]["speed_factor"] * 100)) + self.speed = round(float(data["gcode_move"]["speed_factor"]) * 100) self.labels['speedfactor'].set_label(f" {self.speed:3}%") def change_babystepping(self, widget, direction): @@ -149,9 +160,9 @@ class FineTunePanel(ScreenPanel): def change_extrusion(self, widget, direction): if direction == "+": - self.extrusion += self.percent_delta + self.extrusion += int(self.percent_delta) elif direction == "-": - self.extrusion -= self.percent_delta + self.extrusion -= int(self.percent_delta) elif direction == "reset": self.extrusion = 100 diff --git a/panels/move.py b/panels/move.py index 38da1686..7fb159e9 100644 --- a/panels/move.py +++ b/panels/move.py @@ -103,9 +103,13 @@ class MovePanel(ScreenPanel): ctx.add_class("distbutton_active") distgrid.attach(self.labels[i], j, 0, 1, 1) - self.labels['pos_x'] = Gtk.Label("X: 0") - self.labels['pos_y'] = Gtk.Label("Y: 0") - self.labels['pos_z'] = Gtk.Label("Z: 0") + homed_axes = self._screen.printer.get_stat("toolhead", "homed_axes") + x = self._screen.printer.get_stat("gcode_move", "gcode_position")[0] if "x" in homed_axes else "?" + y = self._screen.printer.get_stat("gcode_move", "gcode_position")[1] if "y" in homed_axes else "?" + z = self._screen.printer.get_stat("gcode_move", "gcode_position")[2] if "z" in homed_axes else "?" + self.labels['pos_x'] = Gtk.Label(f"X: {x:.2f}") + self.labels['pos_y'] = Gtk.Label(f"Y: {y:.2f}") + self.labels['pos_z'] = Gtk.Label(f"Z: {z:.2f}") adjust = self._gtk.Button("settings", None, "color2", 1, Gtk.PositionType.LEFT, 1) adjust.connect("clicked", self.load_menu, 'options', _('Settings')) adjust.set_hexpand(False) diff --git a/panels/zcalibrate.py b/panels/zcalibrate.py index 0044a2a9..0f75d1b0 100644 --- a/panels/zcalibrate.py +++ b/panels/zcalibrate.py @@ -36,6 +36,11 @@ class ZCalibratePanel(ScreenPanel): pos.attach(Gtk.Label(_("New")), 1, 3, 1, 1) pos.attach(Gtk.Label(f"{self.z_offset:.2f}"), 0, 4, 1, 1) pos.attach(self.widgets['zoffset'], 1, 4, 1, 1) + self._screen.printer.get_stat("gcode_move", "gcode_position") + if self._screen.printer.get_stat("toolhead", "homed_axes") == "xyz": + p = self._screen.printer.get_stat('gcode_move', 'gcode_position') + if p: + self.update_position(p) self.buttons = { 'zpos': self._gtk.Button('z-farther', _("Raise Nozzle"), 'color4'), 'zneg': self._gtk.Button('z-closer', _("Lower Nozzle"), 'color1'), @@ -233,8 +238,8 @@ class ZCalibratePanel(ScreenPanel): if action == "notify_status_update": if self._screen.printer.get_stat("toolhead", "homed_axes") != "xyz": self.widgets['zposition'].set_text("Z: ?") - elif "toolhead" in data and "position" in data['toolhead']: - self.update_position(data['toolhead']['position']) + elif "gcode_move" in data and "gcode_position" in data['gcode_move']: + self.update_position(data['gcode_move']['gcode_position']) elif action == "notify_gcode_response": data = data.lower() if "unknown" in data: