2022-12-27 15:59:36 +03:00
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
from enum import Enum
|
|
|
|
|
|
|
|
|
|
|
|
class Programmer(ABC):
|
|
|
|
def __init__(self):
|
|
|
|
pass
|
|
|
|
|
|
|
|
class RunMode(Enum):
|
|
|
|
Run = "run"
|
|
|
|
Stop = "stop"
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
def reset(self, mode: RunMode = RunMode.Run) -> bool:
|
|
|
|
pass
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
def flash(self, address: int, file_path: str, verify: bool = True) -> bool:
|
|
|
|
pass
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
def option_bytes_validate(self, file_path: str) -> bool:
|
|
|
|
pass
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
def option_bytes_set(self, file_path: str) -> bool:
|
|
|
|
pass
|
|
|
|
|
2023-08-10 12:45:17 +03:00
|
|
|
@abstractmethod
|
|
|
|
def option_bytes_recover(self) -> bool:
|
|
|
|
pass
|
|
|
|
|
2022-12-27 15:59:36 +03:00
|
|
|
@abstractmethod
|
|
|
|
def otp_write(self, address: int, file_path: str) -> bool:
|
|
|
|
pass
|