zcalibrate: rewrite the functions that get the location to probe due to reported issues

thanks Aubey
This commit is contained in:
alfrix
2024-03-05 00:07:39 -03:00
parent 01193c203c
commit f58cdcb31a
2 changed files with 131 additions and 112 deletions

View File

@@ -8,22 +8,37 @@ It's strongly suggested to read Klipper documentation about [Bed level](https://
## Buttons
* "Start" will initiate the only method available, or ask the user if multiple methods are available.
!!! note
KlipperScreen will home if needed and move to the middle of the bed,
but the location can be configured in [KlipperScreen.conf](https://klipperscreen.readthedocs.io/en/latest/Configuration/#printer-options)
KlipperScreen will automatically Home(`G28`) if needed
* The raise(+) and lower(-) buttons send `TESTZ Z=distance` where distance is selected in the bottom row.
* Accept will send `ACCEPT`
* Abort will send `ABORT`
## Calibration methods
### Endstop (`Z_ENDSTOP_CALIBRATE`)
Available when a physical endstop is defined for `[stepper_z]`
See Klipper documentation: [Calibrating a Z endstop](https://www.klipper3d.org/Manual_Level.html#calibrating-a-z-endstop)
## Calibration methods
### Probe (`PROBE_CALIBRATE`)
Available when a probe is defined. (BL-Touch is a probe)
See Klipper documentation: [Calibrating probe Z offset](https://www.klipper3d.org/Probe_Calibrate.html#calibrating-probe-z-offset)
KlipperScreen will try to position the probe in the correct place before sendind a `PROBE_CALIBRATE`
??? info "Search order to select location"
1. `calibrate_x_position` and `calibrate_y_position` in [KlipperScreen.conf](https://klipperscreen.readthedocs.io/en/latest/Configuration/#printer-options)
Both need to be configured, probe offsets are not applied. This is considered an override
2. Probe at the [zero reference position of the mesh](https://www.klipper3d.org/Bed_Mesh.html#configuring-the-zero-reference-position)
3. If `[safe_z_home]` is defined, those values are used. Unless `Z_ENDSTOP_CALIBRATE` is available.
In other words, only use `[safe_z_home]` if `z_virtual_endstop` is used
4. If the kinematics are `delta` probe is placed at 0, 0
5. Probe at the center of the `bed_mesh`
6. Probe at the center of the axes (`position_max` / 2)
Klipper documentation: [Calibrating probe Z offset](https://www.klipper3d.org/Probe_Calibrate.html#calibrating-probe-z-offset)
### Endstop (`Z_ENDSTOP_CALIBRATE`)
Available when a physical endstop is defined for `[stepper_z]`
Klipper documentation: [Calibrating a Z endstop](https://www.klipper3d.org/Manual_Level.html#calibrating-a-z-endstop)
### Bed mesh (`BED_MESH_CALIBRATE`)
Available when a probe is not defined and `[bed_mesh]` is defined
@@ -38,7 +53,4 @@ this mode lets you create a mesh leveling bed using the paper test in various po
### Delta Automatic/Manual (`DELTA_CALIBRATE`)
Available when the kinematics are defined as delta.
See Klipper documentation: [Delta calibration](https://www.klipper3d.org/Delta_Calibrate.html)
!!! note
KlipperScreen will automatically Home(`G28`) if needed
Klipper documentation: [Delta calibration](https://www.klipper3d.org/Delta_Calibrate.html)