From 794dbea14e17102d62398952a893fa53b706c073 Mon Sep 17 00:00:00 2001 From: Ruslan Sayfutdinov Date: Tue, 31 May 2022 15:10:27 +0100 Subject: [PATCH] Allow setting 0 in preheat options (#612) --- ks_includes/config.py | 8 ++++---- panels/temperature.py | 14 ++++++++------ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/ks_includes/config.py b/ks_includes/config.py index 08c59bd0..b9658d6a 100644 --- a/ks_includes/config.py +++ b/ks_includes/config.py @@ -443,10 +443,10 @@ class KlipperScreenConfig: return False cfg = self.config[name] item = { - "extruder": cfg.getint("extruder", 0), - "bed": cfg.getint("bed", 0), - "heater_generic": cfg.getint("heater_generic", 0), - "temperature_fan": cfg.getint("temperature_fan", 0), + "extruder": cfg.getint("extruder", None), + "bed": cfg.getint("bed", None), + "heater_generic": cfg.getint("heater_generic", None), + "temperature_fan": cfg.getint("temperature_fan", None), "gcode": cfg.get("gcode", None) } return item diff --git a/panels/temperature.py b/panels/temperature.py index 50c6d944..f7c1ddfd 100644 --- a/panels/temperature.py +++ b/panels/temperature.py @@ -232,26 +232,28 @@ class TemperaturePanel(ScreenPanel): MAX_TEMP = int(float(self._printer.get_config_section(heater)['max_temp'])) if heater.startswith('extruder'): target = self.preheat_options[setting]["extruder"] - if target > 0 and target <= MAX_TEMP: + if target is not None and target >= 0 and target <= MAX_TEMP: self._screen._ws.klippy.set_tool_temp(self._printer.get_tool_number(heater), target) elif heater.startswith('heater_bed'): target = self.preheat_options[setting]["bed"] - if target > 0 and target <= MAX_TEMP: + if target is not None and target >= 0 and target <= MAX_TEMP: self._screen._ws.klippy.set_bed_temp(target) elif heater.startswith('heater_generic '): target = self.preheat_options[setting]["heater_generic"] - if target > 0 and target <= MAX_TEMP: + if target is not None and target >= 0 and target <= MAX_TEMP: self._screen._ws.klippy.set_heater_temp(" ".join(heater.split(" ")[1:]), target) elif heater.startswith('temperature_fan '): target = self.preheat_options[setting]["temperature_fan"] - if target > 0 and target <= MAX_TEMP: + if target is not None and target >= 0 and target <= MAX_TEMP: self._screen._ws.klippy.set_temp_fan_temp(" ".join(heater.split(" ")[1:]), target) else: logging.info("Unknown heater: %s" % heater) self._screen.show_popup_message(_("Unknown Heater") + " " + heater) + if target is None: + continue if target <= MAX_TEMP: - if target > 0: - self._printer.set_dev_stat(heater, "target", int(target)) + if target >= 0: + self._printer.set_dev_stat(heater, "target", target) logging.info("Setting %s to %d" % (heater, target)) else: self._screen.show_popup_message(_("Can't set above the maximum:") + (" %s" % MAX_TEMP))