1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-15 20:35:33 +03:00

removed rc averaging for serialrx sources - suggested by cesco

This commit is contained in:
dongie 2014-02-18 12:12:08 +09:00
parent 4e44cf62a2
commit 9d421b4a67
2 changed files with 3160 additions and 3151 deletions

File diff suppressed because it is too large Load diff

View file

@ -233,22 +233,29 @@ uint16_t pwmReadRawRC(uint8_t chan)
void computeRC(void) void computeRC(void)
{ {
static int16_t rcData4Values[8][4], rcDataMean[8]; uint8_t chan;
static uint8_t rc4ValuesIndex = 0;
uint8_t chan, a;
rc4ValuesIndex++; if (feature(FEATURE_SERIALRX)) {
for (chan = 0; chan < 8; chan++) { for (chan = 0; chan < 8; chan++)
rcData4Values[chan][rc4ValuesIndex % 4] = rcReadRawFunc(chan); rcData[chan] = rcReadRawFunc(chan);
rcDataMean[chan] = 0; } else {
for (a = 0; a < 4; a++) static int16_t rcData4Values[8][4], rcDataMean[8];
rcDataMean[chan] += rcData4Values[chan][a]; static uint8_t rc4ValuesIndex = 0;
uint8_t a;
rcDataMean[chan] = (rcDataMean[chan] + 2) / 4; rc4ValuesIndex++;
if (rcDataMean[chan] < rcData[chan] - 3) for (chan = 0; chan < 8; chan++) {
rcData[chan] = rcDataMean[chan] + 2; rcData4Values[chan][rc4ValuesIndex % 4] = rcReadRawFunc(chan);
if (rcDataMean[chan] > rcData[chan] + 3) rcDataMean[chan] = 0;
rcData[chan] = rcDataMean[chan] - 2; for (a = 0; a < 4; a++)
rcDataMean[chan] += rcData4Values[chan][a];
rcDataMean[chan] = (rcDataMean[chan] + 2) / 4;
if (rcDataMean[chan] < rcData[chan] - 3)
rcData[chan] = rcDataMean[chan] + 2;
if (rcDataMean[chan] > rcData[chan] + 3)
rcData[chan] = rcDataMean[chan] - 2;
}
} }
} }