Hola Kreutz, se que ya habeis comentado esto mismo en otro post pero no consigo entenderlo, tambien he leido todo el código y esto es lo que no entiendo:
Estoy realizando una tarjeta basada en el A3986 (que tu conoces también....) y si pongo 1/16 micropaso y comienzo a enviar pulsos de forma individual necesito 16 pulsos para dar un paso completo ¿no es así?
¿Que pasa en vuestro diseño si pongo por ejemplo 1/8 paso y envio 8 pulsos a la entrada? Entiendo que debe dar un paso completo.
¿Que pasaria si envio 5 y giro al contrario?
La única forma que entiendo que puede funcionar es que cuando envias un pulso a la entrada el motor da siempre un paso completo, lo que cambia es la forma en como lo da, es decir, el microcontrolador genera los micropasos necesarios segun como se haya configurado pero siempre que envio un pulso a la entrada doy un paso completo, ¿es así?. La verdad es que es dificil explicar esto con texto....

Tengo un Gecko G203v y he probado con el Kcam (por que tiene esta función) a ir enviando pulsos a mano (con cada pulsación en el mouse envia un pulso) y para girar una revolución en un motor de 200 pasos he necesitado 500 pulsaciones. Esto tampoco me coincide con lo que marca el fabricante de 1/5 micropaso en baja velocidad,(200 pasos del motor X 5 micropasos=1000) ¿que estoy haciendo mal? Lo mismo que en tu caso, ¿como realizan el cambio de modo a alta velocidad sin perder pasos?
Seguro que estoy perdiendo algún concepto básico......
Gracias de antemano y un saludo