diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py index 4c20f2d..cda6301 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py @@ -8,6 +8,7 @@ # ======================================================================= # import textwrap +import time from components.klipper_firmware.flash_options import ( FlashOptions, @@ -131,9 +132,10 @@ class KlipperFlashCommandMenu(BaseMenu): # noinspection PyUnusedLocal # noinspection PyMethodMayBeStatic class KlipperSelectMcuConnectionMenu(BaseMenu): - def __init__(self, previous_menu: BaseMenu): + def __init__(self, previous_menu: BaseMenu, standalone: bool = False): super().__init__() + self.__standalone = standalone self.previous_menu: BaseMenu = previous_menu self.options = { "1": self.select_usb, @@ -193,8 +195,16 @@ class KlipperSelectMcuConnectionMenu(BaseMenu): if len(self.flash_options.mcu_list) < 1: Logger.print_warn("No MCUs found!") Logger.print_warn("Make sure they are connected and repeat this step.") - else: - self.goto_next_menu() + + # if standalone is True, we only display the MCUs to the user and return + if self.__standalone and len(self.flash_options.mcu_list) > 0: + Logger.print_ok("The following MCUs were found:", prefix=False) + for i, mcu in enumerate(self.flash_options.mcu_list): + print(f" ● MCU #{i}: {COLOR_CYAN}{mcu}{RESET_FORMAT}") + time.sleep(3) + return + + self.goto_next_menu() def goto_next_menu(self, **kwargs): KlipperSelectMcuIdMenu(previous_menu=self).run() diff --git a/kiauh/core/menus/advanced_menu.py b/kiauh/core/menus/advanced_menu.py index 3c07497..5d198ff 100644 --- a/kiauh/core/menus/advanced_menu.py +++ b/kiauh/core/menus/advanced_menu.py @@ -58,4 +58,4 @@ class AdvancedMenu(BaseMenu): KlipperFlashMethodMenu(previous_menu=self).run() def get_id(self, **kwargs): - KlipperSelectMcuConnectionMenu(previous_menu=self).run() + KlipperSelectMcuConnectionMenu(previous_menu=self, standalone=True).run()