Danidillen,
Sei que a questão não foi dirigida a mim, mas quero chamar a atenção para um detalhe: (só minha opinião)
Um final de curso quando é ativado, fará com que o programa "pare" de enviar sinais de movimentação aos eixos, pois pressupõe-se que a máquina alcançou o final do percurso, e mais do que isso é colisão ou algo semelhante...
Fazer o final de curso desligar o driver não é muito correto, além do que, dependendo de como foi ligado, a máquina pode parar mas o programa não sabe que parou, e continua enviando pulsos para um arquivo perdido...