unleashed-firmware/scripts/flipper/utils/programmer.py

36 lines
754 B
Python
Raw Normal View History

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
@abstractmethod
def option_bytes_recover(self) -> bool:
pass
@abstractmethod
def otp_write(self, address: int, file_path: str) -> bool:
pass