1.8 KiB

Macros

Hidden by the interface

All gcode_macros with the attribute rename_existing are hidden , because these are default Klipper Gcodes and these should be implemented in KlipperScreen itself with buttons already. This is the same behaiviour of other UIs

LOAD_FILAMENT and UNLOAD_FILAMENT are also hidden

Hide Macros

Macros can be completely hidden in the interface by prefixing the name with an underscore.

[gcode_macro MY_AWESOME_GCODE]
gcode:
    _MY_HELPER_CODE

[gcode_macro _MY_HELPER_CODE]
gcode:
    M300

MY_AWESOME_GCODE appears in your interface settings, but _MY_HELPER_CODE does not.

Extrude Panel

LOAD_FILAMENT / UNLOAD_FILAMENT

This macros are used in the Extrude panel Load and Unload buttons. and they will be hidden from the macros panel.

The selected speed in the panel is transferred as a parameter.

The following examples show how this can be used:

[gcode_macro LOAD_FILAMENT]
gcode:
    {% set speed = params.SPEED|default(300) %}
    {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity %}
    SAVE_GCODE_STATE NAME=load_state
    M300 # beep
    G91
    G92 E0
    G1 E350 F{max_velocity * 60} # fast-load
    G1 E25 F{speed} # purge
    M300
    M300
    RESTORE_GCODE_STATE NAME=load_state
[gcode_macro UNLOAD_FILAMENT]
gcode:
    {% set speed = params.SPEED|default(300) %}
    {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity %}
    SAVE_GCODE_STATE NAME=unload_state
    G91
    M300 # beep
    G92 E0
    G1 E25 F{speed} # purge
    G1 E-420 F{max_velocity * 60} # fast-unload
    M300
    M300
    RESTORE_GCODE_STATE NAME=unload_state