- from enum import Enum
-
- class Commands(Enum):
- COMMAND_HELP = "h"
- COMMAND_ARM = "a"
- COMMAND_DISARM = "d"
- COMMAND_PULSE = "p"
- COMMAND_ENABLE_TIMEOUT = "en"
- COMMAND_DISABLE_TIMEOUT = "di"
- COMMAND_FAST_TRIGGER = "f"
- COMMAND_FAST_TRIGGER_CONF = "fa"
- COMMAND_INTERNAL_HVP = "ih"
- COMMAND_EXTERNAL_HVP = "eh"
- COMMAND_CONFIGURE = "c"
- COMMAND_TOGGLE_GPIO = "t"
- COMMAND_STATUS = "s"
- COMMAND_RESET = "r"
-
- def __str__(self):
- return self.value
-
- class BoardStatus(Enum):
- STATUS_ARMED = "armed"
- STATUS_DISARMED = "disarmed"
- STATUS_CHARGED = "charged"
- STATUS_PULSE = "pulsed"
- STATUS_NOT_CHARGED = "Not Charged"
- STATUS_TIMEOUT_ACTIVE = "Timeout active"
- STATUS_TIMEOUT_DEACT = "Timeout deactivated"
- STATUS_HVP_INTERVAL = "HVP interval"
-
- def __str__(self):
- return self.value
-
- @classmethod
- def get_status_by_value(cls, value):
- for status in cls.__members__.values():
- if status.value == value:
- return status
- return None
-
- class ConfigBoard:
- BOARD_CONFIG = {
- "pulse_time" : 1.0,
- "pulse_power": 0.012200,
- "pulse_count": 1,
- "port" : "COM1"
- }
- def __init__(self) -> None:
- self.board_config = ConfigBoard.BOARD_CONFIG
- self.board_commands = Commands
-
- def get_config(self) -> dict:
- return self.board_config
-
- def set_config(self, config: dict) -> None:
- self.board_config = config
-
- def __str__(self) -> str:
- return f"Board config: {self.board_config}"
-