Converting to Dynamic Macros
Follow this tutorial to convert your standard gcode_macro
to a Dynamic Macro.
printer.cfg
First, remove the include
line in your printer.cfg
referencing the file your macros are in. For example, if your macros are in macros.cfg
, remove the line:
from your printer.cfg
.
Dynamic Macros Configuration
Next, if you don't already have one, create a [dynamicmacros]
config section in your printer.cfg
and add your macro configuration to it:
printer.cfg | |
---|---|
Interface Workaround (old Fluidd, KlipperScreen, Macro parameters)
If your Fluidd/Mainsail macros list is empty, your macro parameters don't show up in your favorite UI, or your dynamic macros don't appear in KlipperScreen's macros list, you can add the following parameter to your [dynamicmacros]
config section:
KlipperScreen
If you convert your LOAD_FILAMENT
and UNLOAD_FILAMENT
macros to be dynamic, KlipperScreen may not recognize them and report an error. To fix this, add blank macros to your printer.cfg
, before your [dynamicmacros]
section. Example:
Unknown config object 'gcode_macro'
If you are getting a "Unknown config object 'gcode_macro'" error after converting your macros to Dynamic Macros, move your [dynamicmacros]
section to be after your [virtual_sdcard]
section.
Macro Names
Klipper has certain macro names reserved for core functionality. If you are experiencing errors, don't name your Dynamic Macros any of the following:
PAUSE
RESUME
CANCEL_PRINT
If you want to make those macros dynamic, first define them as a standard GCode macro:
Restart Klipper.
That's it. Your macros are now Dynamic Macros.