Add telemetry database insertion

This commit is contained in:
2026-01-04 12:11:30 +01:00
parent 9be0c7faf6
commit 4963db4205
10 changed files with 173 additions and 111 deletions

View File

@@ -7,29 +7,29 @@ from serial import Serial
class SerialReader:
serial : Serial = None
__thread : Thread | None = None
__listeners : list[Callable] = None
_thread : Thread | None = None
_listeners : list[Callable] = None
def __init__(self, port, baudrate):
self.serial = Serial(port, baudrate)
self._run_event = threading.Event()
self.__listeners = []
self._listeners = []
def start(self) -> None:
self._run_event.set()
if self.__thread is None or not self.__thread.is_alive():
self.__thread = Thread(target=self._read, daemon=True)
self.__thread.start()
if self._thread is None or not self._thread.is_alive():
self._thread = Thread(target=self._read, daemon=True)
self._thread.start()
def stop(self) -> None:
if self._run_event.is_set():
self._run_event.clear()
def subscribe(self, listener : Callable[[str], None]) -> None:
self.__listeners.append(listener)
self._listeners.append(listener)
def _notify(self, data : str):
for listener in self.__listeners:
for listener in self._listeners:
listener(data)
def _read(self):