1. Commands and Userspace Components

All of the commands in the following list have man pages. Some will have expanded descriptions, some will have limited descriptions. Also, all of the components listed below have man pages. From these two lists you know what components exist, and you can use man n name to get additional information. To view the information in the man page, in a terminal window type:

man axis (or perhaps 'man 1 axis' if your system requires it.)
axis

AXIS LinuxCNC (The Enhanced Machine Controller) Graphical User Interface.

axis-remote

AXIS Remote Interface.

comp

Build, compile and install LinuxCNC HAL components.

emc

LinuxCNC (The Enhanced Machine Controller).

gladevcp

Virtual Control Panel for LinuxCNC based on Glade, Gtk and HAL widgets.

gs2

HAL userspace component for Automation Direct GS2 VFD’s.

halcmd

Manipulate the Enhanced Machine Controller HAL from the command line.

hal_input

Control HAL pins with any Linux input device, including USB HID devices.

halmeter

Observe HAL pins, signals, and parameters.

halrun

Manipulate the Enhanced Machine Controller HAL from the command line.

halsampler

Sample data from HAL in realtime.

halstreamer

Stream file data into HAL in real time.

halui

Observe HAL pins and command LinuxCNC through NML.

io

Accepts NML I/O commands, interacts with HAL in userspace.

iocontrol

Accepts NML I/O commands, interacts with HAL in userspace.

pyvcp

Virtual Control Panel for LinuxCNC.

shuttlexpress

control HAL pins with the ShuttleXpress device made by Contour Design.

2. Realtime Components

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.

abs

[Compute the absolute value and sign of the input signal.

and2

Two-input AND gate. For out to be true both inputs must be true.

at_pid

Proportional/integral/derivative controller with auto tuning.

axis

Accepts NML motion commands, interacts with HAL in realtime.

biquad

Biquad IIR filter

bldc_hall3

3-wire Bipolar trapezoidal commutation BLDC motor driver using Hall sensors.

blend

Perform linear interpolation between two values.

charge_pump

Create a square-wave for the charge pump input of some controller boards.

clarke2

Two input version of Clarke transform.

clarke3

Clarke (3 phase to cartesian) transform.

clarkeinv

Inverse Clarke transform.

classicladder

Realtime software PLC based on ladder logic. See Classic Ladder manual for more information.

comp

Two input comparator with hysteresis.

constant

Use a parameter to set the value of a pin.

conv_bit_s32

Convert a value from bit to s32.

conv_bit_u32

Convert a value from bit to u32.

conv_float_s32

Convert a value from float to s32.

conv_float_u32

Convert a value from float to u32.

conv_s32_bit

Convert a value from s32 to bit.

conv_s32_float

Convert a value from s32 to float.

conv_s32_u32

Convert a value from s32 to u32.

conv_u32_bit

Convert a value from u32 to bit.

conv_u32_float

Convert a value from u32 to float.

conv_u32_s32

Convert a value from u32 to s32.

counter

Counts input pulses (deprecated). Use the encoder component See [sec:Encoder].

ddt

Compute the derivative of the input function.

deadzone

Return the center if within the threshold.

debounce

Filter noisy digital inputs, for more information see [sec:Debounce].

edge

Edge detector.

encoder

Software counting of quadrature encoder signals, for more information see [sec:Encoder].

encoder_ratio

An electronic gear to synchronize two axes.

estop_latch

ESTOP latch.

feedcomp

Multiply the input by the ratio of current velocity to the feed rate.

flipflop

D type flip-flop.

gantrykins

A kinematics module that maps one axis to multiple joints.

gearchange

Select from one of two speed ranges.

genhexkins

Gives six degrees of freedom in position and orientation (XYZABC). The location of the motors is defined at compile time.

genserkins

Kinematics that can model a general serial-link manipulator with up to 6 angular joints.

gladevcp

Displays Virtual Control Panels built with GTK/Glade.

hm2_7i43

HAL driver for the Mesa Electronics 7i43 EPP Anything IO board with HostMot2.

hm2_pci

HAL driver for the Mesa Electronics 5i20, 5i22, 5i23, 4i65, and 4i68 Anything I/O boards, with HostMot2 firmware.

hostmot2

HAL driver for the Mesa Electronics HostMot2 firmware.

hypot

Three-input hypotenuse (Euclidean distance) calculator.

ilowpass

Low-pass filter with integer inputs and outputs.

integ

Integrator.

invert

Compute the inverse of the input signal.

joyhandle

Sets nonlinear joypad movements, deadbands and scales.

kins

kinematics definitions for LinuxCNC.

knob2float

Convert counts (probably from an encoder) to a float value.

limit1

Limit the output signal to fall between min and max.
[When the input is a position, this means that the position is limited.]

limit2

Limit the output signal to fall between min and max. Limit its slew rate to less than maxv per second.
[When the input is a position, this means that position and velocity are limited.]

limit3

Limit the output signal to fall between min and max. Limit its slew rate to less than maxv per second. Limit its second derivative to less than MaxA per second squared.
[When the input is a position, this means that the position, velocity, and acceleration are limited.]

logic

Experimental general logic function component.

lowpass

Low-pass filter

lut5

Arbitrary 5-input logic function based on a look-up table.

maj3

Compute the majority of 3 inputs.

match8

8-bit binary match detector.

maxkins

Kinematics for a tabletop 5 axis mill named max with tilting head (B axis) and horizontal 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.

mesa_7i65

Support for the Mesa 7i65 eight-axis servo card.

minmax

Track the minimum and maximum values of the input to the outputs.

motion

Accepts NML motion commands, interacts with HAL in realtime.

mult2

Product of two inputs.

mux16

Select from one of sixteen input values.

mux2

Select from one of two input values.

mux4

Select from one of four input values.

mux8

Select from one of eight input values.

near

Determine whether two values are roughly equal.

not

Inverter.

offset

Adds an offset to an input, and subtracts it from the feedback value.

oneshot

One-shot pulse generator.

or2

Two-input OR gate.

pid

Proportional/integral/derivative controller, for more information see [sec:PID].

pluto_servo

Hardware driver and firmware for the Pluto-P parallel-port FPGA, for use with servos.

pluto_step

Hardware driver and firmware for the Pluto-P parallel-port FPGA, for use with steppers.

pumakins

Kinematics for PUMA-style robots.

pwmgen

Software PWM/PDM generation, for more information see [sec:PWMgen].

rotatekins

The X and Y axes are rotated 45 degrees compared to the joints 0 and 1.

sample_hold

Sample and Hold.

sampler

Sample data from HAL in real time.

scale

Applies a scale and offset to its input.

scarakins

Kinematics for SCARA-type robots.

select8

8-bit binary match detector.

serport

Hardware driver for the digital I/O bits of the 8250 and 16550 serial port.

siggen

Signal generator, for more information see [sec:Siggen].

sim_encoder

Simulated quadrature encoder, for more information see [sec:Simulated-Encoder].

sphereprobe

Probe a pretend hemisphere.

stepgen

Software step pulse generation, for more information see [sec:Stepgen].

steptest

Used by Stepconf to allow testing of acceleration and velocity values for an axis.

streamer

Stream file data into HAL in real time.

sum2

Sum of two inputs (each with a gain) and an offset.

supply

Set output pins with values from parameters (deprecated).

thc

Torch Height Control using a Mesa THC card.

threads

Creates hard realtime HAL threads.

threadtest

Component for testing thread behavior.

time

Accumulated run-time timer counts HH:MM:SS of active input.

timedelay

The equivalent of a time-delay relay.

timedelta

Component that measures thread scheduling timing behavior.

toggle2nist

Toggle button to nist logic.

toggle

Push-on, push-off from momentary pushbuttons.

tripodkins

The joints represent the distance of the controlled point from three predefined locations (the motors), giving three degrees of freedom in position (XYZ).

tristate_bit

Place a signal on an I/O pin only when enabled, similar to a tristate buffer in electronics.

tristate_float

Place a signal on an I/O pin only when enabled, similar to a tristate buffer in electronics.

trivkins

There is a 1:1 correspondence between joints and axes. Most standard milling machines and lathes use the trivial kinematics module.

updown

Counts up or down, with optional limits and wraparound behavior.

watchdog

Monitor one to thirty-two inputs for a heartbeat.

wcomp

Window comparator.

weighted_sum

Convert a group of bits to an integer.

xor2

Two-input XOR (exclusive OR) gate.

3. HAL API calls

hal_add_funct_to_thread.3hal
hal_bit_t.3hal
hal_create_thread.3hal
hal_del_funct_from_thread.3hal
hal_exit.3hal
hal_export_funct.3hal
hal_float_t.3hal
hal_get_lock.3hal
hal_init.3hal
hal_link.3hal
hal_malloc.3hal
hal_param_bit_new.3hal
hal_param_bit_newf.3hal
hal_param_float_new.3hal
hal_param_float_newf.3hal
hal_param_new.3hal
hal_param_s32_new.3hal
hal_param_s32_newf.3hal
hal_param_u32_new.3hal
hal_param_u32_newf.3hal
hal_parport.3hal
hal_pin_bit_new.3hal
hal_pin_bit_newf.3hal
hal_pin_float_new.3hal
hal_pin_float_newf.3hal
hal_pin_new.3hal
hal_pin_s32_new.3hal
hal_pin_s32_newf.3hal
hal_pin_u32_new.3hal
hal_pin_u32_newf.3hal
hal_ready.3hal
hal_s32_t.3hal
hal_set_constructor.3hal
hal_set_lock.3hal
hal_signal_delete.3hal
hal_signal_new.3hal
hal_start_threads.3hal
hal_type_t.3hal
hal_u32_t.3hal
hal_unlink.3hal
intro.3hal
undocumented.3hal

4. RTAPI calls

EXPORT_FUNCTION.3rtapi
MODULE_AUTHOR.3rtapi
MODULE_DESCRIPTION.3rtapi
MODULE_LICENSE.3rtapi
RTAPI_MP_ARRAY_INT.3rtapi
RTAPI_MP_ARRAY_LONG.3rtapi
RTAPI_MP_ARRAY_STRING.3rtapi
RTAPI_MP_INT.3rtapi
RTAPI_MP_LONG.3rtapi
RTAPI_MP_STRING.3rtapi
intro.3rtapi
rtapi_app_exit.3rtapi
rtapi_app_main.3rtapi
rtapi_clock_set_period.3rtapi
rtapi_delay.3rtapi
rtapi_delay_max.3rtapi
rtapi_exit.3rtapi
rtapi_get_clocks.3rtapi
rtapi_get_msg_level.3rtapi
rtapi_get_time.3rtapi
rtapi_inb.3rtapi
rtapi_init.3rtapi
rtapi_module_param.3rtapi
RTAPI_MP_ARRAY_INT.3rtapi
RTAPI_MP_ARRAY_LONG.3rtapi
RTAPI_MP_ARRAY_STRING.3rtapi
RTAPI_MP_INT.3rtapi
RTAPI_MP_LONG.3rtapi
RTAPI_MP_STRING.3rtapi
rtapi_mutex.3rtapi
rtapi_outb.3rtapi
rtapi_print.3rtap
rtapi_prio.3rtapi
rtapi_prio_highest.3rtapi
rtapi_prio_lowest.3rtapi
rtapi_prio_next_higher.3rtapi
rtapi_prio_next_lower.3rtapi
rtapi_region.3rtapi
rtapi_release_region.3rtapi
rtapi_request_region.3rtapi
rtapi_set_msg_level.3rtapi
rtapi_shmem.3rtapi
rtapi_shmem_delete.3rtapi
rtapi_shmem_getptr.3rtapi
rtapi_shmem_new.3rtapi
rtapi_snprintf.3rtapi
rtapi_task_delete.3rtpi
rtapi_task_new.3rtapi
rtapi_task_pause.3rtapi
rtapi_task_resume.3rtapi
rtapi_task_start.3rtapi
rtapi_task_wait.3rtapi
undocumented.3rtapi