Well, I have achieved my intermediate goal!
I started simple - using a pin that gave an interrupt on either the rising or falling edge, I simply relayed the rising and fallling edges to another output gpio pin by setting it high/low. I then used a timer to time the delay between the rising and falling interrupts, and added some logic to see if the delay was greater than 3ms (thanks mike) to notify the start of the PPM frame, and count the current input channel.
Then, I started to modify the output signal, by only relaying the first 6 channel pulses to the output, and using another timer to create my own channels 7 & 8. I made the delay for each pulse based on a fixed number that I could increment/decrement with keyboard strokes to the terminal. The servos on the receiver side would all work - the first 6 channels controllable with the transmitter, and the next two controllable by the micro.
Now, I want to make channel 7 (the first of my new channels) delay based on the output of my compass sensor, which is connect to the micro via UART1 (UART0 is the terminal connection). See thread for details of compass module, which now communicates with the micro properly:
https://www.electro-tech-online.com/threads/uart-receive-problems.95481/
My problem now is that whenever I turn on the compass module, the servos on my receiver side start to twitch slightly, meaning that the PPM signal is either being garbled occasionally or the pulse widths are changing from frame to frame. I think it is the later, because I can see the outgoing PPM signal on the scope (I cant see enough detail to see if the pulse widths are changing though, they just look the same)
Anyone got some ideas? I have set the input PPM pin interrupt to high (and I do the relaying/signal modification inside the interrupt), so this should be a priority and shouldnt be upset by a silly uart happening in the background, but it is.
I have tried the uart in both interrupt and polling mode, and still the same. I was going to try to make the compass module spit out a single reading each time the PPM frame start pulse starts (gives a good 5-10ms of time where nothing is happening), although the update rate of the compass is only 30Hz, so it wouldnt be able to keep up with that.
The highest comm rate for the compass module is 9600BAUD, which I am using.
I dont have any twitching issues with UART0 operational and transmitting to the terminal (but do have issues when it receives my keyboard strokes).
Any known issues like this using uart recieving and real-time signals?
Cheers,
Rob