Controlling position of linear actuator

I just hooked up a logic analyzer to one of the forward and reverse motor outputs. It is exactly as I expected. No PWM going on. Signals are never both on (11) as in braking, either. They are simply on for a varying period of time depending on the amount of travel. How they do this smoothly completely escapes me!!!!

Basically, exactly like a proportional servo: a longer pulse width means more travel. Except that instead of controlling direction that way, it puts the pulse width on one of the lines to control direction. So, something like using two servo channels for each motor would sort of work, or hacking a servo routine to change pins for direction would work.

Also, I learned that the "homing function" takes 503ms (from one extreme to the other.) So, pulse widths of a servo would obviously need to be modified.