Corrected a bug in add_channel_pulse which prevented a duty cycle of 100% by not allowing setting the very last slot of the subcycle buffer. Check for valid parameter need to be against max_width +1 because max_width is calculated by subtracting 1 and the for-loop runs from 1 to width - 1.