From 2224478ea03d0cbd63d73fefff75834fd912c33f Mon Sep 17 00:00:00 2001 From: alfrix Date: Sat, 1 Oct 2022 12:32:13 -0300 Subject: [PATCH] fine-tune: change the labels as soon as the button was pressed, this should give better feedback when the change is delayed by klipper --- panels/fine_tune.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/panels/fine_tune.py b/panels/fine_tune.py index d4a1b549..0754a6b3 100644 --- a/panels/fine_tune.py +++ b/panels/fine_tune.py @@ -1,6 +1,7 @@ import gi import logging import re +import contextlib gi.require_version("Gtk", "3.0") from gi.repository import Gtk @@ -155,10 +156,19 @@ class FineTunePanel(ScreenPanel): def change_babystepping(self, widget, direction): if direction == "reset": + self.labels['zoffset'].set_label(' 0.00mm') self._screen._ws.klippy.gcode_script("SET_GCODE_OFFSET Z=0 MOVE=1") elif direction in ["+", "-"]: + with contextlib.suppress(KeyError): + z_offset = float(self._printer.data["gcode_move"]["homing_origin"][2]) + if direction == "+": + z_offset += float(self.bs_delta) + else: + z_offset -= float(self.bs_delta) + self.labels['zoffset'].set_label(f' {round(z_offset, 2):.2f}mm') self._screen._ws.klippy.gcode_script(f"SET_GCODE_OFFSET Z_ADJUST={direction}{self.bs_delta} MOVE=1") + def change_bs_delta(self, widget, bs): if self.bs_delta == bs: return @@ -184,6 +194,7 @@ class FineTunePanel(ScreenPanel): self.extrusion = 100 self.extrusion = max(self.extrusion, 1) + self.labels['extrudefactor'].set_label(f" {self.extrusion:3}%") self._screen._ws.klippy.gcode_script(KlippyGcodes.set_extrusion_rate(self.extrusion)) def change_speed(self, widget, direction): @@ -195,6 +206,7 @@ class FineTunePanel(ScreenPanel): self.speed = 100 self.speed = max(self.speed, 1) + self.labels['speedfactor'].set_label(f" {self.speed:3}%") self._screen._ws.klippy.gcode_script(KlippyGcodes.set_speed_rate(self.speed)) def change_percent_delta(self, widget, delta):