diff --git a/src/modules/sensors/rc_update.cpp b/src/modules/sensors/rc_update.cpp index bb8824a8ebbb..c09f28f4ed0a 100644 --- a/src/modules/sensors/rc_update.cpp +++ b/src/modules/sensors/rc_update.cpp @@ -228,6 +228,21 @@ RCUpdate::rc_poll(const ParameterHandles ¶meter_handles) /* 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;