Nozzle guard in stop mode (brush log-only), wait for the nozzle before HOME
Test print start: guard peaks 1-8 in every phase except the brush scrub (peak 47, 4 reads above 30 in a row), 0 I2C errors; a light finger push gives 41. Stop mode for all phases, the brush stays log-only. The contact homing in HOME restarted 6 times (sample spread too large) while the nozzle was still heating to 150C; PRINT_WARMUP now waits for a steady contact temperature first, as PRINT_START does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a16b57a0a9
commit
b9d2f3a062
4 files changed
+17
-10
No files matched your search
@@ -97,8 +97,10 @@ detection, `filament_error_sensitivity`), iHeater chamber heater.
|
|||||||
13-18 s, peak 64-181; empty nozzle about 30 ms. A real failed load in a
|
13-18 s, peak 64-181; empty nozzle about 30 ms. A real failed load in a
|
||||||
print start (AFC reported the lane loaded, nothing reached the nozzle):
|
print start (AFC reported the lane loaded, nothing reached the nozzle):
|
||||||
longest 1915 ms, peak 45, caught by the 5000 ms limit.
|
longest 1915 ms, peak 45, caught by the 5000 ms limit.
|
||||||
- Nozzle guard (bdp_guard): reading at rest and in travel peaks about 2; a
|
- Nozzle guard (bdp_guard): peaks 1-8 in home_xy, QGL, Z homing, mesh and
|
||||||
light finger push on the cold nozzle gives 41 (threshold 30).
|
the Z check; the brush scrub 47 (4 reads above 30 in a row, so it runs
|
||||||
|
in log mode); a light finger push on the cold nozzle gives 41
|
||||||
|
(threshold 30).
|
||||||
- Z check after a contact homing: Beacon vs Klipper Z about 0.06 mm.
|
- Z check after a contact homing: Beacon vs Klipper Z about 0.06 mm.
|
||||||
- XY drift check: endstop noise about 0.01-0.02 mm; limit 0.1 mm (one motor
|
- XY drift check: endstop noise about 0.01-0.02 mm; limit 0.1 mm (one motor
|
||||||
skipping one cycle = 0.4 mm shows as 0.2 mm in X and Y).
|
skipping one cycle = 0.4 mm shows as 0.2 mm in X and Y).
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ everything below, grouped by topic. Comment out what you do not use there.
|
|||||||
| `pause_resume.cfg` | `PAUSE`, `RESUME`, `CANCEL_PRINT`, `M600` (RESUME also handles a running `HEAT_SOAK`, and after a PAUSE purges 40 mm with `BLOBIFIER_CHECKED` first: a failed check keeps the print paused, `RESUME PURGE=0` skips the purge; CANCEL_PRINT runs the same cleanup as `PRINT_END`) | `heating/heat_soak.cfg`, `leds/`, `blobifier/`, `afc/purge_check.cfg` |
|
| `pause_resume.cfg` | `PAUSE`, `RESUME`, `CANCEL_PRINT`, `M600` (RESUME also handles a running `HEAT_SOAK`, and after a PAUSE purges 40 mm with `BLOBIFIER_CHECKED` first: a failed check keeps the print paused, `RESUME PURGE=0` skips the purge; CANCEL_PRINT runs the same cleanup as `PRINT_END`) | `heating/heat_soak.cfg`, `leds/`, `blobifier/`, `afc/purge_check.cfg` |
|
||||||
| `filament.cfg` | `LOAD_FILAMENT`, `UNLOAD_FILAMENT` | — |
|
| `filament.cfg` | `LOAD_FILAMENT`, `UNLOAD_FILAMENT` | — |
|
||||||
| `homing.cfg` | `HOME`: X/Y, then Z always with Beacon contact (also when already homed); `_Z_CHECK`: stops the print when Klipper's Z and the Beacon reading differ (run in `PRINT_START` after the soak) | Beacon |
|
| `homing.cfg` | `HOME`: X/Y, then Z always with Beacon contact (also when already homed); `_Z_CHECK`: stops the print when Klipper's Z and the Beacon reading differ (run in `PRINT_START` after the soak) | Beacon |
|
||||||
| `nozzle_guard.cfg` | `[bdp_guard]`, `_GUARD_ON PHASE=<name>`, `_GUARD_OFF`: bd_pressure watches the nozzle force during print-start moves where nothing should touch it (QGL, Z homing, mesh); `mode: log` only reports the peak per phase, `mode: stop` shuts Klipper down on a touch | `extras/bdp_guard.py` + bd_pressure load-check firmware |
|
| `nozzle_guard.cfg` | `[bdp_guard]`, `_GUARD_ON PHASE=<name>`, `_GUARD_OFF`: bd_pressure watches the nozzle force during print-start moves where nothing should touch it (QGL, Z homing, mesh); `mode: stop` shuts Klipper down on a touch (the brush runs log-only), `mode: log` only reports the peak per phase | `extras/bdp_guard.py` + bd_pressure load-check firmware |
|
||||||
| `test_speed.cfg` | `TEST_SPEED`: skipped-steps test for speed and acceleration | — |
|
| `test_speed.cfg` | `TEST_SPEED`: skipped-steps test for speed and acceleration | — |
|
||||||
| `idle_timeout.cfg` | `[idle_timeout]`: heaters, chamber heater and motors off | iHeater macros |
|
| `idle_timeout.cfg` | `[idle_timeout]`: heaters, chamber heater and motors off | iHeater macros |
|
||||||
| **heating/** | | |
|
| **heating/** | | |
|
||||||
|
|||||||
@@ -2,13 +2,15 @@
|
|||||||
# that must not touch anything (needs extras/bdp_guard.py and the bd_pressure
|
# that must not touch anything (needs extras/bdp_guard.py and the bd_pressure
|
||||||
# load-check firmware). See extras/bdp_guard.py.
|
# load-check firmware). See extras/bdp_guard.py.
|
||||||
#
|
#
|
||||||
# mode: log only measures and reports each phase (console and klippy.log,
|
# mode: stop shuts Klipper down on a touch; log only measures and reports
|
||||||
# "bdp_guard:"). Run a few print starts in log mode, set threshold well
|
# each phase (console and klippy.log, "bdp_guard:"). A phase can override it
|
||||||
# above the peaks the phases show, then switch to mode: stop.
|
# with _GUARD_ON MODE=log (the brush does).
|
||||||
|
# Measured 2026-10-18: peaks 1-8 in all phases except the brush (47); a
|
||||||
|
# light finger push on the cold nozzle gives 41.
|
||||||
|
|
||||||
[bdp_guard]
|
[bdp_guard]
|
||||||
sensor: bd_pa
|
sensor: bd_pa
|
||||||
mode: log
|
mode: stop
|
||||||
threshold: 30
|
threshold: 30
|
||||||
samples: 3
|
samples: 3
|
||||||
interval: 0.02
|
interval: 0.02
|
||||||
|
|||||||
@@ -49,7 +49,9 @@ gcode:
|
|||||||
# Only to get the toolhead over the bed for the soak; the Z that counts
|
# Only to get the toolhead over the bed for the soak; the Z that counts
|
||||||
# is the contact calibration in PRINT_START on the soaked bed
|
# is the contact calibration in PRINT_START on the soaked bed
|
||||||
_STATUS STATE=homing
|
_STATUS STATE=homing
|
||||||
_NOZZLE_CONTACT_TEMP
|
# HOME homes Z with Beacon contact: wait for a steady nozzle temperature,
|
||||||
|
# a nozzle still heating spreads the contact samples (6 restarts seen)
|
||||||
|
_NOZZLE_CONTACT_TEMP WAIT=1
|
||||||
RESPOND MSG="homing"
|
RESPOND MSG="homing"
|
||||||
HOME
|
HOME
|
||||||
{% if target_chamber > 30 %}
|
{% if target_chamber > 30 %}
|
||||||
@@ -193,8 +195,9 @@ gcode:
|
|||||||
_GUARD_ON PHASE=z_home
|
_GUARD_ON PHASE=z_home
|
||||||
G28 Z
|
G28 Z
|
||||||
|
|
||||||
# Own phase: the bristles press on the nozzle too
|
# Own phase, log only: the bristles press on the nozzle (peak 47,
|
||||||
_GUARD_ON PHASE=brush
|
# 4 reads above 30 in a row), stop mode would shut down every start
|
||||||
|
_GUARD_ON PHASE=brush MODE=log
|
||||||
BLOBIFIER_CLEAN
|
BLOBIFIER_CLEAN
|
||||||
_GUARD_OFF
|
_GUARD_OFF
|
||||||
_STATUS STATE=calibrating_z
|
_STATUS STATE=calibrating_z
|
||||||
|
|||||||
Reference in new issue
Block a user