v4.0.0 - Multi kinematics release
Klippain v4 is packed with a lot of new features, a better user-experience as everything is now much simpler, and a full revamped documentation !
Be careful: breaking changes!
The easiest way to update from Klippain v3.x to v4.0.0 is to install again from scratch and apply your overrides, variables and custom configs back in the new templates (it should be easy and quick). To trigger a new installation, just remove the .VERSION
file in your config folder and call again the install.sh
script.
If for some reason you still want to keep your old config, please have a look at the breaking changes section at the end to solve them manually.
New features and changes
- Reworked all Klippain installation and configuration documentation to make it more user friendly! (275adcb 182c667 fe82161 f010c65 d98b150)
- Added complete Input Shaper results interpretation documentation to help you understand the different graphs and tune your machine correctly (2c41a77 f4ce997)
- Added multi-kinematics support: Klippain can now run on Cartesian or CoreXZ printers while also supporting virtual probe types! This also means official support for the Voron Switchwire! (f20f395 e2e8408 7a93165)
- This also allowed the addition of multi-TMC support, allowing a different TMC to be selected for each axis and extruder! (333d802 e2e8408)
- Custom
START_PRINT
modules are available for advanced users who want to perform some "custom actions" in theirSTART_PRINT
routine (9d74301 82ef7c2 b17139f) - Added Orbiter2.0 extruder support (27de9b0 6cc9dcb)
- The prime line has been modified to be more efficient. Now it's smaller and thicker, which makes it easier to remove the extruded plastic from the bed. Another point is that it allows to work on V0 and small beds. Finally, everything is easy to set up and Klippain will take care of the firmware limits to adjust the prime line parameters on the fly to avoid errors or to make sure the prime line sticks to the bed and is not too thin! (b2916dc ec9a581)
- Updated Marlin compatibility macros and added an
M900
macro mapped to the Klipper pressure advance (5d68624) - Full rework of the ERCF integration. Now Klippain is natively compatible with the HappyHare software backend (1ea04e3)
- Added an "extruder pre-heating" module to specify when you want to do the first preheat in the
START_PRINT
sequence (ed9a293 16013f4 f46dea7) - Added support for new toolhead boards: BTT SB2209 and BTT SB2240 (41dee4b b6f36a5 25e0dba 2e6b912 f783b29 2f48c58)
- Added support for BTT SKR Pico v1.0 MCU (c965fd7)
- Added support for BTT SKR E3 mini v3 MCU (f68abff 1ffd213)
- Added BTT Manta v1.0 and v1.1 MCU templates (a324734)
- Added a Klippain startup check system to validate certain incompatibilities in the user config and to perform some initializations (9068790 b6f36a5 ca4e3c9 6f4980f ad5d75e)
-Improved the heatsoak phase of bed and chamber to avoid unnecessary movements when already at temperature (d9f2a19) - Virtual probe types will now home directly to the center of the mesh (RRI position) if one is calculated. If it doesn't, it will fall back to the center of the bed as before (00d9d6e d661c51)
- Automated installation of the
gcode_shell_command.py
plugin during Klippain installation. This plugin is required for Klippain to work correctly and was previously installed manually using KIAUH by everyone (02a8be5 1a0acd4) - Added a variable to allow customization of the ooze time after purging some filament over the bucket (79a86b2)
- Added Beacon as a virtual probe option in Klippain. Now it's fully supported, you just need to add the plugin to Klipper, enable the file in printer.cfg and add the appropriate
[beacon]
section to youroverrides.cfg
(2aab855)
Bugfixes and tweaks
- Increased RPi temperature check to 95°C (instead of the previous 70°C, which could cause false "overheat" errors (fc75162)
- Fixed the
START_PRINT
action override in theoverride.cfg
user template. Now it should work correctly if you uncomment it (it was missing the macro header and thegcode:
line). But be sure to get the latest version of the template (47487b4) - Commented the
[stepper_x]
default override that was automatically injected when running a toolhead MCU. This is to allow sensorless homing to work correctly (you can always uncomment the override if you are not using sensorless (eb5083f) - Updated the Auto Z calibration configuration file to follow the config changes in v1.0.0 of the plugin (512a56d)
- Fixed the
plot_graph.sh
script to account for a bug introduced in Klippain v3: if the resonance measurement position is added to the filename, it is now removed by the script before processing to allow correct behavior and correct naming of the file in the results folder (f1cf77a) - Fixed the race condition in the input shaper workflow that could happen on slow SD card, Pi clone or cheap alternatives when running the belts test and resulted in csv files but no png images generated and an error in the console (e40edf2)
- The Input Shaper workflow macro has been fixed to allow the use of default parameters. This also fixes a rare bug where a wrong frequency per Hz value was used after trying to use EXCITATE_AXIS_AT_FREQ (c7d8b2b fea91cd)
- Fixed
position_endstop
invalid when using the combination of TAP on Trident (670551a) - Fixed the BTT SKR E3 mini v2 template that was partially broken (e160a2c)
- Updated a broken link in the adaptive bed mesh documentation (621bd93)
- Updated all MCU templates to include pin remapping directly, as these are "static" overrides and it makes sense to put them directly in the
mcu.cfg
file instead of theoverrides.cfg
file. This has no impact on the functionality, but helps to keep the `overrides.cfg' file clean (d704ac9 efcce55) - Added a necessary user confirmation during the first installation of Klippain to avoid "accidental" installation of the system and fixed a bug when the user would install Klippain without first wiping his old config, which would leave some file artifacts (now everything is correctly wiped automatically after the backup). (74654cc)
- Fixed a bug that occurred when no heatbed was defined. Now it's ok to have a printer that doesn't have one (f20f395)
- Deleted the default initial_angle used in servo files as it's not needed and could cause potential problems (6979609)
- Refactored the BTT SKR Mini E3 boards filenames to be more in line with the market product names (3f65109)
- Added a G28 Z after the tilt calibration to get a new and correct Z origin. This was lost during the big change of the monolitic
START_PRINT
to the modular system. This step is mandatory to avoid missing the brush or other components if the machine is subject to high gantry sag at motor shutdown (cfb29b9) - Fixed the Mellow Fly ERCF MCU template (cc4ee87)
- G28 Z with XY already homed will now behave correctly and only home Z without forcing a full G28 as was previously the case. (a5bea10)
Breaking changes
- You will need to get the new printer.cfg base template to get the new kinematics and virtual probe includes. Also, please look at the whole file as there has been a lot of refactoring to allow for multi-kinematics and some of the includes have changed their names and paths.
- You will also need to get the new mcu.cfg base template to have the new TMC includes available. You should also update the MCU parts corresponding to your boards as the
[include config/mcu_definitions/... ]
line has changed for all of them. - You also need to add or update some variables in your
variables.cfg
file (even if not using the feature!):
https://github.com/Frix-x/klippain/blob/4baf0ea6aec60c3959693b95e531a336bea9a906/user_templates/variables.cfg#L57-L62
https://github.com/Frix-x/klippain/blob/4baf0ea6aec60c3959693b95e531a336bea9a906/user_templates/variables.cfg#L176-L183
https://github.com/Frix-x/klippain/blob/4baf0ea6aec60c3959693b95e531a336bea9a906/user_templates/variables.cfg#L199 - If already using the BTT SKR Mini E3 v2 MCU, you will need to update your
mcu.cfg
file by replacing the content to the new SKR E3 mini template inside