There are some more details for this :
estop pins - assuming no pins are yet interconnected:
iocontrol.0.emc-enable-in -- sets the Estop button displayed in Axis - and
from the docs "Should be driven FALSE when an
external estop condition exists."
(False is the 'in' position)
iocontrol.0.user-enable-out becomes the OPPOSITE of iocontrol.0.emc-enable-in if you click on the etop-button - Does NOT change the appearance of the GUI estop button.
From the docs "FALSE when an
internal estop condition exists" (what defines an estop condition here? Are there other things that can trigger an estop? )
iocontrol.0.user-request-enable iocontrol.0.user-request-enable ( output that 'PULSES' true if you click on estop button in axis AND iocontrol.0.emc-enable-in is false (pulses on pulling-out the GUI estop ) (iocontrol.0.user-request-enable is not completely documented in the man page (2020))
There is a way (by writing a component) to latch iocontrol.0.user-request-enable. That being said - it is an
extremely bad idea to use this to enable a physical estop circuit. LinuxCNC should be setup to disable the physical estop - but NOT enable it.,
,.,.,.,.
What I'm still missing and digging for is if Linuxcnc triggers Estop for other reasons.
Also - there are halui pins for estop that refer to "(linuxcnc internal)" -- I don't yet have any clue what they might do or indicate or if they should be connected to the iocontrol estop pins? What does "internal" mean here? From the man page:
estop
halui.estop.activate bit in
pin for setting Estop (LinuxCNC internal) On
halui.estop.is-activated bit out
pin for displaying Estop state (LinuxCNC internal) On/Off
halui.estop.reset bit in
pin for resetting Estop (LinuxCNC internal) Off
As an example - I've attached a physical estop circuit -- linuxcnc can drop the circuit and read it's state.