1. Components
Most of the commands in the following list have their own dedicated man pages.
Some will have expanded descriptions, some will have limited descriptions.
From this list you know what components exist, and you can use man
name on your UNIX command line to get additional information.
To view the information in the man page, in a terminal window type:
man axis
The one or other setup of a UNIX system may require to explicitly specify the section of the man page.
If you do not find the man page or the name of the man page is already taken by another UNIX tool with the LinuxCNC man page residing in another section,
then try to explicitly specify the section, as in man _sectionno_ axis
, with sectionno = 1 for non-realtime and 9 for realtime components.
Note
|
See also the Man Pages section of the docs main page or the directory listing.
To search in the man pages, use the UNIX tool apropos . |
1.1. User Interfaces (non-realtime)
1.1.1. Machine Control
AXIS LinuxCNC (The Enhanced Machine Controller) GUI |
|||
AXIS Remote Interface |
|||
Touchy LinuxCNC Graphical User Interface |
|||
Touchy LinuxCNC Graphical User Interface |
|||
Observe HAL pins and command LinuxCNC through NML |
|||
manual only Digital Read Out (DRO) |
|||
Framework for conversational G-code generation on the controller |
|||
Python implementation of NGCGUI |
|||
AXIS - TOUCHY LinuxCNC Graphical User Interface |
1.1.2. Virtual Control Panels (VCP)
Virtual Control Panel for LinuxCNC based on Glade, Gtk and HAL widgets |
|||
GladeVCP - used by sample configs to deonstrate Glade Virtual_demo |
|||
G-code graphical preview |
|||
GUI for the moveoff component |
|||
Utility for panelui |
|||
Virtual Control Panel for LinuxCNC |
|||
Python Virtual Control Panel demonstration component |
|||
Qt based virtual control panel |
1.1.3. Vismach Virtual Machines
Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
hexagui - Vismach Virtual Machine GUI |
|||
hexagui - Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
puma560agui - Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
|||
Vismach Virtual Machine GUI |
1.2. Motion (non-realtime)
1.3. Hardware Drivers
1.3.1. VFD & Communication Interfaces (non-realtime)
Communicate with Mesa ethernet cards |
|||
HAL non-realtime component for Automation Direct GS2 VFDs |
|||
HAL non-realtime component for Huanyang GT-series VFDs |
|||
HAL non-realtime component for Huanyang VFDs |
|||
MB2HAL is a generic non-realtime HAL component to communicate with one or more Modbus devices. Modbus RTU and Modbus TCP are supported. |
|||
HAL non-realtime component for Mitsubishi A500 F500 E500 A500 D700 E700 F700-series VFDs (others may work) |
|||
Monitors the XHC-HB04 pendant and warns of disconnection |
|||
Powtran PI500 modbus driver |
|||
Modbus communications with a Powermax Plasma Cutter |
|||
Modbus communications testing with a Powermax Plasma Cutter |
|||
control HAL pins with the ShuttleXpress, ShuttlePRO, and ShuttlePRO2 device made by Contour Design |
|||
HAL non-realtime component for SVD-P(S) VFDs |
|||
HAL non-realtime component for Delta VFD-B Variable Frequency Drives |
|||
HAL non-realtime component for Toshiba-Schneider VF-S11 Variable Frequency Drives |
|||
Hitachi wj200 modbus driver |
|||
Non-realtime HAL component for the xhc-hb04 pendant |
|||
Obsolete script for jogging wheel |
|||
Non-realtime jog dial HAL component for the wireless XHC WHB04B-6 USB device |
1.4. Mesa and other I/O Cards (Realtime)
hal_ppmc |
Pico Systems driver for analog servo, PWM and Stepper controller |
||
Driver for beaglebone GPIO pins |
|||
Realtime HAL component to communicate with one or more PC parallel ports |
|||
Mesa Electronics driver for the 7I43 EPP Anything IO board with HostMot2. (See the man page for more information) |
|||
LinuxCNC HAL driver for the Mesa Electronics 7I90 EPP Anything IO board with HostMot2 firmware |
|||
LinuxCNC HAL driver for the Mesa Electronics Ethernet Anything IO boards, with HostMot2 firmware |
|||
Mesa Electronics driver for the 5I20, 5I22, 5I23, 4I65, and 4I68 Anything I/O boards, with HostMot2 firmware. (See the man page for more information) |
|||
LinuxCNC HAL driver for the Mesa Electronics SPI Anything IO boards, with HostMot2 firmware |
|||
LinuxCNC HAL driver for the Mesa Electronics SPI Anything IO boards, with HostMot2 firmware |
|||
Mesa Electronics driver for the HostMot2 firmware. |
|||
Support for the MAX31855 Thermocouple-to-Digital converter using bitbanged SPI |
|||
Mesa Electronics driver for the 7I65 eight-axis servo card. (See the man page for more information) |
|||
PktUART simple test with Microstrain 3DM-GX3-15 gyro |
|||
An example component demonstrating how to access the Hostmot2 UART |
|||
Realtime driver for opto22 PCI-AC5 cards |
|||
pluto_servo |
Pluto-P driver and firmware for the parallel port FPGA, for servos |
||
pluto_step |
Pluto-P driver for the parallel port FPGA, for steppers |
||
Hardware driver for the digital I/O bits of the 8250 and 16550 serial port |
|||
An utility for setting Smart Serial NVRAM parameters |
|||
hostmot2 - Smart Serial LinuxCNC HAL driver for the Mesa Electronics HostMot2 Smart-Serial remote cards |
1.5. Utilities (non-realtime)
Plots the value of a HAL pin as a histogram |
|||
Build, compile and install LinuxCNC HAL components |
|||
Observe HAL pins, signals, and parameters |
|||
Manipulate the LinuxCNC HAL from the command line |
|||
Utility script used when parsing HAL files. It allows to have multiple load-commands for multiple instances of the same component. |
|||
Creates a report on the status of the HAL |
|||
Remote-control interface for LinuxCNC |
|||
Manipulate the LinuxCNC HAL from the command line |
|||
Sample data from HAL in realtime |
|||
Software oscilloscope for viewing real time waveforms of HAL pins and signals |
|||
Show HAL parameters, pins and signals |
|||
Stream file data into HAL in real time |
|||
Manipulates the LinuxCNC HAL from the command line using Tcl |
|||
Converts bitmap images to G-code |
|||
Query an INI file |
|||
Plots histogram of machine latency |
|||
Another way to view latency numbers |
|||
Tests the realtime system latency |
|||
Create a desktop icon for LinuxCNC |
|||
Utility for compiling Modbus drivers |
|||
Log motion commands sent from LinuxCNC |
|||
Configuration wizard for Mesa cards |
|||
GUI for displaying and setting one or more HAL inputs |
|||
Configuration wizard for parallel-port based machines |
|||
Converts 2.7 format INI files to 2.8 format |
|||
Sets the debug level for the non-realtime part of LinuxCNC |
|||
Adjust ini tuning variables on the fly with save option |
|||
Control HAL pins with any Linux input device, including USB HID devices |
|||
Collects information about the LinuxCNC version and the host |
|||
Controls root access for system hardware |
|||
Retrieves LinuxCNC variables |
|||
LinuxCNC (The Enhanced Machine Controller) |
|||
LinuxCNC Graphical User Interface for LCD character display |
|||
Text-mode interface for commanding LinuxCNC over the network |
|||
Allows network access to LinuxCNC internals via NML |
|||
Live LinuxCNC status description |
|||
Standalone G-code interpreter |
|||
Telnet based scheduler for LinuxCNC |
|||
A script to configure the system for use of QTdesigner |
|||
Jog the machine to a position, and record the state |
|||
A component of the tool database system (an alternative to the classic tooltable) |
|||
A component of the tool database system (an alternative to the classic tooltable) |
|||
Tool table editor |
1.6. Signal processing (Realtime)
1.6.1. Logic and Bitwise
Two-input AND gate. For out to be true both inputs must be true. (and2) |
|||
Computes various bitwise operations on the two input values |
|||
Filter noisy digital inputs Details |
|||
Filter noisy digital inputs Details description |
|||
Select one of several output pins by integer and/or or individual bits |
|||
Edge detector |
|||
E-stop latch |
|||
D-type flip-flop |
|||
General logic function component |
|||
5-input logic function based on a look-up table description |
|||
8-bit binary match detector |
|||
Single-, double-, triple-, and quadruple-click detector |
|||
Toggles between a specified number of output bits |
|||
Inverter |
|||
One-shot pulse generator |
|||
Two-input OR gate |
|||
Resets an IO signal |
|||
8-bit binary match detector. |
|||
IEC TOF timer - delay falling edge on a signal |
|||
Push-on, push-off from momentary pushbuttons |
|||
Toggle button to nist logic |
|||
IEC TON timer - delay rising edge on a signal |
|||
Equivalent of a time-delay relay. |
|||
IEC TP timer - generate a high pulse of defined duration on rising edge |
|||
Places signal on an I/O pin only when enabled, similar to a tristate buffer in electronics |
|||
Places signal on an I/O pin only when enabled, similar to a tristate buffer in electronics |
|||
Two-input XOR (exclusive OR) gate |
1.6.2. Arithmetic and float
Computes the absolute value and sign of a integer input signal |
|||
Computes the absolute value and sign of a 64 bit integer input signal |
|||
Computes the absolute value and sign of a float input signal |
|||
Biquad IIR filter |
|||
Perform linear interpolation between two values |
|||
Two input comparator with hysteresis |
|||
Uses parameter to set the value of a pin |
|||
Counts input pulses (deprecated). Use the encoder component. |
|||
Computes the derivative of the input function. |
|||
Returns the center if within the threshold. |
|||
Quotient of two floating point inputs. |
|||
Three-input hypotenuse (Euclidean distance) calculator. |
|||
Low-pass filter with integer inputs and outputs |
|||
Integrator |
|||
Computes the inverse of the input signal. |
|||
Unidimensional Kalman filter, also known as linear quadratic estimation (LQE) |
|||
Converts counts (probably from an encoder) to a float value. |
|||
HAL component for dimming LEDs |
|||
Low-pass filter |
|||
Limits the output signal to fall between min and max. |
|||
Limits the output signal to fall between min and max. Limit its slew rate to less than maxv per second.
|
|||
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 |
|||
One-dimensional lookup table |
|||
Compute the majority of 3 inputs |
|||
Tracks the minimum and maximum values of the input to the outputs. |
|||
Product of two inputs. |
|||
Select from one of 16 input values (multiplexer). |
|||
Select from one of two input values (multiplexer). |
|||
Select from one of four input values (multiplexer). |
|||
Select from one of eight input values (multiplexer). |
|||
Select one from several input values (multiplexer). |
|||
Determine whether two values are roughly equal. |
|||
Adds an offset to an input, and subtracts it from the feedback value. |
|||
latch for error signals |
|||
Sample and Hold. |
|||
Sum of four inputs (each with a scale) |
|||
Applies a scale and offset to its input. |
|||
Sum of two inputs (each with a gain) and an offset. |
|||
Accumulated run-time timer counts HH:MM:SS of active input. |
|||
Component that measures thread scheduling timing behavior. |
|||
Counts up or down, with optional limits and wraparound behavior. |
|||
Window comparator. |
|||
Monitor one to thirty-two inputs for a heartbeat. |
|||
Convert a group of bits to an integer. |
|||
xhc-hb04 convenience utility |
1.7. Signal generation (Realtime)
Creates a square-wave for the charge pump input of some controller boards. |
|||
Software PWM/PDM generation, see description. |
|||
Signal generator, see description. |
|||
Simulated quadrature encoder, see description. |
|||
Software step pulse generation, see description. |
1.7.1. Type conversion
Converts a number to the gray-code representation |
|||
Converts individual input bits into an unsigned-32 |
|||
Converts an unsigned-32 input into individual bits |
|||
Converts from bit to float |
|||
Converts from bit to s32 |
|||
Converts from bit to u32 |
|||
Converts from float to s32 |
|||
Converts from float to u32 |
|||
Converts from s32 to bit |
|||
Converts from s32 to float |
|||
Converts from s32 to u32 |
|||
Converts from u32 to bit |
|||
Converts from u32 to float |
|||
Converts from u32 to s32 |
|||
Convert a value from bit to s64 |
|||
Convert a value from bit to u64 |
|||
Convert a value from float to s64 |
|||
Convert a value from float to u64 |
|||
Convert a value from s32 to s64 |
|||
Convert a value from s32 to u64 |
|||
Convert a value from s64 to bit |
|||
Convert a value from s64 to float |
|||
Convert a value from s64 to s32 |
|||
Convert a value from s64 to u32 |
|||
Convert a value from s64 to u64 |
|||
Convert a value from u32 to s64 |
|||
Convert a value from u32 to u64 |
|||
Convert a value from u64 to bit |
|||
Convert a value from u64 to float |
|||
Convert a value from u64 to s32 |
|||
Convert a value from u64 to s64 |
|||
Convert a value from u64 to u32 |
|||
Converts gray-code input to binary |
1.8. Kinematics (Realtime)
CoreXY kinematics |
|||
Kinematics for a differential transmission |
|||
LinuxCNC HAL component for driving multiple joints from a single axis |
|||
Kinematics module that maps one axis to multiple joints. |
|||
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. |
|||
1:1 correspondence between joints and axes. Most standard milling machines and lathes use the trivial kinematics module. |
|||
Kinematics definitions for LinuxCNC. |
|||
Kinematics for a linear delta robot |
|||
Calibrated kinematics for 3-axis machines |
|||
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. |
|||
Switchable kinematics for a mill-turn machine |
|||
Kinematics for PUMA-style robots. |
|||
Kinematics for a rose engine |
|||
The X and Y axes are rotated 45 degrees compared to the joints 0 and 1. |
|||
Kinematics for SCARA-type robots. |
|||
The joints represent the distance of the controlled point from three predefined locations (the motors), giving three degrees of freedom in position (XYZ). |
|||
Template for user-built kinematics |
|||
Switchable kinematics for 5 axis machine with rotary table A and B |
|||
Switchable kinematics for 6 axis machine with a rotary table C, rotary spindle B and nutating spindle A |
|||
Switchable kinematics for 6 axis machine with a rotary table B, rotary spindle C and nutating spindle A |
1.9. Motion control (Realtime)
Multiply the input by the ratio of current velocity to the feed rate. |
|||
Homing module template |
|||
Dynamic range based axis limits |
|||
Accepts NML motion commands, interacts with HAL in realtime |
|||
This component is a single axis simple trajectory planner, same as used for jogging in LinuxCNC. |
|||
Trajectory Planning (tp) module skeleton |
1.10. Motor control (Realtime)
Proportional/integral/derivative controller with auto tuning. |
|||
BLDC and AC-servo control component |
|||
Two input version of Clarke transform |
|||
Clarke (3 phase to cartesian) transform |
|||
Inverse Clarke transform |
|||
Software counting of quadrature encoder signals, see description. |
|||
Proportional/integral/derivative controller, description. |
|||
Software PWM/PDM generation, see description. |
|||
Software step pulse generation, see description. |
1.11. Simulation/Testing
Used to allow testing of an axis. Used In PnCconf. |
|||
creates a simulated real time environment |
|||
A simulated plasma torch |
|||
A component to simulate home and limit switches |
|||
Home switch simulator |
|||
convert HAL pin inputs to keycodes |
|||
A component to simulate the pins of the hal_parport component |
|||
Simulated spindle with index pulse |
|||
simulate a probe input |
1.12. Other (Realtime)
Jog two axes (or joints) at an angle |
|||
Realtime software PLC based on ladder logic. See ClassicLadder chapter for more information. |
|||
Creates a square-wave for the charge pump input of some controller boards. |
|||
Electronic gear to synchronize two axes. |
|||
Enumerate integer values into bits |
|||
Compute External Offset Per Angle |
|||
displays Virtual control Panels built with GTK / GLADE |
|||
Histogram bins utility for scripts/hal-histogram |
|||
Sets nonlinear joypad movements, deadbands and scales. |
|||
Comp utility for scripts/latency-histogram |
|||
Display a message |
|||
Component for HAL-only offsets |
|||
Outputs laser power based upon pre programmed rastering data |
|||
Sample data from HAL in real time. |
|||
Signal generator, see description. |
|||
Probe a pretend hemisphere. |
|||
Creates hard realtime HAL threads. |
|||
Component for testing thread behavior. |
|||
Used by StepConf to allow testing of acceleration and velocity values for an axis. |
|||
Stream file data into HAL in real time. |
|||
Set output pins with values from parameters (deprecated). |
1.12.1. Other Hardware interfaces (Realtime)
Scales laser power output based upon velocity input power and distance to go |
|||
Stream HAL data to an LCD screen |
|||
Convert integers to HAL pins. Optionally scan a matrix of I/O ports to create those integers. |
1.12.2. Spindle related
Select from one of two speed ranges. |
|||
Provide a PID command input for orientation mode based on current spindle position, target angle and orient mode |
|||
Control a spindle with different acceleration and deceleration and optional gear change scaling |
|||
Spindle at-speed and underspeed detection |
1.12.3. Tool related
Orient a toolchanger carousel using various encoding schemes |
|||
HAL non-realtime component to enable manual tool changes&. |
1.13. Not categorized (auto generated from man pages)
A hostmot2 driver that implements the Modbus protocol using the PktUART ports&. |
|||
LinuxCNC HAL driver for the Mesa Electronics Anything IO boards with SPI enabled HostMot2 firmware&. |
|||
Utility for compiling hm2_modbus command control description files |
|||
millturn, millturngui - Vismach Virtual Machine GUI |
|||
send HAL pin data to MQTT broker periodically |
|||
Create a plasma materials file&. |
|||
Python script shipping with Plasmac, a Plasma cutting system&. |
|||
to link the Intellitek Scorbot educational robot to LinuxCNC |
|||
send input events based on pins or scancodes from HAL |
|||
compute temperature indicated by a thermistor |
1.14. Without man page or broken link (auto generated from component list)
hal_ppmc |
|||
pluto_servo |
|||
pluto_step |
2. HAL API calls
hal_add_funct_to_thread.3
hal_bit_t.3
hal_create_thread.3
hal_del_funct_from_thread.3
hal_exit.3
hal_export_funct.3
hal_export_functf.3
hal_float_t.3
hal_get_lock.3
hal_init.3
hal_link.3
hal_malloc.3
hal_param_bit_new.3
hal_param_bit_newf.3
hal_param_float_new.3
hal_param_float_newf.3
hal_param_new.3
hal_param_s32_new.3
hal_param_s32_newf.3
hal_param_u32_new.3
hal_param_u32_newf.3
hal_parport.3
hal_pin_bit_new.3
hal_pin_bit_newf.3
hal_pin_float_new.3
hal_pin_float_newf.3
hal_pin_new.3
hal_pin_s32_new.3
hal_pin_s32_newf.3
hal_pin_u32_new.3
hal_pin_u32_newf.3
hal_ready.3
hal_s32_t.3
hal_set_constructor.3
hal_set_lock.3
hal_signal_delete.3
hal_signal_new.3
hal_start_threads.3
hal_type_t.3
hal_u32_t.3
hal_unlink.3
hal.3
3. RTAPI calls
EXPORT_FUNCTION.3
MODULE_AUTHOR.3
MODULE_DESCRIPTION.3
MODULE_LICENSE.3
RTAPI_MP_ARRAY_INT.3
RTAPI_MP_ARRAY_LONG.3
RTAPI_MP_ARRAY_STRING.3
RTAPI_MP_INT.3
RTAPI_MP_LONG.3
RTAPI_MP_STRING.3
rtapi.3
rtapi_app_exit.3
rtapi_app_main.3
rtapi_clock_set_period.3
rtapi_delay.3
rtapi_delay_max.3
rtapi_exit.3
rtapi_get_clocks.3
rtapi_get_msg_level.3
rtapi_get_time.3
rtapi_inb.3
rtapi_init.3
rtapi_module_param.3
RTAPI_MP_ARRAY_INT.3
RTAPI_MP_ARRAY_LONG.3
RTAPI_MP_ARRAY_STRING.3
RTAPI_MP_INT.3
RTAPI_MP_LONG.3
RTAPI_MP_STRING.3
rtapi_mutex.3
rtapi_outb.3
rtapi_print.3
rtapi_prio.3
rtapi_prio_highest.3
rtapi_prio_lowest.3
rtapi_prio_next_higher.3
rtapi_prio_next_lower.3
rtapi_region.3
rtapi_release_region.3
rtapi_request_region.3
rtapi_set_msg_level.3
rtapi_shmem.3
rtapi_shmem_delete.3
rtapi_shmem_getptr.3
rtapi_shmem_new.3
rtapi_snprintf.3
rtapi_task_delete.3
rtapi_task_new.3
rtapi_task_pause.3
rtapi_task_resume.3
rtapi_task_start.3
rtapi_task_wait.3