Simple serial monitor implementation

This commit is contained in:
2026-05-12 20:02:42 +02:00
parent d61ad11428
commit 5c840538fb
13 changed files with 337 additions and 88 deletions

View File

@@ -8,7 +8,17 @@ import time
from datetime import datetime, timezone
from dataflux.state import AppState
from dataflux.tags import GRAPH_SERIES_SPEED, GRAPH_SERIES_TENG, GRAPH_SERIES_VBAT, GRAPH_X_AXIS_SPEED, LIVE_DATA_TENG_VALUE, LIVE_DATA_UTC_TIME_VALUE, LIVE_DATA_VBAT_VALUE, LIVE_DATA_VEHICLE_TIME_VALUE, LIVE_DATA_SPEED_VALUE
from dataflux.tags import (
GRAPH_SERIES_SPEED,
GRAPH_SERIES_TENG,
GRAPH_SERIES_VBAT,
GRAPH_X_AXIS_SPEED,
LIVE_DATA_TENG_VALUE,
LIVE_DATA_UTC_TIME_VALUE,
LIVE_DATA_VBAT_VALUE,
LIVE_DATA_VEHICLE_TIME_VALUE,
LIVE_DATA_SPEED_VALUE,
)
def ui_worker(state: AppState):
@@ -18,15 +28,15 @@ def ui_worker(state: AppState):
last_vbat: str = ""
last_teng: str = ""
no_data_written = False
while state.running:
while state.running:
now = datetime.now(timezone.utc)
formatted = now.strftime("%H:%M:%S")
if formatted != last_datetime:
dpg.set_value(LIVE_DATA_UTC_TIME_VALUE, formatted)
last_datetime = formatted
if state.serial_thread_running and state.telemetry_valid:
if state.lora_thread_running and state.telemetry_valid:
x_common: list[float] | None = None
speed_y: list[float] | None = None
vbat_y: list[float] | None = None
@@ -59,7 +69,6 @@ def ui_worker(state: AppState):
dpg.set_value(LIVE_DATA_SPEED_VALUE, formatted)
last_veh_speed = formatted
# VBAT
formatted = f"{vbat:05.2f}"
if formatted != last_vbat:
@@ -87,7 +96,3 @@ def ui_worker(state: AppState):
no_data_written = True
time.sleep(0.05)