Paxx firmware · 1.6.0

Macro reference

Every macro from your U1’s panel, explained. Search by name or purpose, or browse the workflows below.

87macros documented

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.

Showing 87 of 87 macros

Custom macros

1 macro

Added to your printer. SCAN_FILAMENT is a custom macro and is not included in the stock paxx firmware macros.

Macro & sourceWhat 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 & sourceWhat 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 & sourceWhat 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 & sourceWhat 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 & sourceWhat 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 & sourceWhat 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 & sourceWhat 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 & sourceWhat 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.