|
|
|
@ -77,8 +77,11 @@ class Response(abc.ABC): |
|
|
|
|
|
|
|
|
|
|
|
class Command(abc.ABC): |
|
|
|
def __init__(self) -> None: |
|
|
|
self._logger = logging.getLogger(self.__class__.__name__) |
|
|
|
def __init__( |
|
|
|
self, |
|
|
|
root_logger: logging.Logger, |
|
|
|
) -> None: |
|
|
|
self._logger = root_logger.getChild(self.__class__.__name__) |
|
|
|
|
|
|
|
@property |
|
|
|
@abc.abstractmethod |
|
|
|
@ -107,8 +110,11 @@ class Command(abc.ABC): |
|
|
|
|
|
|
|
|
|
|
|
class Request(Command): |
|
|
|
def __init__(self) -> None: |
|
|
|
super().__init__() |
|
|
|
def __init__( |
|
|
|
self, |
|
|
|
root_logger: logging.Logger, |
|
|
|
) -> None: |
|
|
|
super().__init__(root_logger=root_logger) |
|
|
|
|
|
|
|
self.response_identifier = randint(0, pow(2, 16) - 1) |
|
|
|
|
|
|
|
@ -144,9 +150,10 @@ class LogCommand(Command): |
|
|
|
|
|
|
|
def __init__( |
|
|
|
self, |
|
|
|
root_logger: logging.Logger, |
|
|
|
data: bytes, |
|
|
|
) -> None: |
|
|
|
super().__init__() |
|
|
|
super().__init__(root_logger=root_logger) |
|
|
|
|
|
|
|
self._logger.setLevel(logging.INFO) |
|
|
|
|
|
|
|
@ -160,7 +167,7 @@ class LogCommand(Command): |
|
|
|
self._logger.debug("logger_name " + str(logger_name)) |
|
|
|
self._logger.debug("Message: " + str(message)) |
|
|
|
|
|
|
|
self.received_logger = logging.getLogger(logger_name.decode()) |
|
|
|
self.received_logger = root_logger.getChild(logger_name.decode()) |
|
|
|
self.received_logger.setLevel(logging.DEBUG) |
|
|
|
self.level = level |
|
|
|
self.message = message.decode() |
|
|
|
@ -215,15 +222,12 @@ class LEDResponse(Response): |
|
|
|
data: bytes, |
|
|
|
): |
|
|
|
self.was_successful = bool(data[0]) |
|
|
|
if self.was_successful: |
|
|
|
self._logger.debug("LED command was successful") |
|
|
|
else: |
|
|
|
self._logger.debug("LED command was not successful") |
|
|
|
|
|
|
|
|
|
|
|
class LEDRequest(Request): |
|
|
|
def __init__( |
|
|
|
self, |
|
|
|
root_logger: logging.Logger, |
|
|
|
id: Union[int, str], |
|
|
|
command: Union[int, str], |
|
|
|
) -> None: |
|
|
|
@ -240,7 +244,7 @@ class LEDRequest(Request): |
|
|
|
1: on |
|
|
|
2: toggle |
|
|
|
""" |
|
|
|
super().__init__() |
|
|
|
super().__init__(root_logger=root_logger) |
|
|
|
try: |
|
|
|
self.led_id = int(id) |
|
|
|
except ValueError: |
|
|
|
@ -270,6 +274,10 @@ class LEDRequest(Request): |
|
|
|
def process_response(self, response: Response): |
|
|
|
if not isinstance(response, LEDResponse): |
|
|
|
raise TypeError(f"{response} is not a {LEDResponse}") |
|
|
|
if response.was_successful: |
|
|
|
self._logger.debug("LED command was successful") |
|
|
|
else: |
|
|
|
self._logger.debug("LED command was not successful") |
|
|
|
|
|
|
|
def execute(self, serial: Serial): |
|
|
|
payload = pack( |
|
|
|
@ -291,18 +299,15 @@ class GPResponse(Response): |
|
|
|
data: bytes, |
|
|
|
): |
|
|
|
self.was_successful = bool(data[0]) |
|
|
|
if self.was_successful: |
|
|
|
self._logger.debug("GP command was successful") |
|
|
|
else: |
|
|
|
self._logger.debug("GP command was not successful") |
|
|
|
|
|
|
|
|
|
|
|
class GPRequest(Request): |
|
|
|
def __init__( |
|
|
|
self, |
|
|
|
root_logger: logging.Logger, |
|
|
|
command_id: Union[int, str], |
|
|
|
) -> None: |
|
|
|
super().__init__() |
|
|
|
super().__init__(root_logger=root_logger) |
|
|
|
self.command_id = int(command_id) |
|
|
|
|
|
|
|
@property |
|
|
|
@ -316,6 +321,10 @@ class GPRequest(Request): |
|
|
|
def process_response(self, response: Response): |
|
|
|
if not isinstance(response, GPResponse): |
|
|
|
raise TypeError(f"{response} is not a {GPResponse}") |
|
|
|
if response.was_successful: |
|
|
|
self._logger.debug("GP command was successful") |
|
|
|
else: |
|
|
|
self._logger.debug("GP command was not successful") |
|
|
|
|
|
|
|
def execute(self, serial: Serial): |
|
|
|
payload = pack( |
|
|
|
|