mirror of https://github.com/Desuuuu/klipper.git
docs: Use only single space at start of new sentence
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
e177d4f70d
commit
a3162b17d9
|
@ -5,7 +5,7 @@ Klipper has several compelling features:
|
|||
movements. The application processor determines when to step each
|
||||
stepper motor, it compresses those events, transmits them to the
|
||||
micro-controller, and then the micro-controller executes each event
|
||||
at the requested time. Each stepper event is scheduled with a
|
||||
at the requested time. Each stepper event is scheduled with a
|
||||
precision of 25 micro-seconds or better. The software does not use
|
||||
kinematic estimations (such as the Bresenham algorithm) - instead it
|
||||
calculates precise step times based on the physics of acceleration
|
||||
|
|
|
@ -9,14 +9,14 @@ Acceleration
|
|||
|
||||
Klipper implements a constant acceleration scheme whenever the print
|
||||
head changes velocity - the velocity is gradually changed to the new
|
||||
speed instead of suddenly jerking to it. Klipper always enforces
|
||||
acceleration between the tool head and the print. The filament
|
||||
leaving the extruder can be quite fragile - rapid jerks and/or
|
||||
extruder flow changes lead to poor quality and poor bed adhesion. Even
|
||||
when not extruding, if the print head is at the same level as the
|
||||
print then rapid jerking of the head can cause disruption of recently
|
||||
deposited filament. Limiting speed changes of the print head (relative
|
||||
to the print) reduces risks of disrupting the print.
|
||||
speed instead of suddenly jerking to it. Klipper always enforces
|
||||
acceleration between the tool head and the print. The filament leaving
|
||||
the extruder can be quite fragile - rapid jerks and/or extruder flow
|
||||
changes lead to poor quality and poor bed adhesion. Even when not
|
||||
extruding, if the print head is at the same level as the print then
|
||||
rapid jerking of the head can cause disruption of recently deposited
|
||||
filament. Limiting speed changes of the print head (relative to the
|
||||
print) reduces risks of disrupting the print.
|
||||
|
||||
It is also important to enforce a maximum acceleration of the stepper
|
||||
motors to ensure they do not skip or put excessive stress on the
|
||||
|
@ -25,8 +25,8 @@ limiting the acceleration of the print head. Enforcing acceleration at
|
|||
the print head naturally also enforces acceleration at the steppers
|
||||
that control that print head (the inverse is not always true).
|
||||
|
||||
Klipper implements constant acceleration. The key formula for
|
||||
constant acceleration is:
|
||||
Klipper implements constant acceleration. The key formula for constant
|
||||
acceleration is:
|
||||
```
|
||||
velocity(time) = start_velocity + accel*time
|
||||
```
|
||||
|
@ -101,15 +101,15 @@ Smoothed look-ahead
|
|||
-------------------
|
||||
|
||||
Klipper also implements a mechanism for smoothing out the motions of
|
||||
short "zigzag" moves. Consider the following moves:
|
||||
short "zigzag" moves. Consider the following moves:
|
||||
|
||||
![zigzag](img/zigzag.svg.png)
|
||||
|
||||
In the above, the frequent changes from acceleration to deceleration
|
||||
can cause the machine to vibrate which causes stress on the machine
|
||||
and increases the noise. To reduce this, Klipper tracks both regular
|
||||
and increases the noise. To reduce this, Klipper tracks both regular
|
||||
move acceleration as well as a virtual "acceleration to deceleration"
|
||||
rate. Using this system, the top speed of these short "zigzag" moves
|
||||
rate. Using this system, the top speed of these short "zigzag" moves
|
||||
are limited to smooth out the printer motion:
|
||||
|
||||
![smoothed](img/smoothed.svg.png)
|
||||
|
@ -133,8 +133,8 @@ Generating steps
|
|||
Once the look-ahead process completes, the print head movement for the
|
||||
given move is fully known (time, start position, end position,
|
||||
velocity at each point) and it is possible to generate the step times
|
||||
for the move. This process is done within "kinematic classes" in the
|
||||
Klipper code. Outside of these kinematic classes, everything is
|
||||
for the move. This process is done within "kinematic classes" in the
|
||||
Klipper code. Outside of these kinematic classes, everything is
|
||||
tracked in millimeters, seconds, and in cartesian coordinate space.
|
||||
It's the task of the kinematic classes to convert from this generic
|
||||
coordinate system to the hardware specifics of the particular printer.
|
||||
|
@ -223,7 +223,7 @@ acceleration and velocity.
|
|||
Extruder kinematics
|
||||
-------------------
|
||||
|
||||
Klipper implements extruder motion in its own kinematic class. Since
|
||||
Klipper implements extruder motion in its own kinematic class. Since
|
||||
the timing and speed of each print head movement is fully known for
|
||||
each move, it's possible to calculate the step times for the extruder
|
||||
independently from the step time calculations of the print head
|
||||
|
|
|
@ -262,7 +262,7 @@ Stepper commands
|
|||
|
||||
* `stepper_get_position oid=%c` : This command causes the
|
||||
micro-controller to generate a "stepper_position" response message
|
||||
with the stepper's current position. The position is the total
|
||||
with the stepper's current position. The position is the total
|
||||
number of steps generated with dir=1 minus the total number of steps
|
||||
generated with dir=0.
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ as a blob when the head slows down to corner.
|
|||
|
||||
The next step is to set pressure_advance_lookahead_time to 0.0, slowly
|
||||
increase pressure_advance (eg, start with 0.05), and reprint the test
|
||||
object. (Be sure to issue RESTART between each config change.) The
|
||||
object. (Be sure to issue RESTART between each config change.) The
|
||||
goal is to attempt to eliminate the blobbing during cornering. (With
|
||||
pressure advance, the extruder will retract when the head slows down,
|
||||
thus countering the pressure buildup and ideally eliminate the
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
The Klipper messaging protocol is used for low-level communication
|
||||
between the Klipper host software and the Klipper micro-controller
|
||||
software. At a high level the protocol can be thought of as a series
|
||||
software. At a high level the protocol can be thought of as a series
|
||||
of command and response strings that are compressed, transmitted, and
|
||||
then processed at the receiving side. An example series of commands in
|
||||
uncompressed human-readable format might look like:
|
||||
|
@ -112,7 +112,7 @@ to generate and format arbitrary messages for human consumption.
|
|||
Declaring constants
|
||||
-------------------
|
||||
|
||||
Constants can also be exported. For example, the following:
|
||||
Constants can also be exported. For example, the following:
|
||||
|
||||
```
|
||||
DECL_CONSTANT(SERIAL_BAUD, 250000);
|
||||
|
@ -133,7 +133,7 @@ Message Blocks
|
|||
|
||||
All data sent from host to micro-controller and vice-versa are
|
||||
contained in "message blocks". A message block has a two byte header
|
||||
and a three byte trailer. The format of a message block is:
|
||||
and a three byte trailer. The format of a message block is:
|
||||
|
||||
```
|
||||
<1 byte length><1 byte sequence><n-byte content><2 byte crc><1 byte sync>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
There are several features still to be implemented in Klipper. In no
|
||||
There are several features still to be implemented in Klipper. In no
|
||||
particular order:
|
||||
|
||||
Host user interaction
|
||||
|
|
Loading…
Reference in New Issue