From c4c488fb7c1c572ddea01acc7aa0a7110ba16183 Mon Sep 17 00:00:00 2001 From: Peter Feerick Date: Thu, 19 Oct 2023 09:32:45 +1000 Subject: [PATCH] fix: Value widget not refreshing when telem lost --- 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 e85633c8779..5694cf42ff4 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[];