-
Notifications
You must be signed in to change notification settings - Fork 0
Z Compensation
klippy/extras/z_compensate.py — per-print auto-Z-offset orchestration. New code, not a port:
Creality's real z_compensate_wrapper.so has no published source anywhere; this module's design
was inferred from strong reverse-engineering evidence (it delegates into PRTouch's primitives, and
its bl_offset config value matches [bltouch]'s own y_offset exactly).
What it does: called once per print, before bed-mesh calibration — a per-print thermal/wear
fine-tune, not a one-time factory calibration. Applies the correction as a live
SET_GCODE_OFFSET for the current session by default; permanent persistence is opt-in
(persist_offset) since baking it into the saved probe z_offset via SAVE_CONFIG would trigger
a mid-print Klippy restart.
XY-reference fix: live-qualified during PRTouch physical qualification (2026-08-12–14) — mirrors the same XY-reference correction PRTouch itself received.
Status contract: exposes structured status (not gcode text) via Klipper's object-status/webhooks mechanism, so GuppyScreen and Moonraker can poll programmatically rather than parsing command output.
Config note: [z_compensate] has its own tri_min_hold/tri_max_hold values, distinct from
[prtouch_v2]'s — a genuine per-feature sensitivity retune, not a duplicate/mistake.
See also: PRTouch, NebulaOS Changes.