Telemetry receive over serial, parsing and status flash
This commit is contained in:
@@ -2,11 +2,11 @@
|
||||
# Copyright (C) 2026 Association Exergie <association.exergie@gmail.com>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
STATUS_RED_DARK = (140, 35, 35, 255)
|
||||
STATUS_RED_BRIGHT = (255, 70, 70, 255)
|
||||
STATUS_RED_DARK = (140, 35, 35, 255)
|
||||
STATUS_RED_BRIGHT = (205, 85, 85, 255)
|
||||
|
||||
STATUS_ORANGE_DARK = (160, 90, 20, 255)
|
||||
STATUS_ORANGE_BRIGHT= (255, 165, 40, 255)
|
||||
STATUS_ORANGE_DARK = (160, 90, 20, 255)
|
||||
STATUS_ORANGE_BRIGHT = (210, 140, 60, 255)
|
||||
|
||||
STATUS_GREEN_DARK = (40, 130, 55, 255)
|
||||
STATUS_GREEN_BRIGHT = (70, 255, 110, 255)
|
||||
STATUS_GREEN_DARK = (40, 130, 55, 255)
|
||||
STATUS_GREEN_BRIGHT = (95, 185, 115, 255)
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
|
||||
import dearpygui.dearpygui as dpg
|
||||
from dataflux.state import AppState
|
||||
from dataflux.tags import STATUS_SERIAL_STATUS_BOX, STATUS_SERIAL_STATUS_TEXT, THEME_STATUS_CONNECTED, THEME_STATUS_DISCONNECTED
|
||||
from dataflux.tags import STATUS_SERIAL_STATUS_BOX, STATUS_SERIAL_STATUS_TEXT, THEME_STATUS_CONNECTED, THEME_STATUS_CONNECTED_BRIGHT, THEME_STATUS_DISCONNECTED
|
||||
from time import sleep
|
||||
|
||||
def update_status_connection_status(state: AppState):
|
||||
if state.serial_port is None:
|
||||
@@ -13,3 +14,8 @@ def update_status_connection_status(state: AppState):
|
||||
else:
|
||||
dpg.bind_item_theme(STATUS_SERIAL_STATUS_BOX, THEME_STATUS_CONNECTED)
|
||||
dpg.set_value(STATUS_SERIAL_STATUS_TEXT, "Serial: Connected")
|
||||
|
||||
def flash_status_connection_status(duration: float) -> None:
|
||||
dpg.bind_item_theme(STATUS_SERIAL_STATUS_BOX, THEME_STATUS_CONNECTED_BRIGHT)
|
||||
sleep(duration)
|
||||
dpg.bind_item_theme(STATUS_SERIAL_STATUS_BOX, THEME_STATUS_CONNECTED)
|
||||
|
||||
@@ -7,8 +7,8 @@ import dataflux.callbacks.menu
|
||||
import dataflux.callbacks.serial
|
||||
|
||||
from dataflux.state import AppState
|
||||
from dataflux.tags import MENU_FILE_CONNECT, MENU_FILE_DISCONNECT, STATUS_SERIAL_STATUS_BOX, STATUS_SERIAL_STATUS_TEXT, THEME_STATUS_CONNECTED, THEME_STATUS_DISCONNECTED, WINDOW_CONNECTION_MENU, WINDOW_CONNECTION_MENU_COMBO
|
||||
from dataflux.ui.colors import STATUS_GREEN_DARK, STATUS_RED_DARK
|
||||
from dataflux.tags import MENU_FILE_CONNECT, MENU_FILE_DISCONNECT, STATUS_SERIAL_STATUS_BOX, STATUS_SERIAL_STATUS_TEXT, THEME_STATUS_CONNECTED, THEME_STATUS_CONNECTED_BRIGHT, THEME_STATUS_DISCONNECTED, WINDOW_CONNECTION_MENU, WINDOW_CONNECTION_MENU_COMBO
|
||||
from dataflux.ui.colors import STATUS_GREEN_BRIGHT, STATUS_GREEN_DARK, STATUS_RED_DARK
|
||||
|
||||
def build_windows(state: AppState) -> None:
|
||||
|
||||
@@ -44,6 +44,10 @@ def build_windows(state: AppState) -> None:
|
||||
with dpg.theme_component(dpg.mvChildWindow):
|
||||
dpg.add_theme_color(dpg.mvThemeCol_ChildBg, STATUS_GREEN_DARK)
|
||||
|
||||
with dpg.theme(tag=THEME_STATUS_CONNECTED_BRIGHT):
|
||||
with dpg.theme_component(dpg.mvChildWindow):
|
||||
dpg.add_theme_color(dpg.mvThemeCol_ChildBg, STATUS_GREEN_BRIGHT)
|
||||
|
||||
with dpg.theme(tag=THEME_STATUS_DISCONNECTED):
|
||||
with dpg.theme_component(dpg.mvChildWindow):
|
||||
dpg.add_theme_color(dpg.mvThemeCol_ChildBg, STATUS_RED_DARK)
|
||||
|
||||
Reference in New Issue
Block a user