Skip to content

Program and coolant buttons

Ctrl provides HAL inputs for the common program buttons. They act on a rising edge: changing from false to true produces one button press. Holding the signal true does not repeat it.

Ctrl HAL input Operator-visible result
ctrl.auto.cycle-start Same as pressing Start on the operator panel
ctrl.auto.stop Stop the running task
ctrl.auto.feedhold Pause a running program; does nothing if already paused
ctrl.auto.optional-stop Toggle optional-stop state
ctrl.auto.block-delete Toggle block-delete state
ctrl.auto.single-block Toggle single-block state; enabling it also pauses a running program

Debounce physical contacts before they reach these pins. Optional stop, block delete, and single block also toggle on a rising edge. Use momentary buttons, or add HAL logic that deliberately reconciles a maintained selector with the current LinuxCNC state.

ctrl.auto.stop is a normal program-stop input. It is not emergency stop and must not be part of a safety chain. Wire emergency stop through the machine’s safety-rated circuit and the LinuxCNC machine-enable path.

Ctrl HAL input Operator-visible result
ctrl.coolant.mist Toggle mist coolant
ctrl.coolant.flood Toggle flood coolant

Each input reads the current LinuxCNC coolant state when its rising edge arrives and requests the opposite state. Ctrl follows the resulting LinuxCNC coolant state.

Document whether each physical control is momentary, maintained, automatic/manual, or an absolute selector. Do not wire a maintained switch to a toggle input unless the machine layer also defines startup and resynchronization behavior.