Hello Christopher,
In the README.md file, there is a statement "Your value range is from 0,5ms to 1.5ms. This results in timer1 overflow values from 500 to 2500 - which is your range you can use.".
If the first sentence is supposed to provide instructions on how to use the setChannel() function, I suggest that the values PPMEncoder::MIN and PPMEncoder::MAX should be used instead of 0.5ms to 1.5ms, because the library correctly adjusts the value in
OCR1A = (channels[currentChannel] - PPM_PULSE_LENGTH_uS) * 2;
So, the correct value "to be used" in setChannel should be 1ms to 2ms, assuming a 0.5 ms channel demarcation pulse.
By the way, is there any particular reason that you define PPMEncoder::MAX as 3000? According to what I have read, it should be 2000. Are there any controllers or receivers who go upt to 3000?
Thank you