From 7478358e86858825522c7844c41e60fb2b13f91a Mon Sep 17 00:00:00 2001 From: 3djc Date: Mon, 23 Sep 2019 10:12:58 +0200 Subject: [PATCH] Fix multi failsafe been inverted between hold and no pulse (#6815) --- radio/src/pulses/multi.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/radio/src/pulses/multi.cpp b/radio/src/pulses/multi.cpp index babfc4bb1..a84bb04a1 100644 --- a/radio/src/pulses/multi.cpp +++ b/radio/src/pulses/multi.cpp @@ -59,18 +59,13 @@ static void sendFailsafeChannels(uint8_t port) for (int i = 0; i < MULTI_CHANS; i++) { int16_t failsafeValue = g_model.failsafeChannels[i]; int pulseValue; - if (g_model.moduleData[port].failsafeMode == FAILSAFE_HOLD) - failsafeValue = FAILSAFE_CHANNEL_HOLD; - if (g_model.moduleData[port].failsafeMode == FAILSAFE_NOPULSES) - failsafeValue = FAILSAFE_CHANNEL_NOPULSE; - - if (failsafeValue == FAILSAFE_CHANNEL_HOLD) { - pulseValue = 0; - } - else if (failsafeValue == FAILSAFE_CHANNEL_NOPULSE) { + if (g_model.moduleData[port].failsafeMode == FAILSAFE_HOLD) { pulseValue = 2047; } + else if (g_model.moduleData[port].failsafeMode == FAILSAFE_NOPULSES) { + pulseValue = 0; + } else { failsafeValue += 2 * PPM_CH_CENTER(g_model.moduleData[port].channelsStart + i) - 2 * PPM_CENTER; pulseValue = limit(1, (failsafeValue * 800 / 1000) + 1024, 2047);