You are wrong, it is the opposite.
It has been collectively decided for the first mach2 threading
implementation that carriage moves need to be slave of the spindle. This is
for compatibility with hobbist retrofited lathes, because a servo system is
too expensive for them.
So you don't need a spindle speed control, just an encoder on the spindle to
instruct mach2 how to coordinate the carriage moves. There is some options
here, only one index, or index + separate pulses (max 255 PPR) , or combined
index + pulses with a home made disk (the index need to be 50 % larger than
other slots). 8 - 32 PPR seem to be a good value for most low or medium
speed applications. For high speed (> 500 - 1000 RPM ) only 1 index seem to
be enough thanks to spindle inertia.
But it will be certainly better if you use a VFD with open loop or closed
loop speed correction to stabilize spindle rotation. This will make things
easier for the mach2 synchronizing engine.
For special low speed applications, where you need combined and synchronized
spindle - carriage moves (for non circular parts for example, or spindle
indexing + brake), it's possible to use an angular axis (A, B or C) to
control a servo spindle with step - direction signals. But a true servo
spindle for threading is not actually implemented.
When it will be implemented, i don't think a normal VFD will be enough. You
will need at least a closed loop VFD with vector control option (not really
cheap....).
Nevertheless the actual implementation seem to work very nicely according to
the last reports.
Olivier.