summaryrefslogtreecommitdiff
path: root/docs/src/hal/components_es.txt
blob: 3e2504d8eebc6b9ba64b5791fefb67041540df94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
= HAL Components

[[cha:HAL-components]] (((HAL Components)))

////
ATTENTION TRANSLATORS before translating this document copy the base document
into this copy to get the latest version. Untranslated documents are not kept
up to date with the English documents. 

Do not translate anchors or links, translate only the text of a link after the
comma.
Anchor [[anchor-name]]
Link <<anchor-name,text after the comma can be translated>>

Make sure the documents build after translating.
////

== Commands and Userspace Components[[sec: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.)
----
[horizontal]
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.

== Realtime Components[[sec: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.

[horizontal]
abs:: [[[sub:abs]](((abs)))Compute the absolute value and sign of the input signal. 

and2:: (((and2)))Two-input AND gate. For out to be true both inputs must be true. 

at_pid:: (((at_pid)))Proportional/integral/derivative controller with auto tuning. 

axis:: (((axis)))Accepts NML motion commands, interacts with HAL in realtime. 

biquad:: (((biquad)))Biquad IIR filter

bldc_hall3:: (((bldc_hall3)))3-wire Bipolar trapezoidal commutation BLDC motor driver using Hall sensors. 

blend:: (((blend)))Perform linear interpolation between two values. 

charge_pump:: (((charge_pump)))Create a square-wave for the 'charge pump' input of some controller boards. 

clarke2:: (((clarke2)))Two input version of Clarke transform. 

clarke3:: (((clarke3)))Clarke (3 phase to cartesian) transform. 

clarkeinv:: (((clarkeinv)))Inverse Clarke transform. 

classicladder:: (((classicladder)))Realtime software PLC based on ladder logic. See Classic Ladder manual for more information. 

comp:: (((comp)))Two input comparator with hysteresis. 

constant:: (((constant)))Use a parameter to set the value of a pin. 

conv_bit_s32:: (((conv_bit_s32)))Convert a value from bit to s32. 

conv_bit_u32:: (((conv_bit_u32)))Convert a value from bit to u32. 

conv_float_s32:: (((conv_float_s32)))Convert a value from float to s32. 

conv_float_u32:: (((conv_float_u32)))Convert a value from float to u32. 

conv_s32_bit:: (((conv_s32_bit)))Convert a value from s32 to bit. 

conv_s32_float:: (((conv_s32_float)))Convert a value from s32 to float. 

conv_s32_u32:: (((conv_s32_u32)))Convert a value from s32 to u32. 

conv_u32_bit:: (((conv_u32_bit)))Convert a value from u32 to bit. 

conv_u32_float:: (((conv_u32_float)))Convert a value from u32 to float. 

conv_u32_s32:: (((conv_u32_s32)))Convert a value from u32 to s32. 

counter:: (((counter)))Counts input pulses (deprecated).
Use the 'encoder' component See <<sec:Encoder>>. 

ddt:: (((ddt)))Compute the derivative of the input function. 

deadzone:: (((deadzone)))Return the center if within the threshold. 

debounce:: (((debounce)))Filter noisy digital inputs, for more information see <<sec:Debounce>>. 

edge:: (((edge)))Edge detector. 

encoder:: (((encoder)))Software counting of quadrature encoder signals, for more information
see <<sec:Encoder>>. 

encoder_ratio:: (((encoder_ratio)))An electronic gear to synchronize two axes. 

estop_latch:: (((estop_latch)))ESTOP latch. 

feedcomp:: (((feedcomp)))Multiply the input by the ratio of current velocity to the feed rate. 

flipflop:: (((flipflop)))D type flip-flop. 

gantrykins:: (((gantrykins)))A kinematics module that maps one axis to multiple joints. 

gearchange:: (((gearchange)))Select from one of two speed ranges. 

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

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

gladevcp:: (((gladevcp)))Displays Virtual Control Panels built with GTK/Glade. 

hm2_7i43:: (((hm2_7i43)))HAL driver for the Mesa Electronics 7i43 EPP Anything IO board with
HostMot2. 

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

hostmot2:: (((hostmot2)))HAL driver for the Mesa Electronics HostMot2 firmware. 

hypot:: (((hypot)))Three-input hypotenuse (Euclidean distance) calculator. 

ilowpass:: (((ilowpass)))Low-pass filter with integer inputs and outputs. 

integ:: (((integ)))Integrator. 

invert:: (((invert)))Compute the inverse of the input signal. 

joyhandle:: (((joyhandle)))Sets nonlinear joypad movements, deadbands and scales. 

kins:: (((kins)))kinematics definitions for LinuxCNC. 

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

limit1:: (((limit1)))Limit the output signal to fall between min and max. footnote:[When the input 
is a position, this means that the 'position' is limited.] 

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

limit3:: (((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. footnote:[When 
the input is a position, this means that the 'position', 'velocity', and 
'acceleration' are limited.]

logic:: (((logic)))Experimental general logic function component. 

lowpass:: (((lowpass)))Low-pass filter

lut5:: (((lut5)))Arbitrary 5-input logic function based on a look-up table. 

maj3:: (((maj3)))Compute the majority of 3 inputs. 

match8:: (((match8)))8-bit binary match detector. 

maxkins:: (((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:: (((7i65)))Support for the Mesa 7i65 eight-axis servo card. 

minmax:: (((minmax)))Track the minimum and maximum values of the input to the outputs. 

motion:: (((motion)))Accepts NML motion commands, interacts with HAL in realtime. 

mult2:: (((mult2)))Product of two inputs. 

mux16:: (((mux16)))Select from one of sixteen input values. 

mux2:: (((mux2)))Select from one of two input values. 

mux4:: (((mux4)))Select from one of four input values. 

mux8:: (((mux8)))Select from one of eight input values. 

near:: (((near)))Determine whether two values are roughly equal. 

not:: (((not)))Inverter. 

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

oneshot:: (((oneshot)))One-shot pulse generator. 

or2:: (((or2)))Two-input OR gate. 

pid:: (((pid)))Proportional/integral/derivative controller, for more information 
see <<sec:PID>>. 

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

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

pumakins:: (((pumakins)))Kinematics for PUMA-style robots. 

pwmgen:: (((pwmgen)))Software PWM/PDM generation, for more information see  <<sec:PWMgen>>. 

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

sample_hold:: (((sample_hold)))Sample and Hold. 

sampler:: (((sampler)))Sample data from HAL in real time. 

scale:: (((scale)))Applies a scale and offset to its input. 

scarakins:: (((scarakins)))Kinematics for SCARA-type robots. 

select8:: (((select8)))8-bit binary match detector. 

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

siggen:: (((siggen)))Signal generator, for more information see <<sec:Siggen>>. 

sim_encoder:: (((sim_encoder)))Simulated quadrature encoder, for more information see <<sec:Simulated-Encoder>>. 

sphereprobe:: (((sphereprobe)))Probe a pretend hemisphere. 

stepgen:: (((stepgen)))Software step pulse generation, for more information see <<sec:Stepgen>>. 

steptest:: (((steptest)))Used by Stepconf to allow testing of acceleration and velocity values for an axis. 

streamer:: (((streamer)))Stream file data into HAL in real time. 

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

supply:: (((supply)))Set output pins with values from parameters (deprecated). 

thc:: (((torch height control)))Torch Height Control using a Mesa THC card.

threads:: (((threads)))Creates hard realtime HAL threads. 

threadtest:: (((threadtest)))Component for testing thread behavior. 

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

timedelay:: (((timedelay)))The equivalent of a time-delay relay. 

timedelta:: (((timedelta)))Component that measures thread scheduling timing behavior. 

toggle2nist:: (((toggle2nist)))Toggle button to nist logic. 

toggle:: (((toggle)))Push-on, push-off from momentary pushbuttons. 

tripodkins:: (((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:: (((tristate_bit)))Place a signal on an I/O pin only when enabled, similar to a tristate
buffer in electronics. 

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

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

updown:: (((updown)))Counts up or down, with optional limits and wraparound behavior. 

watchdog:: (((watchdog)))Monitor one to thirty-two inputs for a 'heartbeat'. 

wcomp:: (((wcomp)))Window comparator. 

weighted_sum:: (((weighted_sum)))Convert a group of bits to an integer. 

xor2:: (((xor2)))Two-input XOR (exclusive OR) gate. 

== 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
....

== 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
....