How does Pulse Position Modulation work in relation to Attitude?

I am trying to get a better understanding of how PPM works, specifically in relation to transmitting roll, pitch, yaw, thrust values. Each value or pulse goes to a single channel, so you use 4 channels total? I was looking at some example code in python for sending PPM through gpio: and I see the range of values to send is between 1000 and 2000. How can you represent roll 30 degrees with thrust at 60% using PPM?

@cswkim what is the intention behind using ppm signals for controlling the vehicle? If you use a serial link and use something like mavlink you get better resolution / update rate compared to using PPM signals

I just wanted to send PPM to my taranis RC to emulate trainer data. More for fun, just to see how it works.

@cswkim I did a similar project a while ago, might be helpful for you: