Working data ingress into live data buffer
This commit is contained in:
@@ -18,6 +18,7 @@ import dynalab.ui.windows
|
||||
from dynalab.ui.windows import build_loading, build_windows
|
||||
|
||||
import dpg_gauges as dpgg
|
||||
from dpg_gauges.exceptions import GaugeNotFoundError
|
||||
|
||||
|
||||
def _setup_logging(level: int = logging.INFO) -> None:
|
||||
@@ -168,10 +169,15 @@ def run() -> None:
|
||||
except Empty:
|
||||
pass
|
||||
else:
|
||||
dpgg.analog_gauge(
|
||||
dpgg.digital_gauge(
|
||||
tag=f"{new_signal.id}",
|
||||
label=f"{new_signal.name}",
|
||||
parent=MENU_WINDOW_DATA_INPUT,
|
||||
unit=new_signal.unit if new_signal.unit is not None else "",
|
||||
value=0,
|
||||
precision=1,
|
||||
min_value=new_signal.min_value,
|
||||
max_value=new_signal.max_value,
|
||||
)
|
||||
|
||||
try:
|
||||
@@ -181,6 +187,22 @@ def run() -> None:
|
||||
else:
|
||||
dpgg.delete_gauge(f"{removed_signal.id}")
|
||||
|
||||
ctr: int = 0
|
||||
while not state.new_data_id.empty() or ctr < 5:
|
||||
try:
|
||||
new_value_id = state.new_data_id.get_nowait()
|
||||
except Empty:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
dpgg.set_value(
|
||||
tag=f"{new_value_id}", value=state.live_data[new_value_id]
|
||||
)
|
||||
except GaugeNotFoundError:
|
||||
pass
|
||||
|
||||
ctr += 1
|
||||
|
||||
# Render frame
|
||||
dpg.render_dearpygui_frame()
|
||||
finally:
|
||||
|
||||
Reference in New Issue
Block a user