from serial import Serial from typing import Optional from . import Logger class EepromProgrammer: # Dependencies logger: Logger serial: Optional[Serial] # Settings _device_file: str _baudrate: int def __init__(self, logger: Logger, device: str, baudrate): self.logger = logger self.serial = None self._device_file = device self._baudrate = baudrate # TODO def open(self): """ Open and setup serial port. """ assert self.serial is None, 'Serial port is already opened!' self.logger.debug("Setting up serial device '{}' with baudrate {}".format(self._device_file, self._baudrate)) self.serial = Serial(self._device_file, self._baudrate) def close(self): if self.serial is None: self.logger.debug("Serial port is already closed") return self.logger.debug("Closing serial port") self.serial.close() # TODO def test(self): # Open serial port if self.serial is None: self.open() # Write a test command self.logger.info("Sending 'INIT' ...") self.serial.write(b"INIT\n") # Just read some stuff self.logger.info("Read line: ", self.serial.readline(80))