LOGIC(9) | HAL Component | LOGIC(9) |
NAME¶
logic - LinuxCNC HAL component providing configurable logic functions
SYNOPSIS¶
loadrt logic [count=N|names=name1[,name2...]] personality=0xXXXX[,0xXXXX...]
- count The number of logical gates.
- names The named logical gates to create.
- personality Comma separated list of hexadecimal number.
- Each number defines the behaviour of the individual logic gate. The list must have the same number of personalities as the N count.
DESCRIPTION¶
General `logic function' component. Can perform `and', `or', `nand', `nor' and `xor' of up to 16 inputs.
Determine the proper value for `personality' by adding the inputs and outputs then convert to hex:
- The number of input pins, usually from 2 to 16
- 256 (0x100) if the `and' output is desired
- 512 (0x200) if the `or' output is desired
- 1024 (0x400) if the `xor' (exclusive or) output is desired
- 2048 (0x800) if the `nand' output is desired
- 4096 (0x1000) if the `nor' output is desired
Outputs can be combined, for example 2 + 256 + 1024 = 1282 converted to hex would be 0x502 and would have two inputs and have both `xor' and `and' outputs.
FUNCTIONS¶
- logic.N
- Read the inputs and toggle the output bit.
PINS¶
EXAMPLES¶
This is an OR circuit connected to three different signals, two inputs named sig-in-0 and sig-in-1, and one output named sig-out. First the circuit is defined, then its function is connected to the servo real time thread, last, its pins are connected to the wanted signals.
-
loadrt logic count=1 personality=0x202 addf logic.0 servo-thread net sig-in-0 => logic.0.in-00 net sig-in-1 => logic.0.in-01 net sig-out <= logic.0.or
This is a named AND circuit with two inputs and one output.
-
loadrt logic names=both personality=0x102 addf both servo-thread net sig-in-0 => both.in-00 net sig-in-1 => both.in-01 net sig-out <= both.and
SEE ALSO¶
AUTHOR¶
Jeff Epler
LICENSE¶
GPL
2024-07-13 | LinuxCNC Documentation |