aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--klippy/extras/bed_mesh.py14
-rw-r--r--klippy/extras/probe.py5
2 files changed, 14 insertions, 5 deletions
diff --git a/klippy/extras/bed_mesh.py b/klippy/extras/bed_mesh.py
index 4c006ea2..9752030f 100644
--- a/klippy/extras/bed_mesh.py
+++ b/klippy/extras/bed_mesh.py
@@ -136,10 +136,11 @@ class BedMeshCalibrate:
points = self._generate_points(config)
self._init_probe_params(config, points)
self.probe_helper = probe.ProbePointsHelper(config, self, points)
- self.z_offset_check = None
+ self.z_endstop_pos = None
if config.has_section('stepper_z'):
zconfig = config.getsection('stepper_z')
- self.z_offset_check = zconfig.getfloat('position_endstop', None)
+ self.z_endstop_pos = zconfig.getfloat(
+ 'position_endstop', None)
self.gcode = self.printer.lookup_object('gcode')
self.gcode.register_command(
'BED_MESH_CALIBRATE', self.cmd_BED_MESH_CALIBRATE,
@@ -230,13 +231,16 @@ class BedMeshCalibrate:
else:
print_func("bed_mesh: bed has not been probed")
def finalize(self, z_offset, positions):
- if self.z_offset_check is not None:
- if self.z_offset_check != z_offset:
+ if self.probe_helper.get_last_xy_home_positon() is not None \
+ and self.z_endstop_pos is not None:
+ # Using probe as a virtual endstop, warn user if the
+ # stepper_z position_endstop is different
+ if self.z_endstop_pos != z_offset:
z_msg = "bed_mesh: WARN - probe z_offset is not" \
" equal to Z position_endstop\n"
z_msg += "[probe] z_offset: %.4f\n" % z_offset
z_msg += "[stepper_z] position_endstop: %.4f" \
- % self.z_offset_check
+ % self.z_endstop_pos
logging.info(z_msg)
self.gcode.respond_info(z_msg)
x_cnt = self.probe_params['x_count']
diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py
index 3c27e73b..831ccf55 100644
--- a/klippy/extras/probe.py
+++ b/klippy/extras/probe.py
@@ -171,6 +171,11 @@ class ProbePointsHelper:
self.gcode = self.toolhead = None
def get_lift_speed(self):
return self.lift_speed
+ def get_last_xy_home_positon(self):
+ if self.probe is not None:
+ return self.probe.last_home_position()
+ else:
+ return None
def start_probe(self):
# Begin probing
self.toolhead = self.printer.lookup_object('toolhead')