From 34bee45f61fd87d7f783b1f6a625bcc3d8b872d5 Mon Sep 17 00:00:00 2001 From: Peter Feerick Date: Fri, 27 Oct 2023 16:23:34 +1000 Subject: [PATCH] fix(color): Value widget not refreshing when telem lost (#4223) --- radio/src/gui/colorlcd/widgets/value.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/widgets/value.cpp b/radio/src/gui/colorlcd/widgets/value.cpp index e85633c87..5694cf42f 100644 --- a/radio/src/gui/colorlcd/widgets/value.cpp +++ b/radio/src/gui/colorlcd/widgets/value.cpp @@ -192,11 +192,21 @@ class ValueWidget: public Widget { Widget::checkEvents(); - auto newValue = getValue(persistentData->options[0].value.unsignedValue); + mixsrc_t field = persistentData->options[0].value.unsignedValue; + + // if value changed + auto newValue = getValue(field); if (lastValue != newValue) { lastValue = newValue; invalidate(); } + + // if telemetry value, and telemetry offline or old data + if (field >= MIXSRC_FIRST_TELEM) { + TelemetryItem& telemetryItem = + telemetryItems[(field - MIXSRC_FIRST_TELEM) / 3]; + if (!telemetryItem.isAvailable() || telemetryItem.isOld()) invalidate(); + } } static const ZoneOption options[];