eeprom-programmer/client/helpers/EepromProgrammer.py

53 lines
1.3 KiB
Python

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))