mirror of
https://github.com/Klipper3d/klipper.git
synced 2026-01-07 07:17:45 -07:00
Deploying to gh-pages from @ Klipper3d/klipper@dfa666d9c1 🚀
This commit is contained in:
parent
3d4126c4cc
commit
9220887224
14 changed files with 14 additions and 12 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue