Print start: contact homing, nozzle guard, Z check, purge before chamber heat
- 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>
This commit is contained in:
1 parent
2100857846
commit
61fa8acb05
7 files changed
+374
-26
No files matched your search
@@ -0,0 +1,33 @@
|
||||
# Nozzle collision guard: bd_pressure watches the nozzle force during moves
|
||||
# that must not touch anything (needs extras/bdp_guard.py and the bd_pressure
|
||||
# load-check firmware). See extras/bdp_guard.py.
|
||||
#
|
||||
# mode: log only measures and reports each phase (console and klippy.log,
|
||||
# "bdp_guard:"). Run a few print starts in log mode, set threshold well
|
||||
# above the peaks the phases show, then switch to mode: stop.
|
||||
|
||||
[bdp_guard]
|
||||
sensor: bd_pa
|
||||
mode: log
|
||||
threshold: 30
|
||||
samples: 3
|
||||
interval: 0.02
|
||||
|
||||
# M400 first: BDP_GUARD_ARM/DISARM act at once, not in the move queue, so
|
||||
# without it the guard would watch moves that are still queued (contact
|
||||
# homing, extrusion) or stop watching before the armed moves ran.
|
||||
[gcode_macro _GUARD_ON]
|
||||
description: Arm the nozzle guard for PHASE=<name> [MODE=log|stop] after the queued moves (nothing without [bdp_guard])
|
||||
gcode:
|
||||
{% if 'bdp_guard' in printer %}
|
||||
M400
|
||||
BDP_GUARD_ARM PHASE={params.PHASE|default('armed')} {('MODE=' ~ params.MODE) if 'MODE' in params else ''}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro _GUARD_OFF]
|
||||
description: Disarm the nozzle guard after the queued moves (nothing without [bdp_guard])
|
||||
gcode:
|
||||
{% if 'bdp_guard' in printer %}
|
||||
M400
|
||||
BDP_GUARD_DISARM
|
||||
{% endif %}
|
||||
Reference in new issue
Block a user