I verified this with both short and extra long motion moves. The correct number of step pulses was generated for each commanded motion distance. I used a logic analyzer to capture and count the step pulses. The step and directions signals are buffered with a 74HC541 line driver. The controller has four step and direction axis output ports – X, Y, Z and A. Slave axis configuration has been tested, the same step pulse was generated on both the X and A axis outputs simultaneously. Step frequencies below 50Khz are better and motor motion is smoother. These pauses can cause rough motor motion. However at higher step frequencies, there are pauses in the step pulse train. Using a microcontroller to generate step pulses is usually more reliable than a PC parallel port.
The controller uses a STM32F103 microcontroller to generate the step pulses up to 100Khz.