You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Complete removal of the uses_fp parameter for 2.10. All threads
now unconditionally save and restore FPU/SSE state.
RTAPI: remove uses_fp from rtapi_task_new(), remove RTAPI_NO_FP
and RTAPI_USES_FP constants, hardcode FPU save in rt_task_init_cpuid.
HAL: remove uses_fp from hal_export_funct(), hal_export_functf(),
hal_create_thread(). Remove uses_fp field from hal_funct_t and
hal_thread_t structs. Remove addf FP compatibility check.
Remove FP column from halcmd and halrmt display.
Components: remove uses_fp argument from all hal_export_funct
and hal_export_functf call sites. Remove base_thread_fp from
motion module, fp1/fp2/fp3 from threads component.
halcompile: remove OptFP grammar rule, fp/nofp parsing, and
fp-related code generation and documentation output. Remove
fp/nofp from all in-tree .comp files, conv.comp.in and mkconv.sh.
Documentation: remove uses_fp from API man pages, remove FP
thread references from tutorials and guides.
Out-of-tree components must be updated to the new API signatures.
Ref: #3895
This thread handles items that need a fast response, like making step pulses, and reading and writing the parallel port.
86
-
Does not support floating point math.
87
84
- servo-thread (the slow-speed thread):
88
-
This thread handles items that can tolerate a slower response, like the motion controller, ClassicLadder, and the motion command handler and supports floating point math.
85
+
This thread handles items that can tolerate a slower response, like the motion controller, ClassicLadder, and the motion command handler.
89
86
90
87
.addf Syntax and Example
91
88
[source,{hal}]
@@ -94,9 +91,6 @@ addf <function> <thread>
94
91
addf mux4.0 servo-thread
95
92
----
96
93
97
-
[NOTE]
98
-
If the component requires a floating point thread that is usually the slower servo-thread.
Each function acts on all of the step pulse generators - running different generators in different threads is not supported.
164
164
165
-
* (funct) `stepgen.make-pulses` - High speed function to generate and count pulses (no floating point).
165
+
* (funct) `stepgen.make-pulses` - High speed function to generate and count pulses.
166
166
* (funct) `stepgen.update-freq` - Low speed function does position to velocity conversion, scaling and limiting.
167
167
* (funct) `stepgen.capture-position` - Low speed function for feedback, updates latches and scales position.
168
168
@@ -258,7 +258,7 @@ Each PWM generator will also have some of these pins, depending on the output ty
258
258
259
259
The component exports two functions. Each function acts on all of the PWM generators - running different generators in different threads is not supported.
260
260
261
-
* (funct) `pwmgen.make-pulses` - High speed function to generate PWM waveforms (no floating point).
261
+
* (funct) `pwmgen.make-pulses` - High speed function to generate PWM waveforms.
262
262
The high speed function `pwmgen.make-pulses` should be run in the base (fastest) thread, from 10 to 50 µs depending on the capabilities of the computer.
263
263
That thread's period determines the maximum PWM carrier frequency, as well as the resolution of the PWM or PDM signals.
264
264
If the base thread is 50,000 ns then every 50 µs the module decides if it is time to change the state of the output.
@@ -361,7 +361,7 @@ halcmd: unloadrt encoder
361
361
The component exports two functions.
362
362
Each function acts on all of the encoder counters - running different counters in different threads is not supported.
363
363
364
-
* (funct) `encoder.update-counters` - High speed function to count pulses (no floating point).
364
+
* (funct) `encoder.update-counters` - High speed function to count pulses.
365
365
* (funct) `encoder.capture-position` - Low speed function to update latches and scale position.
366
366
367
367
[[sec:pid]]
@@ -515,7 +515,7 @@ Most encoder counters will count four times during one complete cycle.
515
515
516
516
The component exports two functions. Each function affects all simulated encoders.
517
517
518
-
* (funct) `sim-encoder.make-pulses` - High speed function to generate quadrature pulses (no floating point).
518
+
* (funct) `sim-encoder.make-pulses` - High speed function to generate quadrature pulses.
519
519
* (funct) `sim-encoder.update-speed` - Low speed function to read `.speed`, do scaling, and set up `.make-pulses`.
0 commit comments