- flex_lanes.cfg: a 5 s poller sets SET_LONG_MOVE_SPEED to 50 mm/s (AFC's
minimum) for lanes whose material is TPU/TPE/flex and back to the
configured long_moves_speed otherwise; reapplied after a restart.
- BLOBIFIER_CHECKED: remembers the temperature of the filament in the
nozzle (saved nozzle_last_temp). When it is more than flush_margin
(10C) above the new filament's, the purge runs at that temperature and
the nozzle cools back afterwards, so the leftover melts out (seen: ASA
leftover with TPU loaded at 210C).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
All macros now come from this repo. bd_pressure.cfg ([bdpressure bd_pa]
and the vendor PA_CALIBRATE macros) and Macros/TEST_SPEED.cfg were loose
files in ~/printer_data/config.
PA_CALIBRATE no longer sets Z back to z_current at the end: it was read
before the test ran, so a Z hop in the G28 XY (Beacon home_z_hop) would
leave Klipper believing the nozzle is lower than it is. Z is never switched
off or moved by the test, so it keeps its position without that line.
The ACC_WALL bug (read from ACCEL_TO_DECEL, always 4000) is documented,
not fixed: the cached PA values were measured at 4000.
printer.cfg must drop [include bd_pressure.cfg] and Macros/macros.cfg its
TEST_SPEED include, else the old copies (included later) still win.
Reference values from the load-check-afc branch and from the guard and
Z check tests added to CLAUDE.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- HOME always homes Z with Beacon contact and recalibrates, also when the
printer is already homed (home_method_when_homed = proximity used the
model of an earlier print without touching the bed). PRINT_START homes
Z again after QGL, before the brush takes the nozzle below Z0.
- _Z_CHECK: after the soak, compare Klipper's Z with a BEACON_QUERY
reading at Z3 over the bed centre and stop the print above 1 mm.
Warns and continues when BEACON_QUERY leaves no new
printer.beacon.last_sample.
- Nozzle guard (extras/bdp_guard.py, print/nozzle_guard.cfg): reads the
bd_pressure force over I2C every 20 ms while armed and, in stop mode,
shuts Klipper down on a touch. Armed for HOME X/Y, QGL, Z homing, brush,
mesh and the Z check; starts in log mode to collect peaks per phase.
- Chamber prints: load and purge the first tool before the chamber heats
(_LOAD_FOR_CHAMBER replaces _UNLOAD_FOR_CHAMBER). A cut unload leaves a
piece of PLA in the extruder that softened in the hot chamber and jammed
the ASA load.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
action_raise_error aborts while the macro renders, so an M117 in the same
macro never ran and errors such as the RESUME lane check only reached the
console. messages.cfg adds _ERROR (M117, then raise in a separate macro)
and _WARN (RESPOND TYPE=error + M117); all errors and warnings use them.
PAUSE shows AFC's error as the pause reason; RESUME, CANCEL_PRINT and
PRINT_WARMUP clear the display.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- bd_pa_spoolman.cfg renames AFC's SET_SPOOL_ID, so klipper-macros.cfg
must be included after [include AFC/*.cfg]; the README said otherwise.
- install.sh links scripts/ as ~/printer_data/config/klipper-macros-scripts
so the scripts can be edited in Mainsail/Fluidd.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- RESUME is defined only in print/pause_resume.cfg; heat_soak.cfg's
duplicate replaced it (no unretract, no fan restore). It now runs
HEAT_SOAK_RESUME -> _RESUME_PRINT -> RESUME_BASE.
- PAUSE runs PAUSE_BASE first, then retracts and parks once (X20 Y345);
a parked flag makes resume undo only what PAUSE did.
- New _PRINT_CLEANUP shared by PRINT_END and CANCEL_PRINT: heaters incl.
iHEATER_OFF, fan, M221 S100, bdwidth off, mesh and skew cleared.
In PRINT_END it runs after RESTORE_GCODE_STATE so the flow reset sticks.
- Add CLAUDE.md and tools/effective_config.py.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Split the macro files into folders by topic (print, heating, afc,
pressure_advance, spoolman, leds, sensors); klipper-macros.cfg is the
one file printer.cfg includes. Macros moved unchanged; the effective
config is identical apart from the paths of the PA shell scripts.
- Add the modified Blobifier (Turtleblobifier for AFC) and define
[save_variables] once in save_variables.cfg instead of in both
blobifier.cfg and the PA macros (same file, bd_pa_variables.cfg).
- PRINT_WARMUP: heat to the loaded lane's temperature before the first
tool change. AFC skips heating when the loaded lane's tool number is
not in the print file's temperature list, and the unload then failed
below min_extrude_temp.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Macros as they run on the printer (Voron 2.4 + AFC Box Turtle +
Blobifier + Beacon + bd_pressure + bdwidth + iHeater), the Klipper
modules they need (xy_drift, bdwidth_status, bdpressure_check), MCU
firmware update scripts, install.sh with Moonraker update manager
support, and READMEs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>