diff --git a/src/modules/rc_update/rc_update.cpp b/src/modules/rc_update/rc_update.cpp index a0107700e6..7c3ddc76b9 100644 --- a/src/modules/rc_update/rc_update.cpp +++ b/src/modules/rc_update/rc_update.cpp @@ -351,6 +351,23 @@ RCUpdate::Run() /* signal is lost or no enough channels */ signal_lost = true; + //This problem occurs at RC controllers which are use PPM signal on RFD 868+/900 Modems (Maybe it can be also related another types) + + } else if (rc_input.channel_count == + 16) { // check failsafe by channel values to detect RC loss (This statement is specific for only RF modules that still sending valid PPM signal when RC loss from ground RF) + for (unsigned int i = 0; i < 16; i++) { + if (i < 12 && rc_input.values[i] > 999 && rc_input.values[i] < 1005) { + signal_lost = true; + + } else if (rc_input.values[i] == 0) { + signal_lost = true; + + } else { + signal_lost = false; + break; + } + } + } else { /* signal looks good */ signal_lost = false;