128,7 → 128,7 |
signal = (uint16_t) ICR1 - oldICR1; |
oldICR1 = ICR1; |
|
// lost frame |
// lost frame? |
if(signal > 8000) |
{ |
Sum_RC_Quality -= Sum_RC_Quality/2; |
155,8 → 155,7 |
signal -= 466; // offset of 1.4912 ms ??? (469 * 3.2µs = 1.5008 ms) |
// check for stable signal |
Noise = abs(signal - PPM_in[index]); |
if (Noise > 150) Sum_RC_Quality /= 2; |
else if((Noise/16) > (200-RC_Quality)) // spike detector |
if((Noise/16) > (200-RC_Quality)) // spike detector |
{ |
Sum_RC_Quality -= 3*RC_Quality; |
Sum_RC_Quality += 3*(200 - Noise); |
177,7 → 176,7 |
} |
else |
{ // invalid PPM time |
Sum_RC_Quality /= 2; |
Sum_RC_Quality /= 8; |
} |
index++; // next channel |
// demux sum signal for channels 5 to 7 to J3, J4, J5 |