Got the firmware to compile and produce something vaguely sensible.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
Motion control in an interrupt.
|
||||
|
||||
= Parts
|
||||
== Parts
|
||||
This consists of two parts, the planner and the executor.
|
||||
|
||||
The planner receives target positions. Each time it receives a target
|
||||
@@ -13,7 +13,7 @@ the step lines of the MCU.
|
||||
|
||||
These two processes communicate by means of a command queue.
|
||||
|
||||
== Executor
|
||||
=== Executor
|
||||
1. Update a cycle counter
|
||||
2. Evaluates the next output of the position polynomial (3 adds)
|
||||
3. determine whether to toggle a stepper, and do so.
|
||||
@@ -21,7 +21,7 @@ These two processes communicate by means of a command queue.
|
||||
|
||||
|
||||
|
||||
== Command queue
|
||||
=== Command queue
|
||||
|
||||
The command queue takes the form of a ring buffer, with each item
|
||||
containing a motion segment. The ring buffer must be large enough to
|
||||
@@ -40,9 +40,9 @@ A motion profile segment consists of the following values:
|
||||
The following invariants hold for the command queue:
|
||||
|
||||
|
||||
== Planner
|
||||
=== Planner
|
||||
|
||||
=== Aborting
|
||||
==== Aborting
|
||||
|
||||
In case of an abort, the fastest stop profile will consist of at most
|
||||
3 segments: const -jerk to max -a, const -a to to lead-out, const +j
|
||||
|
||||
Reference in New Issue
Block a user