[/quote]
Yes, it should. But doesn't set it, because normally you never mix them. The program assumes that if it ran last time to dir+ and now you command dir+ again then it doesn't have to do anything with the dir output. In normal use it is true, but if you use the same pins once as a spindle output and once as axis output, both thinks that nothing bothered the pins. So, for example, M3 makes dir low, then G0 C... makes it high, after the G0 you command M3 and the dir pin will remain high, because the spindle controller program thinks that last time it set dir low, so nothing to do with that pin. I'm curious that with my method what will happen.
[/quote]
i just tested and if the spindle has been run ccw ( so i could see diagnostic led on) and then moves are made- with final move leaving the direction led off. ie last movement was cw motor rotation.
then i use m4 button it does in fact re set the direction of spindle correctly.
G1 c-10 F300
G4 P3
G1 c10 F300
g4p3
c-10
m4 S400
G4 P3
G0 c10
G4 P3
c-10
g4p3
c10
g4p3
c110
M5
M30