bdwidth's motion reading stays at 0, its per-reading width compensation
made the flow jump between 77 and 119%, and a USB dropout shut down
Klipper. PRINT_START no longer enables it. _PRINT_CLEANUP,
BLOBIFIER_CHECKED and PURGE_UNTIL_EMPTY only send bdwidth commands when
[bdwidth fila_width_0] exists, and bdwidth_status reports present: False
with neutral values when it is not configured, so the section can be
removed from printer.cfg.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
_RESUME_PRINT purges 40 mm with BLOBIFIER_CHECKED (instead of the 2 mm
unretract), so the nozzle is primed, wiped and checked before going back
to the print. A failed purge check raises an error that aborts the whole
resume, AFC_RESUME's restore included, so the printer stays paused; the
next RESUME checks again. RESUME PURGE=0 skips the purge.
The purge check records a failure in _PURGE_CHECK_CFG.last_failed, since
its PAUSE has no effect while the printer is already paused.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The CCD motion reading stays at 0 (actual_total_move:0), so motion mode
only produced false "Rounout" messages. ENABLE_WIDTH keeps the flow
compensation and the runout on a missing width; clogs and breaks are
left to AFC's buffer fault detection (filament_error_sensitivity).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Klipper's G10 retracts only once until a G11, and nothing sends G11 on
this printer: the G10 in PRINT_WARMUP used up the retract, so PRINT_END
never retracted and the nozzle leaked while cooling down.
- _NOZZLE_RETRACT retracts and remembers the amount in the saved
variable nozzle_retract (survives restarts, capped at 15 mm).
PRINT_END retracts 5 mm, PRINT_WARMUP 2 mm, CANCEL_PRINT 5 mm plus the
park/PAUSE retract.
- _NOZZLE_UNRETRACT in PRINT_START pushes it back over the bucket before
the wipe.
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>