Reading 3 RC servo signal and using two software serial port

I have an arduino nano(I could swap it out of course for something more powerful) which generate a ppm signal which I have plugged in to my trainer port on my frsky transmitter.

Until now i have been hardcoding the boundary limits of ppm signal and gains for my control loop, however I would rather be able to adjust these on the fly from my transmitter by adjusting 2 potensiometer and 3 way way switch.

So basically i would run 3 servignal from my rx to the arduino and map the pulsewidth to gain values.

The problem i am having is that arduino nano only have 2 interupts, and I found this code for reading multiple ppm streams: https://create.arduino.cc/projecthub/kelvineyeone/read-pwm-decode-rc-receiver-input-and-apply-fail-safe-6b90eb

However it interfare with the frsky library, which uses software serial for generating telemetry data and reading GPS data. Since I only using the ms value to set the gain I can live with delays/ update frequency of up to a minute. Is there a simple way to achive this with 3 interupts?

That's simply not true.
There are two simple external interrupts, but pin-change interrupts also, plus a load of timer, I2C, SPI and comparator interrputs

Sorry I meant two simple interupt :slight_smile:

I have this Arduino Playground - ReadReceiver code, however it seems like way overhead, is there no proper library?

And if I am only interested in getting the ppm signal in order of magnitude +-200ms can it not be solved simpler then?

Also the library was depriaceted...

are they really pulse position (relative to what? last pulse) or ar they pulse width?

So I skipped the whole problem :slight_smile: I swapped to a MEGA board and got a sbus converter board and reading the sbus signal instead. Works like a charm:)

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.