LinuxCNC Documentation

SYNOPSIS

loadrt tap [count=N|names=name1[,name2…​]]

DESCRIPTION

The tap component sits between a HAL boolean signal (typically driven by HAL logic or by G-code digital outputs such as M64/M65) and the output it controls, giving the operator a way to see and force the state from a UI without issuing MDI commands.

The in pin is driven by the HAL logic as usual. On any edge of in, the out pin follows in and io is updated to match, so the UI always shows the current state.

The io pin is an I/O pin intended to be read and written by a UI (for example a PyVCP or GladeVCP button/LED). On any edge of io, the out pin follows io, letting the operator force the output on or off even while the HAL logic holds in at a different state. The next edge of in makes the HAL logic take control again.

The tap component reacts to changes only. It does not enforce a state continuously, so the io pin must not be linked to a signal that is written every cycle (such as a streamer output); it is meant for event-driven writers like UI buttons, halcmd setp, or halcmd sets on an unlinked pin.

FUNCTIONS

tap.N

Update the output on edges of in or io

PINS

tap.N.in bool in

signal from HAL logic, e.g. driven by M64/M65

tap.N.io bool io

override pin, typically connected to a UI control

tap.N.out bool out

output to the hardware pin

EXAMPLES

loadrt tap addf tap.0 servo-thread net coolant-flood iocontrol.0.coolant-flood ⇒ tap.0.in net coolant-flood-out tap.0.out ⇒ parport.0.pin-14-out # UI button/LED connected to tap.0.io shows and can force the state

AUTHOR

Luca Toniolo

LICENSE

GPL