Giter Club home page Giter Club logo

klippersettingsplugin's Introduction

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 [email protected].

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

klippersettingsplugin's People

Contributors

jjgraphix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

klippersettingsplugin's Issues

add pressure_advance_smooth_time

First of all, thank you for sharing the plugin! It is very helpful when working with multiple kinds of filament on the same printer.

May I suggest adding the parameter pressure_advance_smooth_time to the list of settings as well? I know it is usually not changed that much, but I found some filaments benefit from having it modified.

Thanks for your consideration and keep up the good work :)

Set preasure advance on Filament settings.

PA is variable with every filament you use.
If i Set IT in global settings i can also Set it in my printer.cfg every time i Change filaments.
It has more effort to Chain it to filaments or am i wrong?

cannot install in cura 5.3.1

i open the market place window, click install and nothing happens, is the plugin still compatible with cura 5.3.1?

L.E. the second i posted this and tried again it worked. sorry :)

Missing PA for top surface skin

Seperate pressure advance settings are available for all parts of the print except top surface skin (top/bottom does exist).

Z Offset Layer 0 feature resets before actually starting to print it

I'm using this plugin with Creality Ender 3 v3 KE and tried setting both the Z-offset, and z-offset for first layer. For a moment a z-offset being combination of both appears, then my printer starts printing a test line on the side of the bed, and after that it reverts z-offset to the value I've set, without the addition of the 1st layer one.
My start G-Code looks like this:

;Nozzle diameter = {machine_nozzle_size}
;Filament type = {material_type}
;Filament name = {material_name}
;Filament weight = {filament_weight}
; M190 S{material_bed_temperature_layer_0}
; M109 S{material_print_temperature_layer_0}

M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate

G28 ;Home

G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X-2.0 Y20 Z0.28 F5000.0 ;Move to start position
M109 S{material_print_temperature_layer_0}
G1 X-2.0 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X-1.7 Y145.0 Z0.28 F5000.0 ;Move to side a little
G1 X-1.7 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 E-1 F1800 ;Retract a bit
G1 Z2.0 F3000 ;Move Z Axis up
G1 E0 F1800

is there something in it messing with this plugin (if so please tell me what, and if I can safely disable it), or is it a bug?

I think it's doing this after drawing the test lines:

G1 X-1.7 Y145.0 Z0.28 F5000.0 ;Move to side a little
G1 X-1.7 Y20 Z0.28 F1500.0 E30 ;Draw the second line

is it the G92 E0 ;Reset Extruder command?

Unable to Slice in Cura 5.2.1

When using Pressure Advance Tuning Tower Preset with Apply Suggested Settings in Cura 5.2.1 I get unable to slice error. Seems to be referring to something to do with what the plugin is changing in settings.

Cannot set retraction settings per material

I wanted to set different retraction distance and speed per material using MaterialSettings plugin and these values cannot be set, because they are not defined as settable_per_extruder nor they have resolve function.

Would it be possible to change them?

Thank you!

Feature: custom settings or SET_GCODE_VARIABLE

I don't know whether this is even possible with the Cura plugin system, but it would be great to be able to add custom settings which would translate to gcode macro calls. You would have to specify a setting name, input parameter type, and the gcode template it translates to.

An example use case could be whether to enable KAMP (adaptive meshing) or use a pre-existing mesh profile. Or control LEDs, etc.

Alternatively, you could have a SET_GCODE_VARIABLE setting, which would take variable name, macro name, and value. You could then check for the values in your PRINT_START to call the functions you need and effectively achieve the same thing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.