From 52df40dfbb5596c3190ba4a5cd79fd3af87a71b3 Mon Sep 17 00:00:00 2001 From: Arksine Date: Fri, 17 Aug 2018 12:08:37 -0400 Subject: [PATCH] bed_mesh: update z_offset check Only check the probe's z_offset against the stepper_z endstop position if the probe is used as a virtual endstop. Signed-off-by: Eric Callahan --- klippy/extras/bed_mesh.py | 14 +++++++++----- klippy/extras/probe.py | 5 +++++ 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')