HalEDM. Linuxcnc poses the tool and Hal controls single axis cut. This is Sink EDM. The video shows the motion, Initially linuxcnc moves the tool into position, then several Mcodes supply EDM parameters to the pulse generator, This creates a voltage between the tool and the work. This Potential is translated into a velocity, positive or negative or null as dictated by the process. An Mcode sets a min and a max position on the line that includes the linuxcnc pose. After completion or failure, the Hal component(s) retract the tool to the position arrived at by linuxcnc ( no jerk on hand over of position control ). At this point the mcode releases the halui.mode to allow further motion by linuxcnc. This uses fake Gap value , faked by 0-500 joystick value of Logitech Joypad. Real ( see http://videobin.org/+6cn/77x.html ) control uses a resistor divider and 2 thresholds to a window comparator.