Hi mikep,
I can't really think of anything that would explain it, the code looks OK.
May I suggest some experiments that might isolate the problem.
With a blank in the machine why don't you try MDIing some arcs to see if the fault occurs. It would establish whether its
faulty code or whether something peculiar is happening with the machine.
It occurs to me that if the arcs are OK in one direction but falter in the other then one axis is struggling to step in the reverse direction.
I note that you've posted before on this subject and have stated that linear moves in either direction are fine which would tend to make you
think that my thought is wrong. I don't know whether your BOB has LEDs on the outputs but mine does. I've noticed that if you call a move,
say the X axis, to the right, the DIR pin, on my machine at least is low, and it stays that way until the end of the move, and in fact will stay
that way indefinitely after the move until Mach changes it to high when called on to move left. That is to say that the DIR pin is persistent.
During arc moves it may not be. What I'm thinking is that the DIR pin is changing but is not established long enuf before the STEP pulse arrives.
I use Vexta drivers and they have superb documentation and there is a specification for how long the DIR input must be established before the
STEP input goes high and steps the motor, its not long, about 0.5us from memory. Maybe one of your drivers is a bit slow.
Try some MDI acrs to gets the fault to recur. Then on the motor tuning page try upping the direction pulse a bit maybe a few us and see
whether it cures the fault.
Craig