PencilGeek
Member
PulsePosition Library Questions
Question-1:
I've been struggling with the library for days. I need a single PPM input, without any PPM output. I can compile and run the loopback example without any problems. It runs, and I get the PPM input messages. But as soon as I disable the PulsePositionOutput and remove it, the input no longer works (no messages from PPM Input in loopback sample). I've added debug statements to the ISR and confirmed that no input frames are detected when the PPM output object isn't used.
So here's my question: what's the trick? Is PPM input supposed to be autonomous without any need for PPM output? (That's how I need it.)
Question-2:
The PPM sample page lists the criteria to support multiple input and output streams. Is that intended with a single PulsePositionInput/Output object with multiple calls to .Begin? Or is that with multiple object instances, each with its own call to .Begin?
Question-3:
Last but not least. Why care about the channelmask in the ISR? Shouldn't just reading the hardware be enough to detect if an interrupt has occurred? The way I'm thinking, the interrupt can't occur unless it was already programmed and enabled by .Begin ...so why the double check with channelmask?
Question-1:
I've been struggling with the library for days. I need a single PPM input, without any PPM output. I can compile and run the loopback example without any problems. It runs, and I get the PPM input messages. But as soon as I disable the PulsePositionOutput and remove it, the input no longer works (no messages from PPM Input in loopback sample). I've added debug statements to the ISR and confirmed that no input frames are detected when the PPM output object isn't used.
So here's my question: what's the trick? Is PPM input supposed to be autonomous without any need for PPM output? (That's how I need it.)
Question-2:
The PPM sample page lists the criteria to support multiple input and output streams. Is that intended with a single PulsePositionInput/Output object with multiple calls to .Begin? Or is that with multiple object instances, each with its own call to .Begin?
Question-3:
Last but not least. Why care about the channelmask in the ISR? Shouldn't just reading the hardware be enough to detect if an interrupt has occurred? The way I'm thinking, the interrupt can't occur unless it was already programmed and enabled by .Begin ...so why the double check with channelmask?
Last edited: