PA_CALIBRATE takes PA_STEP (default 0.002, 0-0.098 over 50 lines).
_PA_CFG.material_pa_step uses 0.004 (0-0.196) for tpu/tpe/flex; soft TPU
measured 0.094, close to the old end. The "no result" rejection uses the
end of the range actually tested.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
_PA_CFG.material_max_volumetric lowers MAX_VOLUMETRIC for materials that
cannot extrude 25 mm3/s (tpu, tpe, flex: 8). The calibration line shows
the flow used.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- LANE_CALIBRATE_PA: when a calibration will run, assign the lane's spool
again (SET_SPOOL_ID) so AFC reads the Spoolman temperature now; AFC
only reads it at spool assignment and Klipper start (TPU calibrated at
210C after Spoolman was set to 230C). The calibration moved to
_LANE_CALIBRATE_PA_RUN, rendered after the refresh.
- bdp_guard: an emergency stop during PA_CALIBRATE leaves the sensor in
PA mode (FIRMWARE_RESTART does not reset it). When arming, read the
mode register and switch the sensor back to probe mode with a fresh
baseline before watching it.
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>
PRINT_WARMUP: bed heats during the warmup, the nozzle only waits while it
is above 170C (Beacon contact limit 180C), one HOME to get over the bed,
then M190 and HEAT_SOAK. No more filament load and 220->150C cycle there.
PRINT_START (on the soaked bed): one QGL, one contact Z calibration, mesh,
heat over the bucket, load the initial tool, PA for all lanes, load the
initial tool again if a calibration changed lanes, G28 X Y reference.
Loading after the contact keeps ooze off the nozzle for the calibration.
PA: calibrate each lane at its own filament temperature (was the
temperature from before CHANGE_TOOL), and apply the loaded lane's PA
after PA_CALIBRATE_ALL_LANES (the last cached lane's PA won before).
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>
Lanes whose AFC prep and load sensors do not both see filament are
skipped with a message, as are names that are not AFC lanes. The
"complete" message is now a RESPOND, so it appears after the
calibrations instead of before them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bdpressure.py leaves the extruder at the last PA_CALIBRATE test value
(0.098) when it finds no result, and _PA_AFTER_CALIBRATE saved that as
the calibrated PA (lane1 after an AFC pause, lane5 after the sensor went
silent). A run is now rejected, with nothing cached or written to
Spoolman, when the PA is still at the end of the scan, the printer
paused during the test, or bd_pressure gave too few or too few different
readings. The previous valid PA (or fallback_pa) is applied instead.
bdpressure_check reports pa_points and pa_distinct from the bdpressure
module's last PA_CALIBRATE data for this.
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>