table of contents
MULTICLICK(9) | HAL Component | MULTICLICK(9) |
NAME¶
multiclick - Single-, double-, triple-, and quadruple-click detector
SYNOPSIS¶
loadrt multiclick [count=N|names=name1[,name2...]]
DESCRIPTION¶
A click is defined as a rising edge on the 'in' pin, followed by the 'in' pin being True for at most 'max-hold-ns' nanoseconds, followed by a falling edge.
A double-click is defined as two clicks, separated by at most 'max-space-ns' nanoseconds with the 'in' pin in the False state.
I bet you can guess the definition of triple- and quadruple-click.
You probably want to run the input signal through a debounce component before feeding it to the multiclick detector, if the input is at all noisy.
The '*-click' pins go high as soon as the input detects the correct number of clicks.
The '*-click-only' pins go high a short while after the click, after the click separator space timeout has expired to show that no further click is coming. This is useful for triggering halui MDI commands.
FUNCTIONS¶
- multiclick.N
- Detect single-, double-, triple-, and quadruple-clicks
PINS¶
- multiclick.N.in bit in
- The input line, this is where we look for clicks.
- multiclick.N.single-click bit out
- Goes high briefly when a single-click is detected on the 'in' pin.
- multiclick.N.single-click-only bit out
- Goes high briefly when a single-click is detected on the 'in' pin and no second click followed it.
- multiclick.N.double-click bit out
- Goes high briefly when a double-click is detected on the 'in' pin.
- multiclick.N.double-click-only bit out
- Goes high briefly when a double-click is detected on the 'in' pin and no third click followed it.
- multiclick.N.triple-click bit out
- Goes high briefly when a triple-click is detected on the 'in' pin.
- multiclick.N.triple-click-only bit out
- Goes high briefly when a triple-click is detected on the 'in' pin and no fourth click followed it.
- multiclick.N.quadruple-click bit out
- Goes high briefly when a quadruple-click is detected on the 'in' pin.
- multiclick.N.quadruple-click-only bit out
- Goes high briefly when a quadruple-click is detected on the 'in' pin and no fifth click followed it.
- multiclick.N.state s32 out
PARAMETERS¶
- multiclick.N.invert-input bit rw (default: FALSE)
- If FALSE (the default), clicks start with rising edges. If TRUE, clicks start with falling edges.
- multiclick.N.max-hold-ns u32 rw (default: 250000000)
- If the input is held down longer than this, it's not part of a multi-click. (Default 250,000,000 ns, 250 ms.)
- multiclick.N.max-space-ns u32 rw (default: 250000000)
- If the input is released longer than this, it's not part of a multi-click. (Default 250,000,000 ns, 250 ms.)
- multiclick.N.output-hold-ns u32 rw (default: 100000000)
- Positive pulses on the output pins last this long. (Default 100,000,000 ns, 100 ms.)
AUTHOR¶
Sebastian Kuzminsky
LICENSE¶
GPL
2023-02-10 | LinuxCNC Documentation |