Following up on the spindle-at-speed idea I created a pyvcp checkbox to bypass this function. I created an or2 of the bypass and the spindle at speed signal from the VFD output to the spindle-at-speed signal. Unfortunately, it looks like Linuxcnc is using the spindle.0.at-speed pin to inhibit non-rapid moves. I haven't figured out how the bypass that pin.
If I start axis with the VFD unpowered I can continue probing using non-rapid moves forever. Then after probing the grid I power the VFD and mill the pcb. A kludge but it works.
Curiously, my touch-to-zero routine works every time regardless of VFD power state. It has non-rapid moves. Other similar touch off routines also work. Is there different intended behavior vs the spindle at speed function for routines vs gcode programs?
Code:
(touch_2_zero.ngc)
O <touch_2_zero> sub
G91 (switch to relative coordinates)
G38.2 Z-0.75 F5 (down fast to get approximate)
G92 Z0.0
F10 G1 Z.06 (up .06)
G38.2 Z-0.1 F1 (down slow to get exact)
(Version 3)
G90
G92 Z0.0
G0 Z0.25
O <touch_2_zero> endsub
M2