Deploying to gh-pages from @ Klipper3d/klipper@dfa666d9c1 🚀

This commit is contained in:
KevinOConnor 2025-09-24 19:11:02 +00:00
parent 3d4126c4cc
commit 9220887224
14 changed files with 14 additions and 12 deletions

View file

@ -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() -&gt;
PrinterMotionQueuing._advance_move_time() -&gt;
steppersync_start_gen_steps() -&gt;
stepcompress_start_gen_steps()</code>. The step times are then generated
from that thread (klippy/chelper/stepcompress.c):
<code>sc_background_thread() -&gt; stepcompress_generate_steps() -&gt;
steppersyncmgr_gen_steps() -&gt; 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() -&gt; se_generate_steps() -&gt;
itersolve_generate_steps() -&gt; 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