1. It's there because the drive manufacturer has no idea what estop scheme, if any, is being created by the machine builder. The drive manufacturer adds an internal 'estop' or 'safe-torque-off' type function to make it easier for the machine builder to integrate.
In some cases it is preferable to stop a device by cutting the bus power but leaving the control/logic power enabled. In others, you want a controlled stop where the device or controller will use main bus power to slow the spindle/motor as fast as possible and then turn off. It's up to the machine builder/integrator (you) to determine what you want to happen under difference circumstances, and what regulations you're obliged to follow in your jurisdiction regarding safety-type systems.
You might consider using the spindle drive's internal 'estop' function as a secondary 'spindle-inhibit'. If you want to work on the machine with the spindle disabled you don't necessarily want to estop it and lose offsets. If you had a manual switch not connected to LCNC which killed the drive but didn't shut everything down, you could use that when reaching in the machine (or even changing a tool) without the 'nuclear-option' estop.
2. I assume those are programmable digital outputs from the drive. It's up to you what you want to do with them, but if you are running the spindle/drive open loop (no encoder signal to mesa/LCNC), you could connect those outputs to mesa inputs. Then connect the mesa inputs in HAL to:
- motion.spindle.0.at-speed (stops machine from moving until spindle is at speed. Probably want some sort of RPM tolerance window, there are plenty of examples of actual working configs on the forum)
- zero speed could be connected to a power draw-bar enable function. i.e. a manual button is pressed, but the drawbar can't activate unless the zero-speed input is also active.
- not sure what Warn Output does. Would need to read the manual before speculating on how/if to use it in LCNC.