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