Rewrite eepprog.py using the Click framework

This commit is contained in:
Lexi / Zoe 2021-06-11 22:19:09 +02:00
parent f00e52cc4c
commit cedb5bfe81
Signed by: binaryDiv
GPG key ID: F8D4956E224DA232
6 changed files with 171 additions and 120 deletions

View file

@ -0,0 +1,52 @@
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))