diff --git a/kiauh/components/klipper_firmware/flash_options.py b/kiauh/components/klipper_firmware/flash_options.py index 814e41b..24564b5 100644 --- a/kiauh/components/klipper_firmware/flash_options.py +++ b/kiauh/components/klipper_firmware/flash_options.py @@ -7,7 +7,7 @@ # This file may be distributed under the terms of the GNU GPLv3 license # # ======================================================================= # -from dataclasses import field, dataclass +from dataclasses import field from enum import Enum from typing import Union, List @@ -28,15 +28,14 @@ class ConnectionType(Enum): UART = "UART" -@dataclass class FlashOptions: _instance = None - flash_method: Union[FlashMethod, None] = None - flash_command: Union[FlashCommand, None] = None - connection_type: Union[ConnectionType, None] = None - mcu_list: List[str] = field(default_factory=list) - selected_mcu: str = "" - selected_board: str = "" + _flash_method: Union[FlashMethod, None] = None + _flash_command: Union[FlashCommand, None] = None + _connection_type: Union[ConnectionType, None] = None + _mcu_list: List[str] = field(default_factory=list) + _selected_mcu: str = "" + _selected_board: str = "" def __new__(cls, *args, **kwargs): if not cls._instance: @@ -46,3 +45,51 @@ class FlashOptions: @classmethod def destroy(cls): cls._instance = None + + @property + def flash_method(self) -> Union[FlashMethod, None]: + return self._flash_method + + @flash_method.setter + def flash_method(self, value: Union[FlashMethod, None]): + self._flash_method = value + + @property + def flash_command(self) -> Union[FlashCommand, None]: + return self._flash_command + + @flash_command.setter + def flash_command(self, value: Union[FlashCommand, None]): + self._flash_command = value + + @property + def connection_type(self) -> Union[ConnectionType, None]: + return self._connection_type + + @connection_type.setter + def connection_type(self, value: Union[ConnectionType, None]): + self._connection_type = value + + @property + def mcu_list(self) -> List[str]: + return self._mcu_list + + @mcu_list.setter + def mcu_list(self, value: List[str]) -> None: + self._mcu_list = value + + @property + def selected_mcu(self) -> str: + return self._selected_mcu + + @selected_mcu.setter + def selected_mcu(self, value: str) -> None: + self._selected_mcu = value + + @property + def selected_board(self) -> str: + return self._selected_board + + @selected_board.setter + def selected_board(self, value: str) -> None: + self._selected_board = value diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py index 9594de5..adc3f3c 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py @@ -184,8 +184,6 @@ class KlipperSelectMcuConnectionMenu(BaseMenu): Logger.print_status("Identifying MCU connected via USB in DFU mode ...") self.flash_options.mcu_list = find_usb_dfu_device() - print(self.flash_options.mcu_list) - 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.") @@ -205,7 +203,6 @@ class KlipperSelectMcuIdMenu(BaseMenu): self.previous_menu: BaseMenu = previous_menu self.flash_options = FlashOptions() self.mcu_list = self.flash_options.mcu_list - print(self.mcu_list) options = {f"{index}": self.flash_mcu for index in range(len(self.mcu_list))} self.options = options self.input_label_txt = "Select MCU to flash"