aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-09-03 20:33:00 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-09-03 20:55:53 -0400
commitac3aa097fb62cfd4c642a4598478ce28c822fafc (patch)
tree790d769b9d47f6dffa6849085114746cd8c2bc6c
parentef6068dc428ed86442407cc59d1724bb242d5ba4 (diff)
downloadkutter-ac3aa097fb62cfd4c642a4598478ce28c822fafc.tar.gz
kutter-ac3aa097fb62cfd4c642a4598478ce28c822fafc.tar.xz
kutter-ac3aa097fb62cfd4c642a4598478ce28c822fafc.zip
docs: Features.md updates
Add information on new features in Klipper. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rwxr-xr-xdocs/Features.md105
1 files changed, 70 insertions, 35 deletions
diff --git a/docs/Features.md b/docs/Features.md
index bf4d9319..a2b40285 100755
--- a/docs/Features.md
+++ b/docs/Features.md
@@ -20,6 +20,15 @@ Klipper has several compelling features:
stepper event timing remains precise even at high speeds which
improves overall stability.
+* Klipper supports printers with multiple micro-controllers. For
+ example, one micro-controller could be used to control an extruder,
+ while another controls the printer's heaters, while a third controls
+ the rest of the printer. The Klipper host software implements clock
+ synchronization to account for clock drift between
+ micro-controllers. No special code is needed to enable multiple
+ micro-controllers - it just requires a few extra lines in the config
+ file.
+
* Configuration via simple config file. There's no need to reflash the
micro-controller to change a setting. All of Klipper's configuration
is stored in a standard config file which can be easily edited. This
@@ -33,37 +42,22 @@ Klipper has several compelling features:
* Simpler code. Klipper uses a very high level language (Python) for
most code. The kinematics algorithms, the G-code parsing, the
- heating and thermistor algorithms, etc. are all written in
- Python. This makes it easier to develop new functionality.
+ heating and thermistor algorithms, etc. are all written in Python.
+ This makes it easier to develop new functionality.
-* Advanced features:
- * Klipper implements the "pressure advance" algorithm for
- extruders. When properly tuned, pressure advance reduces extruder
- ooze.
- * Klipper supports printers with multiple micro-controllers. For
- example, one micro-controller could be used to control an
- extruder, while another could control the printer's heaters, while
- a third controls the rest of the printer. The Klipper host
- software implements clock synchronization to account for clock
- drift between micro-controllers. No special code is needed to
- enable multiple micro-controllers - it just requires a few extra
- lines in the config file.
- * Klipper also implements a novel "stepper phase endstop" algorithm
- that can dramatically improve the accuracy of typical endstop
- switches. When properly tuned it can improve a print's first layer
- bed adhesion.
- * Support for limiting the top speed of short "zigzag" moves to
- reduce printer vibration and noise. See the
- [kinematics](Kinematics.md) document for more information.
+* Klipper uses an "iterative solver" to calculate precise step times
+ from simple kinematic equations. This makes porting Klipper to new
+ types of robots easier and it keeps timing precise even with complex
+ kinematics (no "line segmentation" is needed).
-To get started with Klipper, read the [installation](Installation.md)
-guide.
-
-Common features supported by Klipper
-====================================
+Additional features
+===================
Klipper supports many standard 3d printer features:
+* Klipper implements the "pressure advance" algorithm for extruders.
+ When properly tuned, pressure advance reduces extruder ooze.
+
* Works with Octoprint. This allows the printer to be controlled using
a regular web-browser. The same Raspberry Pi that runs Klipper can
also run Octoprint.
@@ -72,16 +66,56 @@ Klipper supports many standard 3d printer features:
typical "slicers" are supported. One may continue to use Slic3r,
Cura, etc. with Klipper.
-* Constant speed acceleration support. All printer moves will
- gradually accelerate from standstill to cruising speed and then
- decelerate back to a standstill.
+* Support for multiple extruders. Extruders with shared heaters and
+ extruders on independent carriages (IDEX) are also supported.
+
+* Support for cartesian, delta, and corexy style printers.
+
+* Automatic bed leveling support. Klipper can be configured for basic
+ bed tilt detection or full mesh bed leveling. If the bed uses
+ multiple Z steppers then Klipper can also level by independently
+ manipulating the Z steppers. Most Z height probes are supported,
+ including servo activated probes.
+
+* Automatic delta calibration support. The calibration can be done
+ with a Z height probe or via manual probing.
+
+* Support for common temperature sensors (eg, common thermistors,
+ AD595, PT100, MAX6675, MAX31855, MAX31856, MAX31865). Custom
+ thermistors and custom analog temperature sensors can also be
+ configured.
-* "Look-ahead" support. The incoming stream of G-Code movement
- commands are queued and analyzed - the acceleration between
+* Basic thermal heater protection enabled by default.
+
+* Support for standard fans, nozzle fans, and temperature controlled
+ fans. No need to keep fans running when the printer is idle.
+
+* Support for run-time configuration of TMC2130, TMC2208, and TMC2224
+ stepper motor drivers.
+
+* Support for common LCD displays attached directly to the printer. A
+ default menu is also available.
+
+* Constant acceleration and "look-ahead" support. All printer moves
+ will gradually accelerate from standstill to cruising speed and then
+ decelerate back to a standstill. The incoming stream of G-Code
+ movement commands are queued and analyzed - the acceleration between
movements in a similar direction will be optimized to reduce print
stalls and improve overall print time.
-* Support for cartesian, delta, and corexy style printers.
+* Klipper implements a "stepper phase endstop" algorithm that can
+ improve the accuracy of typical endstop switches. When properly
+ tuned it can improve a print's first layer bed adhesion.
+
+* Support for limiting the top speed of short "zigzag" moves to reduce
+ printer vibration and noise. See the [kinematics](Kinematics.md)
+ document for more information.
+
+* Sample configuration files are available for many common printers.
+ Check the [config directory](../config/) for a list.
+
+To get started with Klipper, read the [installation](Installation.md)
+guide.
Step Benchmarks
===============
@@ -98,10 +132,11 @@ represent total number of steps per second on the micro-controller.
| Arduino Due (ARM SAM3X8E) | 382K | 337K |
| Smoothieboard (ARM LPC1768) | 385K | 385K |
| Smoothieboard (ARM LPC1769) | 462K | 462K |
-| Duet Wifi/Eth (ARM SAM4E8E) | 475K | 475K |
+| SAM4E8E ARM | 475K | 475K |
| Beaglebone PRU | 689K | 689K |
On AVR platforms, the highest achievable step rate is with just one
stepper stepping. On the STM32F103, Arduino Zero, and Due, the highest
-step rate is with two simultaneous steppers stepping. On the PRU, SAM4E8E and
-LPC176x, the highest step rate is with three simultaneous steppers.
+step rate is with two simultaneous steppers stepping. On the PRU,
+SAM4E8E, and LPC176x the highest step rate is with three simultaneous
+steppers.