So, I need to create a PPM pulse train.
Basically, a PPM pulse is a series of quick highs and lows, followed by a fairly long high tail. The PPM train is designed in such a way that the long tail, plus the initial highs and lows is 22ms. Thus, a PPM frame has a period of exactly 22ms. This period needs to be very specific. If it’s not, the decode process can fail.
A good diagram of this is attached. Note that the short low periods are about 300uS each. the small high perods can be as long as 1700uS.
Now, it’s obvious that output compare can be used to generate these signals. A function could be called to load the highs and lows as an array, leaving the pin high when it was done. This effectively creates the first part of the signal and leaves the pin to be high during the second part. The big problem here is getting the new PPM frame to start exactly on queue.
I’d like to do this exclusively in the NETMF managed layer. Anybody have any good ideas?