Also found this on Warp 9 site which suggests that Mach 4 later builds manage the threading function.

"""Lathe Threading
Both Mach4 and Mach3 support threading operations with G32 and G76 commands. The start of each threading pass is synced with the (required) Spindle Index Pulse.

Something broke G76 in Mach4 build 4385 through at least 4563. G76 and G32 work just fine in Mach build 4360 (available here) and lower, so we recommend using Mach4 4360 with ESS build 259.

UPDATE: Lathe threading with G32 and G76 are working properly with Mach4 4580 and ESS 268 or 269.
(This was not an issue in the ESS plugin, so any ESS plugin version should work.)



The speed of the Z and X cuts will be adjusted to compensate for the instantaneously measured spindle RPM, calculated by the spindle Index pulse or the (much more accurate due to multiple RPM updates per revolution) spindle Encoder A channel.

Even if you are using the Spindle Encoder to measure the RPMs more accurately, you must still have the Spindle Index signal hooked up as well. Without the Spindle Index signal, we can't determine the 0 degree location required for starting a threading pass.
You only need to hook up Spindle Encoder A for the RPM measurements to be made. However, without the Spindle Encoder B channel hooked up, the encoder will just dither back and forth between values. With the Spindle Encoder A and B channels hooked up, the encoder value will count up or down (depending on the rotational direction).


Threading works with either ESS PWM spindle control or Mach4 OB Step Dir Spindle control (a STEP DIR Spindle MUST USE MOTOR 5 for the OB motor). When the GCode starts a threading pass, we halt all motor motion on motors 0 through 4 so that we can wait for the index pulse to tell us to go.

If you are running a Step/Dir Spindle on motors 0, 1, 2, 3 or 4 it will be instantly stopped at the beginning of each threading pass, and you will get a clunk or a reduction in spindle speed for an instant, until the Spindle Index signal pulses.
On motor 5, we allow the Step/Dir spindle to maintain it's current velocity while waiting for the index pulse. This is why you want to be on motor 5 instead of motors 0 through 4 for your Step/Dir Spindle.
The PWM spindle is not affected by this.


If using a Step/Dir Spindle, you may wish to do these three steps to help prevent clunking:

1)Make sure your Step/Dir Spindle is configured as motor 5 (see the previous paragraph).

2) Go to Mach4 Menu -> Configure -> Plugins… -> ESS v... - Warp9 Tech Design, Inc -> Motors tab and check the box for "Enable AntiClunk Mode for Servo Motors".

3) Change your screen set's stop button so it will feed hold fold instead of just dead stopping your Step/Dir Spindle motor.""

Might there be a way forward here ?