From d675ab157893770116dc158efe58573f3dd04f4a Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Thu, 3 Jul 2014 20:50:31 +0200 Subject: [PATCH] Fixes a bug for case: telemetry values used in logical switches and they have a duration and/or delay set. --- radio/src/switches.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/radio/src/switches.cpp b/radio/src/switches.cpp index 64323b026..7eb61fdb6 100644 --- a/radio/src/switches.cpp +++ b/radio/src/switches.cpp @@ -241,8 +241,10 @@ bool getLogicalSwitch(uint8_t idx) #if defined(FRSKY) // Telemetry if (v1 >= MIXSRC_FIRST_TELEM) { - if ((!TELEMETRY_STREAMING() && v1 >= MIXSRC_FIRST_TELEM+TELEM_FIRST_STREAMED_VALUE-1) || IS_FAI_FORBIDDEN(v1-1)) - return false; + if ((!TELEMETRY_STREAMING() && v1 >= MIXSRC_FIRST_TELEM+TELEM_FIRST_STREAMED_VALUE-1) || IS_FAI_FORBIDDEN(v1-1)) { + x = 0; //replace actual value with zero and continue processing (needed for duraton and delay) + //we could also return actual stored values (except when FAI FORBIDDEN, then we would return 0) + } y = convertLswTelemValue(ls);