I'm not certain, but I think that single step behavior may have been around a while. I am currently on 4336 and I think it's there. I quit using single step because of it, didn't realize it got a step behind, I thought it STOPPED. I figured it was because I use a macro, M43, for G43 tool length offset, and it couldn't step thru the macro, but maybe that isn't it. Brian HAS mentioned that single step is a bear to get right inside Mach4!!
Who knows, it's not acceptable though. This is a fundamental function that needs to work!
Here's a trivial program that shows this behaviour and worse. Can someone at Mach do something about this please.
I thought I saw this jump when it executed the first line, so I took a note of the DROs
This is what they read prior to executing the first block...
X19.5989 Y16.6904
And this is what they read afterwards!
X19.4465 Y16.6683
This should have gone to X4.5 Y14.500 in the G01 block.
If you continue single stepping, it then stays one block out of sync until it executes the M5M30 when the displayed current line can't make up its mind what block it's on. Hardly surprising really since it's actually beyond the end of the program.
G01 X4.5 Y14.500 F1000
G01 X-11.5 Y-14.500
M5M30
Clearly something is very wrong here.
Note, I'm using backlash compensation, so maybe that has some bearing on it? Either way, it's not right and it doesn't give me any confidence it's going to go where it's told to.
Doesn't anyone test this before being released?