/KlipperSettingsPlugin

Ultimaker Cura plugin to enable various settings and features specific to Klipper firmware.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

KlipperSettingsPlugin

Klipper Settings 1.0 is now available in the Cura Marketplace!
Thank you to everyone who helped with beta testing and provided feedback.

Plugin for Ultimaker Cura which adds a new Klipper Settings category with a number of Klipper-specific settings and features to the main settings list. Only compatible with Klipper firmware. All features are designed to work without the need for additional Klipper macros.

Klipper Settings is an evolution of my PressureAdvanceSettingPlugin, which is no longer supported. The new Klipper settings category includes improved Pressure Advance settings as well as a number of additional settings and features, including firmware retraction and calibration presets to initiate Klipper's Tuning Tower sequence. Most settings can be saved for indvidual material profiles using the Material Settings Plugin by FieldOfView.

Major Release Notes - v1.0.x

  • Z Offset Setting
  • Z Offset Layer 0 feature
  • Pressure Advance Smooth Time
  • Support for 3 Tuning Tower user presets
  • Pressure Advance preset calculates suggested factor value
  • Firmware retraction multi-extruder support
  • Firmware retraction uses Cura retraction values by default
  • Various bug fixes and UI improvements
  • Experimental Features:
    • Bed Mesh Calibrate
    • Klipper UI Preheat Support

Check setting visibility after updating from a previous version.

Latest Update Notes

  • Bug Fix v1.0.2
    • Setting definition compatibility for older versions
    • Fixed duplicate setting relations
    • Fixed changing machines with preset settings enabled
    • Smooth time not tied to pressure advance control
    • Final warnings now combined into single message
    • Minor fixes and setting cleanup

Previous Release Notes (Beta)

  • v0.8.0
    • Compatibility for Cura version 5
    • Adds new "Klipper Settings" category
    • Adds Klipper velocity limit settings
    • Pressure Advance supports per-object settings and multiple extruders
    • Simplified Tuning Tower settings
  • v0.9.0
    • Adds Klipper category icon
    • Firmware retraction settings
    • Input shaper settings
    • New presets feature for tuning tower:
      • Pressure Advance preset
      • Ringing Tower preset
    • Improved descriptions and setting behavior
    • Various bug fixes and improvements
  • v0.9.1
    • Fixed crashing in older Cura versions
    • Custom icon now only enabled for Cura 5.0+
    • Improved presets and backup behavior
  • v0.9.2
    • Fixed incorrect parameter in Pressure Advance Preset
    • Preset layer height now suggested from nozzle size

Cura Compatibility

Recommended to use Cura 5.0 (SDK 8.0.0) and newer.
Versions prior to 4.0.0 (SDK 6.0.0) are not supported and prior to 4.5.0 may not be compatible in the future. Testing may be limited in versions before Cura 5.0 so please report any issues if they are still needed.

Multiple extruders are supported for compatible settings.

How to Use

After installation the new Klipper Settings category will be hidden and appears at the bottom of setting visibility preferences. It's recommended to first enable visibility of every setting then hide whatever isn't needed later. If it's not appearing, try selecting the "All" settings preset. Options such as Apply Suggested Settings only appear when other settings are active and should be left visible.

Most setting values will remain applied after the print until the printer is restarted. Klipper config values cannot be modified by the plugin.

Example of Available Klipper Settings:
Tool tips explain why some values are negative by default.

image

See tool tips in Cura for descriptions of every setting.

I highly recommend Ghostkeeper's Settings Guide plugin to improve tool tip readability.

Feature Overview

  • Tuning Tower Calibration
    Klipper Tuning Tower settings can be used to fine tune a wide range of Klipper commands. Presets are available to run common Pressure Advance and Input Shaper calibrations. The Apply Suggested Settings option will automatically apply additional printer settings necessary for the calibration as defined in the Klipper documentation. Any changes to Cura settings are backed up and restored to their prior values when the tuning tower is disabled. Custom presets allow 3 unique tuning tower profiles to be saved for frequent calibrations.

    Example of tuning tower preset:

    image

  • Pressure Advance
    Klipper's pressure advance is used sharpen the appearance of corners, improve line width consistency and reduce ooze during non-extrude moves. This can be adjusted for multiple extruders, individual line types and different mesh objects in the same print. The Pressure Advance tuning tower preset can be used to tune these values as described in the Klipper documentation. Pressure Advance Smooth Time can also be adjusted for each print.

  • Firmware Retraction
    Enables the use of G10 and G11 firmware retraction gcode commands. The [firmware_retraction] section in Klipper configuration must first be enabled to use this feature. Cura's standard retraction settings are mirrored as the default values, allowing settings to easily be stored for individual materials. Multiple extruders are supported without needing additional macros. Settings for each extruder are applied immediately following gcode tool change commands (T0, T1, etc.).

  • Z Offset Control
    Due to the inherent risk, no setting will apply a permanent adjustment to an existing offset. The Initial Layer Z Offset feature applies SET_GCODE_OFFSET Z_ADJUST= before all gcode coordinates equal to the first layer height then instructs Klipper to revert the offset on the next z axis change, even if the print is stopped. For added safety, the maximum adjustment is +/- first layer height.
    The Override Z Offset option defines a total offset value with SET_GCODE_OFFSET Z= after the start gcode sequence. This overrides any existing z offset adjustment and will remain applied. Use caution when enabling these options.

    If both options are enabled, their effects will be combined for the first layer.

  • Input Shaper Control
    Controls settings associated with Klipper's resonance compensation. The Ringing Tower tuning tower preset can be used to manually tune these values as described in the Klipper documentation.

  • Velocity Limits Control
    Controls the printer's velocity and acceleration limits. Any changes will persist after the print has completed. These are generally not necessary to adjust outside of tuning tower calibrations.

  • Experimental Features
    New features in development which have been tested but may be modified or removed in the future. Read corresponding tool tips in Cura for more information. Most new feature requests will first be tested here moving forward.

Installation

Klipper Settings can now be installed directly from the Cura Marketplace.

After installing, enable visibility of all new settings in Cura preferences.

To Install/Update from Source Files:

- Download source .zip file from Github.
- Open Cura, click Help, Show Configuration Folder, then navigate to "plugins" folder and unpack .zip file.
- Rename the unpacked folder to "KlipperSettingsPlugin", removing Github suffix (e.g. "-main").
- Restart Cura and check settings visibility in preferences.

To update a previous version, simply replace all contents of the KlipperSettingsPlugin folder with the latest release.

More Info

For more information about Klipper firmware, see the official documentation at Klipper3D.org.

For questions or feedback, you can contact me directly at jjfx.contact@gmail.com.

If you wish to support my work, buying me a coffee on Ko-Fi is greatly appreciated.