Tentando explicar um pouco , como eu entendo !
Você vai ter que mudar apenas seu arquivo .hal
loadrt stepgen step_type=0,0,0 ctrl_type=p,p,v
Nesta linha acima você descreve o tipo de gerador de pulsos do emc , neste caso são 3 , 1 para x um para z e 1 para spindle , sendo que p p e v de velocity e não de posicionamento ok.!
loadrt scale count=3
Nesta linha você descreve quantos "parâmetros " de escala você precisa no caso estou usando 3
addf scale.0 servo-thread
Não sei descrever este mas sei que precisa pra funcionar a escala
setp scale.0.in 1
setp scale.0.gain 3.70
setp scale.0.offset 2.0
Define os parâmetros da escala pro spindle nestes valores que muda se o spindle não estiver respondendo com rpm correto
setp stepgen.2.position-scale 1
setp stepgen.2.maxvel 10000
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 1
setp stepgen.2.dirsetup 1
setp stepgen.2.maxaccel 8000
Parâmetros de aceleração espaço de pulso e etc.
net spindle-enable <= motion.spindle-on => stepgen.2.enable
linka a habilitação do spindle com o gerador de pulsos
net spindle-freq <= scale.0.out => stepgen.2.velocity-cmd
linka a escala com o gerador de pulsos
net spindle-out <= stepgen.2.step => parport.0.pin-07-out
Linka pino do step com gerador de pulsos ( este cara tem que estar com nível alto)
net spindle-enable => parport.0.pin-17-out
Linka o enable do spindle
net spindle-position encoder.0.position-interpolated => motion.spindle-revs
Este cara é importante pra fazer roscas com um encoder de baixa resolução como os nossos
Creio que sejam somente estas linhas pra modificar , desculpe mas não sei explicar direito, escrevi mais ou menos como eu entendo !