mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-11-03 20:05:49 +01:00
Deploying to gh-pages from @ Klipper3d/klipper@dfa666d9c1 🚀
This commit is contained in:
@@ -1697,18 +1697,20 @@ C code.</li>
|
||||
with head movement even though the code is kept separate.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Klipper uses an
|
||||
<a href="https://en.wikipedia.org/wiki/Root-finding_algorithm">iterative solver</a>
|
||||
to generate the step times for each stepper. For efficiency reasons,
|
||||
the stepper pulse times are generated in C code in a thread per
|
||||
stepper motor. The threads are notified of new activity by the
|
||||
motion_queuing module (klippy/extras/motion_queuing.py):
|
||||
<li>For efficiency reasons, stepper motion is generated in the C code in
|
||||
a thread per stepper motor. The threads are notified when steps
|
||||
should be generated by the motion_queuing module
|
||||
(klippy/extras/motion_queuing.py):
|
||||
<code>PrinterMotionQueuing._flush_handler() ->
|
||||
PrinterMotionQueuing._advance_move_time() ->
|
||||
steppersync_start_gen_steps() ->
|
||||
stepcompress_start_gen_steps()</code>. The step times are then generated
|
||||
from that thread (klippy/chelper/stepcompress.c):
|
||||
<code>sc_background_thread() -> stepcompress_generate_steps() ->
|
||||
steppersyncmgr_gen_steps() -> se_start_gen_steps()</code>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Klipper uses an
|
||||
<a href="https://en.wikipedia.org/wiki/Root-finding_algorithm">iterative solver</a>
|
||||
to generate the step times for each stepper. The step times are
|
||||
generated from the background thread (klippy/chelper/steppersync.c):
|
||||
<code>se_background_thread() -> se_generate_steps() ->
|
||||
itersolve_generate_steps() -> itersolve_gen_steps_range()</code> (in
|
||||
klippy/chelper/itersolve.c). The goal of the iterative solver is to
|
||||
find step times given a function that calculates a stepper position
|
||||
@@ -1737,7 +1739,7 @@ C code.</li>
|
||||
commands that correspond to the list of stepper step times built in
|
||||
the previous stage. These "queue_step" commands are then queued,
|
||||
prioritized, and sent to the micro-controller (via
|
||||
stepcompress.c:steppersync and serialqueue.c:serialqueue).</li>
|
||||
steppersync.c:steppersync and serialqueue.c:serialqueue).</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Processing of the queue_step commands on the micro-controller starts
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
sitemap.xml.gz
BIN
sitemap.xml.gz
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user