PPM polarity reversing was not working when changing the Output PPM pin level before timer 1 / output compare init. The compare generator initialization was reverting the pin to low level. Instead of that a force match compare is used after timer / compare generator init to set the PPM output to high level.
Reworked the PPM decoder (i did forget the sync symbol pre-pulse)
Splitted pre-pulse and pulse width variable for better reliability and easier processing
Base algorithm added for channel count auto detection in the decoder himself.
Replaced the #define for PPM_CHx_CHANNELS by PPM_CHx_MAX_CHANNELS.
Channel count #define was not needed anymore thanks to the channel count auto detection.
Channel detection post processing to do.
Work in progress on a new Redundancy dual PPM sum mode for PPM encoder.
- New library PPM_Encoder_v3.h and new manual manual_v3.txt
- New format conversion capability between input and output PPM frame timings and channel count.
This will be experimental until heavily tested. The main goal is to allow the use of low cost satellite receivers in a high safety setup, and allow a new teacher / student RC mode without link between the two pilot transmitters.
- Added APM2 (ATmega32U2) support for using TX and RX status leds to indicate PWM and PPM traffic
<RX><OFF> no pwm input detected
<RX><TOGGLE> speed of toggle indicate how many channels are active
<RX><ON> input lost (failsafe)
<TX><OFF> ppm output not started
<TX><FAST TOGGLE> normal PWM->PPM output or PPM passtrough failsafe
<TX><SLOW TOGGLE> PPM passtrough