Macro reference
Every macro from your U1’s panel, explained. Search by name or purpose, or browse the workflows below.
Tool numbers
Most built-in EXTRUDER parameters use 0–3 for physical toolheads 1–4. Your SCAN_FILAMENT uses TOOL=1–4. T4–T31 select logical tools using the print’s mapping.
Workflow stages
Internal and staged macros may expect positioning, heating, or calibration preparation to have happened already. Each definition explains its role in the larger workflow.
Custom macros
1 macroAdded to your printer. SCAN_FILAMENT is a custom macro and is not included in the stock paxx firmware macros.
| Macro & source | What it does |
|---|---|
SCAN_FILAMENT |
Your new RFID rescan macro. TOOL=1, 2, 3, or 4 rereads the matching spool’s tag; omitted TOOL defaults to 1. It converts that number to CHANNEL=0, 1, 2, or 3. |
Print controls and layer pauses
7 macros| Macro & source | What it does |
|---|---|
PAUSE |
Pauses the current print through Snapmaker’s pause handler, which invokes INNER_PAUSE to save state, retract, move away when appropriate, and reduce active nozzle targets to 40°C. |
RESUME |
Resumes a paused print through Snapmaker’s resume handler. INNER_RESUME checks filament and machine state, restores temperatures, primes/cleans as needed, and returns to the saved print position. |
CANCEL_PRINT |
Cancels the print, retracts, increases Z clearance if homed, shuts off heaters/fans/purifier, stops timelapse, clears scheduled pauses, and disables motors. |
M600 |
Calls PAUSE. In this configuration it is a pause for a manual filament change; it does not itself unload or load filament. |
SET_PAUSE_NEXT_LAYER |
Arms a one-time pause on the next SET_PRINT_STATS_INFO invocation. Normally that invocation comes at the next layer. ENABLE=0 disarms it; MACRO can substitute a different action. |
SET_PAUSE_AT_LAYER |
Arms a one-time pause when SET_PRINT_STATS_INFO reports the chosen CURRENT_LAYER. Set LAYER to the desired reported layer; ENABLE=0 disarms it. Requires layer reporting in the print file. |
SET_PRINT_STATS_INFO |
Receives layer/count information from the print file, triggers any armed pause, and forwards the information to the underlying print-statistics command. |
Filament handling
9 macros| Macro & source | What it does |
|---|---|
AUTO_FEEDING |
Routes a chosen physical EXTRUDER to its feeder module/channel, then calls FEED_AUTO. Parameters determine whether it loads, unloads, or changes automatic-feed mode; the name alone does not mean “load now.” |
AUTO_FEEDING_BATCH |
Coordinates a multi-tool loading session. ACTION=START saves nozzle targets; ACTION=DOING loads a selected tool and can preheat NEXT_EXTRUDER; ending the session restores targets during a print/pause or turns nozzles off while idle. |
AUTO_FEEDING_PREHEAT |
Starts preheating the selected nozzle for automatic loading, without waiting. Uses the loaded-filament temperature plus DELTA (default −90°C); an explicit TEMP replaces the base temperature before DELTA is applied. |
MANUAL_FEEDING |
Routes the selected EXTRUDER to the manual-loading controller. Runs the requested STAGE: prepare, extrude, flush, finish, or cancel. It is a staged workflow entry point. |
FEEDING_RUNOUT_EVENT_HANDLE |
Notifies the selected feeder’s state machine that a filament-runout event occurred. Used during runout recovery; it does not simply query the sensor. |
CONTROL_EXTRUDE_ACTION |
Extrudes 30 mm through the active toolhead, choosing speed from nozzle size and whether the filament is flexible. Does not heat or select a toolhead; EXTRUDER selects the material/nozzle data used for speed. |
CONTROL_RETRACT_ACTION |
Runs the active toolhead’s material/nozzle-specific tip-forming and unloading retraction sequence, which can include forward extrusion. ONLY_RETRACT=1 instead retracts 10 mm. Does not heat or select a toolhead. |
FEED_HANG_NEUTRAL |
Briefly pulses the selected feeder module in the opposite channel direction to put its drive into neutral. Defaults to VALUE=1.0 and TIME=0.04 seconds; it operates the feeder mechanism. |
MOVE_TO_DISCARD_FILAMENT_POSITION |
Moves the active toolhead to its filament-discard/purge position using tool-specific offsets. It positions the head but does not itself extrude filament. |
Nozzle cleaning
4 macros| Macro & source | What it does |
|---|---|
ROUGHLY_CLEAN_NOZZLE |
Moves to the discard position and runs the coarse wiping pattern. Additional parameters are passed to the internal wiping routine. |
ROUGHLY_CLEAN_NOZZLE_WITH_DISCARD |
Moves to the discard position, performs the purge-strand cutoff motions, wipes the nozzle, and knocks waste into the discard area. |
FINELY_CLEAN_NOZZLE_STAGE_1 |
Performs the first fine-cleaning pattern: positions the nozzle, probes for bed contact, and makes short rubbing movements. This is a stage of the cleaning workflow. |
FINELY_CLEAN_NOZZLE_STAGE_2 |
Performs a similar fine-cleaning pattern at a different tool-specific position, again using contact probing and short rubbing movements. |
Print-start and print-end workflow
12 macros| Macro & source | What it does |
|---|---|
PRINT_PRESTART_CHECK |
Prevents a print from starting while AUTO_FEEDING_BATCH is marked as in progress. |
PRINT_START |
Resets per-tool prime-line flags, applies calibrated flow K values, clears stored batch-load temperatures, disables motors, resets the extrusion coordinate and speed multiplier, and runs paxx _PRINT_START_ hooks. Other startup operations are handled elsewhere. |
PRINT_END |
Runs paxx end hooks, retracts and provides Z clearance, performs firmware end-of-print cleanup, optionally unloads eligible filaments, parks the head, shuts down heaters/fans/purifier, clears scheduled pauses, and disables motors. |
SM_PRINT_CHECK_SWITCH_EXTRUDER |
Cycles through the physical toolheads marked as used by the current print to check tool switching. |
SM_PRINT_EXTRUDER_PREHEAT |
Sets a selected physical EXTRUDER’s target temperature only if that tool is used by the current print. Default TEMP is 140°C; it does not wait for heating. |
SM_PRINT_AUTO_FEED |
Automatically loads a selected physical EXTRUDER if it is marked as used by the print. Calls the feeder controller with LOAD=1 and PRINTING=1. |
SM_PRINT_END_AUTO_UNLOAD_FILAMENT |
At print end, unloads tools that were used, are not marked as flexible filament, and have end-of-print unloading enabled. |
SM_PRINT_START_LINE |
Maps a logical INDEX to a physical toolhead and dispatches its prime-line macro. This installed wrapper accepts INDEX 0–7 and requires a nonzero TARGET_TEMP. |
SM_PRINT_START_LINE_EXTRUDER_0 |
Heats and primes physical toolhead 1 (T0): prints a 40 mm line from X10 to X50 at Y3, Z0.2, then retracts and lifts. Runs only once until its flag is reset; default TARGET_TEMP is 250°C. |
SM_PRINT_START_LINE_EXTRUDER_1 |
Heats and primes physical toolhead 2 (T1): prints a 40 mm line from X60 to X100 at Y3, Z0.2, then retracts and lifts. Runs only once until its flag is reset; default TARGET_TEMP is 250°C. |
SM_PRINT_START_LINE_EXTRUDER_2 |
Heats and primes physical toolhead 3 (T2): prints a 40 mm line from X110 to X150 at Y3, Z0.2, then retracts and lifts. Runs only once until its flag is reset; default TARGET_TEMP is 250°C. |
SM_PRINT_START_LINE_EXTRUDER_3 |
Heats and primes physical toolhead 4 (T3): prints a 40 mm line from X160 to X200 at Y3, Z0.2, then retracts and lifts. Runs only once until its flag is reset; default TARGET_TEMP is 250°C. |
Calibration and homing
9 macros| Macro & source | What it does |
|---|---|
AUTO_BED_MESH_CALIBRATE |
Sets the bed target (TEMP defaults to 55°C), moves to Z2, waits for temperature, waits a further PAUSE_TIME (default 120000 ms = 2 minutes), then runs BED_MESH_CALIBRATE. The wrapper contains no homing command. |
SHAPER_CALIBRATE |
Runs input-shaper/resonance calibration through SHAPER_CALIBRATE_BASE, then saves configuration with RESTART=0. This macro saves results without an immediate restart. |
EXTRUDER_OFFSET_ACTION_PROBE_CALIBRATE_ALL |
Runs the managed offset-calibration probing step for T0, T1, T2, and T3, then moves to Z150. It belongs to the staged offset-calibration workflow and expects its preparation/state checks. |
XYZ_OFFSET_CALIBRATE |
Runs the configured XYZ offset-probing sequence for the active toolhead, using the calibration feature near X13/Y234.5 and recording the measurement with SAVE_INFO=1. |
XYZ_OFFSET_CALIBRATE_ALL |
Selects T0 through T3 in turn, runs XYZ_OFFSET_CALIBRATE on each, then requests saving the complete offset results. |
SHAKE_Z |
Repeatedly moves Z down/up by 0.75 mm. Sets higher Z motion limits for the shaking sequence, then sets maximum Z acceleration to 500 and velocity to 30 and restores saved G-code state. It is a mechanical shake routine, not a calibration measurement. |
SENSORLESS_HOME_X |
Waits 2 seconds, then executes G28 X. Despite the name, the active macro contains no motor-current or sensorless-threshold adjustments. |
SENSORLESS_HOME_Y |
Waits 1.5 seconds, then executes G28 Y. Despite the name, the active macro contains no motor-current or sensorless-threshold adjustments. |
SENSORLESS_HOME_Z |
Temporarily sets Z motor current to 0.700 A, waits 1 second, homes Z, moves Z by −5 mm, and restores the configured running current. |
Internal workflow stages
17 macros| Macro & source | What it does |
|---|---|
INNER_PAUSE |
Implements pause mechanics: records the active tool and nozzle targets, saves pause state, retracts, moves to discard when appropriate, handles runout/error flags, lowers active nozzle targets to 40°C, and sets the pause timeout. PAUSE is the normal entry point. |
INNER_RESUME |
Implements resume mechanics: checks filament and batch-loading state, optionally rehomes XY, selects/reloads the previous tool, restores nozzle temperatures, primes and cleans, and resumes at the saved position. RESUME is the normal entry point. |
INNER_FILAMENT_UNLOAD |
Moves to discard, heats (TEMP defaults to 250°C), performs the tip-forming/retraction sequence, turns nozzle heating off, cools with the fan, and clears purge waste. |
INNER_FLUSH_FILAMENT |
At the already-prepared discard position, clears old waste, heats, extrudes a purge length, retracts, and cleans/discards again. Defaults: TEMP=250°C and LENGTH=80 mm; nozzle size and flexible-filament settings affect speed. |
INNER_PREEXTRUDE_FILAMENT |
Primes before printing: saves G-code state, moves to discard, heats, extrudes with flow compensation, retracts, cools/cleans/discards, returns to the tool’s idle position, and restores state. Normal defaults: TEMP=220°C and LENGTH=20 mm. |
INNER_CUTOFF_BASE_DISCARD |
Uses short side-to-side movements at the discard position to separate the extruded purge strand. It does not command an internal filament cutter or an unload. |
INNER_ROUGHLY_CLEAN_NOZZLE_BASE_DISCARD |
Performs the coarse nozzle-wiping movement pattern from the already-prepared discard position. ACTION selects the pattern; SPEED and ACCEL control motion. |
INNER_DISCARD_FILAMENT_BASE_DISCARD |
Uses lateral sweeps to knock purge waste away at the discard position. Cycles through six nearby Y offsets to vary the discard location. |
INNER_MANUAL_FEED_STAGE_PREPARE |
Prepares manual loading: adjusts idle timeout when not paused, moves to discard, and clears existing purge waste. |
INNER_MANUAL_FEED_STAGE_EXTRUDE |
Heats the active nozzle and extrudes 70 mm for manual loading. TEMP defaults to 250°C; nozzle size and flexible-filament settings determine the default speed. |
INNER_MANUAL_FEED_STAGE_FLUSH |
Calls INNER_FLUSH_FILAMENT with the supplied parameters to purge during manual loading. |
INNER_MANUAL_FEED_STAGE_FINISH |
Finishes manual loading by switching off active-nozzle heating and the part-cooling fan, and restoring normal idle timeout when not paused. |
INNER_MANUAL_FEED_STAGE_CANCEL |
Cancels the manual-loading stage: turns off nozzle heating, cools briefly, cleans/discards waste, switches the fan off, and restores idle timeout when not paused. |
INNER_FLOW_MEASURE_END_BASE_DISCARD |
Cleans up after a flow measurement: starts the fan, sets the nozzle target to 170°C, waits 3 seconds, stops the fan, and performs cutoff/wipe/discard movements. Leaves the target at 170°C. |
INNER_FLOW_CALIB_END_BASE_DISCARD |
Cleans up after flow calibration: runs the fan, waits for the nozzle to reach 170°C, switches the fan and heater off, and performs cutoff/wipe/discard movements. |
INNER_DETECT_NOZZLE_STAGE_1 |
Saves G-code state, optionally retracts, increases Z by 2 mm, and moves to X195/Y16 to prepare for nozzle detection. This macro positions the head; detection is handled elsewhere. |
INNER_DETECT_NOZZLE_STAGE_2 |
When X/Y/Z parameters are supplied, moves to the supplied X/Y, optionally extrudes, and restores the saved nozzle-detection G-code state. The explicit Z-return move is commented out in your config. |
Logical tool selection
28 macros| Macro & source | What it does |
|---|---|
T4 |
Selects logical tool index 4 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=4. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T5 |
Selects logical tool index 5 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=5. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T6 |
Selects logical tool index 6 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=6. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T7 |
Selects logical tool index 7 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=7. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T8 |
Selects logical tool index 8 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=8. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T9 |
Selects logical tool index 9 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=9. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T10 |
Selects logical tool index 10 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=10. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T11 |
Selects logical tool index 11 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=11. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T12 |
Selects logical tool index 12 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=12. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T13 |
Selects logical tool index 13 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=13. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T14 |
Selects logical tool index 14 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=14. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T15 |
Selects logical tool index 15 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=15. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T16 |
Selects logical tool index 16 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=16. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T17 |
Selects logical tool index 17 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=17. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T18 |
Selects logical tool index 18 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=18. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T19 |
Selects logical tool index 19 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=19. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T20 |
Selects logical tool index 20 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=20. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T21 |
Selects logical tool index 21 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=21. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T22 |
Selects logical tool index 22 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=22. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T23 |
Selects logical tool index 23 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=23. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T24 |
Selects logical tool index 24 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=24. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T25 |
Selects logical tool index 25 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=25. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T26 |
Selects logical tool index 26 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=26. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T27 |
Selects logical tool index 27 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=27. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T28 |
Selects logical tool index 28 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=28. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T29 |
Selects logical tool index 29 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=29. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T30 |
Selects logical tool index 30 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=30. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
T31 |
Selects logical tool index 31 by calling SWITCH_OF_EXTENDED_EXTRUDER INDEX=31. The current print’s extruder_map_table determines which of the four physical toolheads is selected. |
About this reference
Checked against your printer’s active Klipper configuration on September 27, 2026. Covers all 86 macros in your screenshot, plus the newly installed SCAN_FILAMENT macro: 87 entries in total.
Definitions describe the loaded configuration, including your local overrides. The configuration and source code were read only; no printer commands were run and no settings were changed.
Most built-in EXTRUDER parameters use 0–3 for physical toolheads 1–4. Your SCAN_FILAMENT macro deliberately uses TOOL=1–4. T4–T31 are logical tool aliases; their physical destination depends on the print’s mapping.
Internal and staged macros are parts of larger workflows. Several assume that positioning, heating, or calibration preparation has already happened. Their appearance in Fluidd does not make each one a complete standalone action.
Source links open the configuration files on your printer’s local network. This page itself works offline; the links need access to your printer or the internet.
Primary evidence: the active configfile.config object returned by your printer and its downloaded configuration files. The links in the tables point to those files on your printer’s local network and may reflect future edits.
The underlying commands were cross-checked against Snapmaker’s tool mapping, feeding controller, pause/resume handler, and offset-calibration handler. These are public-source cross-checks, not a claim that the printer’s Python files are byte-identical to this upstream revision.
Paxx-specific print hooks were checked against the v1.6.0-paxx12-22 source.