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>
 | 
					  with head movement even though the code is kept separate.</li>
 | 
				
			||||||
</ul>
 | 
					</ul>
 | 
				
			||||||
<ul>
 | 
					<ul>
 | 
				
			||||||
<li>Klipper uses an
 | 
					<li>For efficiency reasons, stepper motion is generated in the C code in
 | 
				
			||||||
  <a href="https://en.wikipedia.org/wiki/Root-finding_algorithm">iterative solver</a>
 | 
					  a thread per stepper motor. The threads are notified when steps
 | 
				
			||||||
  to generate the step times for each stepper. For efficiency reasons,
 | 
					  should be generated by the motion_queuing module
 | 
				
			||||||
  the stepper pulse times are generated in C code in a thread per
 | 
					  (klippy/extras/motion_queuing.py):
 | 
				
			||||||
  stepper motor. The threads are notified of new activity by the
 | 
					 | 
				
			||||||
  motion_queuing module (klippy/extras/motion_queuing.py):
 | 
					 | 
				
			||||||
  <code>PrinterMotionQueuing._flush_handler() ->
 | 
					  <code>PrinterMotionQueuing._flush_handler() ->
 | 
				
			||||||
  PrinterMotionQueuing._advance_move_time() ->
 | 
					  PrinterMotionQueuing._advance_move_time() ->
 | 
				
			||||||
  steppersync_start_gen_steps() ->
 | 
					  steppersyncmgr_gen_steps() -> se_start_gen_steps()</code>.</li>
 | 
				
			||||||
  stepcompress_start_gen_steps()</code>. The step times are then generated
 | 
					</ul>
 | 
				
			||||||
  from that thread (klippy/chelper/stepcompress.c):
 | 
					<ul>
 | 
				
			||||||
  <code>sc_background_thread() -> stepcompress_generate_steps() ->
 | 
					<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
 | 
					  itersolve_generate_steps() -> itersolve_gen_steps_range()</code> (in
 | 
				
			||||||
  klippy/chelper/itersolve.c). The goal of the iterative solver is to
 | 
					  klippy/chelper/itersolve.c). The goal of the iterative solver is to
 | 
				
			||||||
  find step times given a function that calculates a stepper position
 | 
					  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
 | 
					  commands that correspond to the list of stepper step times built in
 | 
				
			||||||
  the previous stage. These "queue_step" commands are then queued,
 | 
					  the previous stage. These "queue_step" commands are then queued,
 | 
				
			||||||
  prioritized, and sent to the micro-controller (via
 | 
					  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>
 | 
				
			||||||
<ul>
 | 
					<ul>
 | 
				
			||||||
<li>Processing of the queue_step commands on the micro-controller starts
 | 
					<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