diff --git a/config/main_menu.conf b/config/main_menu.conf index 6f399118..2b28ab48 100644 --- a/config/main_menu.conf +++ b/config/main_menu.conf @@ -81,7 +81,7 @@ enable: {{ printer.gcode_macros.count > 0 }} name: {{ gettext('Pins') }} icon: hashtag panel: pins -enable: {{ printer.output_pins.count > 0 }} +enable: {{ printer.output_pins.count > 0 or printer.pwm_tools.count > 0 }} [menu __main more power] name: {{ gettext('Power') }} diff --git a/config/print_menu.conf b/config/print_menu.conf index 8c47d2de..a6d68c6a 100644 --- a/config/print_menu.conf +++ b/config/print_menu.conf @@ -96,4 +96,4 @@ enable: {{ moonraker_connected }} name: {{ gettext('Pins') }} icon: hashtag panel: pins -enable: {{ printer.output_pins.count > 0 }} +enable: {{ printer.output_pins.count > 0 or printer.pwm_tools.count > 0 }} diff --git a/ks_includes/printer.py b/ks_includes/printer.py index 5181dfc1..7da291e8 100644 --- a/ks_includes/printer.py +++ b/ks_includes/printer.py @@ -37,6 +37,7 @@ class Printer: self.fancount = 0 self.ledcount = 0 self.output_pin_count = 0 + self.pwm_tools_count = 0 self.tempstore.clear() self.tempstore_size = 1200 self.available_commands.clear() @@ -76,6 +77,8 @@ class Printer: self.fancount += 1 if x.startswith('output_pin ') and not x.split()[1].startswith("_"): self.output_pin_count += 1 + if x.startswith('pwm_tool ') and not x.split()[1].startswith("_"): + self.pwm_tools_count += 1 if x.startswith('bed_mesh '): try: r = self.config[x] @@ -103,6 +106,7 @@ class Printer: logging.info(f"# Temperature devices: {self.tempdevcount}") logging.info(f"# Fans: {self.fancount}") logging.info(f"# Output pins: {self.output_pin_count}") + logging.info(f"# PWM tools: {self.pwm_tools_count}") logging.info(f"# Leds: {self.ledcount}") def stop_tempstore_updates(self): @@ -252,6 +256,7 @@ class Printer: "temperature_devices": {"count": self.tempdevcount}, "fans": {"count": self.fancount}, "output_pins": {"count": self.output_pin_count}, + "pwm_tools": {"count": self.pwm_tools_count}, "gcode_macros": {"count": len(self.get_gcode_macros()), "list": self.get_gcode_macros()}, "leds": {"count": self.ledcount}, "config_sections": [section for section in self.config.keys()],