TauLabs/TauLabs — pull request #819 by solidgoldbomb (2013-08-02 17:32:34+00:00)
Title: ppm: only hold off supervisor when we have sane PPM frames

Prior to this, the supervisor was held off any time we saw
valid frame pulses, even if the frame wasn't otherwise sane.

This causes a particular issue on Graupner Rx's when they
trigger failsafe mode (ie. when the Tx signal goes away).
These Rx's output a 50Hz square wave which will look to the
PPM code like a continual series of frame pulses with zero
valid channels. This was previously enough to hold off the
supervisor and resulted in the PPM code holding the last good
value on all of its inputs. This entirely invalidated the
failsafe behaviour on the Graupner Rx.

The 50Hz square wave should now be properly detected as an
invalid frame (zero channel pulses) and should allow the
supervisor to declare all channels as being in the TIMEOUT
state so the FC can activate its own failsafe mode.

Fixes #810.

Tested on sparky with FrSky D4R-II to ensure that regular PPM still works. Can't test the 50Hz square wave behaviour easily.