Some of these will have expanded descriptions from the man pages. Some will have limited descriptions. All of the components have man pages. From this list you know what components exist and can use man n name to get additional information. For example in a terminal window type
man 1 axis
to view the information in the man page.
Some of these will have expanded descriptions from the man pages. Some will have limited descriptions. All of the components have man pages. From this list you know what components exist and can use man n name to get additional information in a terminal window.
Compute the absolute value and sign of the input signal
loadrt abs [count=N|names=name1[,name2...]]
addf abs.N|name thread-name
abs.N.in (float in) Input value
abs.N.out (float out) Output Value, always positive
abs.N.sign (bit out) Sign of Input, false = positive, true = negative
The first abs loaded will be abs.0 and each one after that the "N" number will increment.
Two-input AND gate. For out to be true both inputs must be true
loadrt and2 [count=N|names=name1[,name2...]]
addf and2.N|name thread-name
and2.N.in0 (bit in) Input 0
and2.N.in1 (bit in) Input 1
and2.N.out (bit out) Output
proportional/integral/derivative controller with auto tuning
accepts NML motion commands, interacts with HAL in realtime
Biquad IIR filter
3-wire Bipolar trapezoidal commutation BLDC motor driver using Hall sensors
Perform linear interpolation between two values
loadrt blend [count=N|names=name1[,name2...]]
addf blend.N|name thread-name
blend.N.in1 (float in) First input.
blend.N.in2 (float in) Second input.
blend.N.select (float in) Select input.
blend.N.out (float out) Output value.
blend.N.open (bit r/w)
If select is equal to 0.0 output is equal to in1.
If select is equal to 1.0, the output is equal to in2.
For select values between 0.0 and 1.0, the output changes linearly from in1 to in2.
If blend.N.open is true, select values outside the range 0.0 to 1.0 give values outside the range in1 to in2. If false, outputs are clamped to the the range in1 to in2
Create a square-wave for the "charge pump" input of some controller boards
loadrt charge_pump
addf charge-pump
charge-pump.out (bit out)
charge-pump.enable (bit in) default = TRUE
Outputs a square wave if enable is TRUE or unconnected, low if enable is FALSE
Two input version of Clarke transform
loadrt clarke2 [count=N|names=name1[,name2...]]
addf clarke2.N | name
clarke2.N.a (float in) phase a input
clarke2.N.b (float in) phase b input
clarke2.N.x (float out) cartesian components of output
clarke2.N.y (float out) cartesian components of output
The Clarke transform can be used to translate a vector quantity from a three phase system (three components 120 degrees apart) to a two phase Cartesian system.
clarke2 implements a special case of the Clarke transform, which only needs two of the three input phases. In a three wire three phase system, the sum of the three phase currents or voltages must always be zero. As a result only two of the three are needed to completely define the current or voltage. clarke2 assumes that the sum is zero, so it only uses phases A and B of the input. Since the H (homopolar) output will always be zero in this case, it is not generated.
Clarke (3 phase to cartesian) transform
loadrt clarke3 [count=N|names=name1[,name2...]]
addf clarke3.N | name
clarke3.N.a (float in) three phase input vector
clarke3.N.b (float in) three phase input vector
clarke3.N.c (float in) three phase input vector
clarke3.N.x (float out) cartesian components of output
clarke3.N.y (float out) cartesian components of output
clarke3.N.h (float out) homopolar component of output
The Clarke transform can be used to translate a vector quantity from a three phase system (three components 120 degrees apart) to a two phase Cartesian system (plus a homopolar component if the three phases don't sum to zero).
clarke3 implements the general case of the transform, using all three phases. If the three phases are known to sum to zero, see clarke2 for a simpler version.
Inverse Clarke transform
loadrt clarkeinv [count=N|names=name1[,name2...]]
addf clarkeinv.N | name
clarkeinv.N.x (float in) cartesian components of input
clarkeinv.N.y (float in) cartesian components of input
clarkeinv.N.h (float in) homopolar component of input (usually zero)
clarkeinv.N.a (float out) three phase output vector
clarkeinv.N.b (float out) three phase output vector
clarkeinv.N.c (float out) three phase output vector
The inverse Clarke transform can be used to translate a vector quantity from Cartesian coordinate system to a three phase system (three components 120 degrees apart).
Realtime software plc based on ladder logic
Two input comparator with hysteresis
Use a parameter to set the value of a pin
Convert a value from bit to s32
Convert a value from bit to u32
Convert a value from float to s32
Convert a value from float to u32
Convert a value from s32 to bit
Convert a value from u32 to bit
Convert a value from s32 to u32
Convert a value from u32 to bit
Convert a value from u32 to float
Convert a value from u32 to s32
counts input pulses (deprecated)
Compute the derivative of the input function
Return the center if within the threshold
filter noisy digital inputs, for more information see [->]
Edge detector
software counting of quadrature encoder signals, for more information see [->]
an electronic gear to synchronize two axes
ESTOP latch
Multiply the input by the ratio of current velocity to the feed rate
D type flip-flop
software step pulse generation
A kinematics module that maps one axis to multiple joints
Select from one two speed ranges
Gives six degrees of freedom in position and orientation (XYZABC). The location of the motors is defined at compile time.
Kinematics that can model a general serial-link manipulator with up to 6 angular joints.
HAL driver for the Mesa Electronics 7i43 EPP Anything IO board with HostMot2
HAL driver for the Mesa Electronics 5i20, 5i22, 5i23, 4i65, and 4i68 Anything IO boards, with HostMot2 firmware
HAL driver for the Mesa Electronics HostMot2 firmware
Three-input hypotenuse (Euclidean distance) calculator
Low-pass filter with integer inputs and outputs
Integrator
Compute the inverse of the input signal
sets nonlinear joypad movements, deadbands and scales
kinematics definitions for emc2
Convert counts (probably from an encoder) to a float value
Limit the output signal to fall between min and max
Limit the output signal to fall between min and max
Limit the output signal to fall between min and max
Experimental general logic function component
Low-pass filter
Arbitrary 5-input logic function based on a look-up table
Compute the majority of 3 inputs
8-bit binary match detector
Kinematics for a tabletop 5 axis mill named "max" with tilting head (B axis) and horizintal rotary mounted to the table (C axis). Provides UVW motion in the rotated coordinate system. The source file, maxkins.c, may be a useful starting point for other 5-axis systems.
Track the minimum and maximum values of the input to the outputs
accepts NML motion commands, interacts with HAL in realtime
Product of two inputs
Select from one of two input values
Select from one of four input values
Select from one of eight input values
Determine whether two values are roughly equal
Inverter
Adds an offset to an input, and subtracts it from the feedback value
one-shot pulse generator
Two-input OR gate
proportional/integral/derivative controller, for more information see [->]
Hardware driver and firmware for the Pluto-P parallel-port FPGA, for use with servos
Hardware driver and firmware for the Pluto-P parallel-port FPGA, for use with steppers
software PWM/PDM generation, for more information see [->]
The X and Y axes are rotated 45 degrees compared to the joints 0 and 1.
Sample and Hold
sample data from HAL in real time
applies a scale and offset to its input
kinematics for SCARA-type robots
8-bit binary match detector
Hardware driver for the digital I/O bits of the 8250 and 16550 serial port
signal generator, for more information see [->]
simulated quadrature encoder, for more information see [->]
Probe a pretend hemisphere
software step pulse generation, for more information see [->]
Used by Stepconf to allow testing of acceleration and velocity values for an axis
stream file data into HAL in real time
Sum of two inputs (each with a gain) and an offset
set output pins with values from parameters (deprecated)
Torch Height Control using a Mesa THC card.
creates hard realtime HAL threads
component for testing thread behavior
The equivalent of a time-delay relay
component that measures thread scheduling timing behavior
push-on, push-off from momentary pushbuttons
toggle button to nist logic
The joints represent the distance of the controlled point from three predefined locations (the motors), giving three degrees of freedom in position (XYZ)
Place a signal on an I/O pin only when enabled, similar to a tristate buffer in electronics
Place a signal on an I/O pin only when enabled, similar to a tristate buffer in electronics
There is a 1:1 correspondence between joints and axes. Most standard milling machines and lathes use the trivial kinematics module.
Counts up or down, with optional limits and wraparound behavior
Window comparator
convert a group of bits to an integer
Two-input XOR (exclusive OR) gate