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 <arksine.code@gmail.com>
This commit is contained in:
parent
08aacec0b2
commit
52df40dfbb
|
@ -136,10 +136,11 @@ class BedMeshCalibrate:
|
||||||
points = self._generate_points(config)
|
points = self._generate_points(config)
|
||||||
self._init_probe_params(config, points)
|
self._init_probe_params(config, points)
|
||||||
self.probe_helper = probe.ProbePointsHelper(config, self, 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'):
|
if config.has_section('stepper_z'):
|
||||||
zconfig = config.getsection('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 = self.printer.lookup_object('gcode')
|
||||||
self.gcode.register_command(
|
self.gcode.register_command(
|
||||||
'BED_MESH_CALIBRATE', self.cmd_BED_MESH_CALIBRATE,
|
'BED_MESH_CALIBRATE', self.cmd_BED_MESH_CALIBRATE,
|
||||||
|
@ -230,13 +231,16 @@ class BedMeshCalibrate:
|
||||||
else:
|
else:
|
||||||
print_func("bed_mesh: bed has not been probed")
|
print_func("bed_mesh: bed has not been probed")
|
||||||
def finalize(self, z_offset, positions):
|
def finalize(self, z_offset, positions):
|
||||||
if self.z_offset_check is not None:
|
if self.probe_helper.get_last_xy_home_positon() is not None \
|
||||||
if self.z_offset_check != z_offset:
|
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" \
|
z_msg = "bed_mesh: WARN - probe z_offset is not" \
|
||||||
" equal to Z position_endstop\n"
|
" equal to Z position_endstop\n"
|
||||||
z_msg += "[probe] z_offset: %.4f\n" % z_offset
|
z_msg += "[probe] z_offset: %.4f\n" % z_offset
|
||||||
z_msg += "[stepper_z] position_endstop: %.4f" \
|
z_msg += "[stepper_z] position_endstop: %.4f" \
|
||||||
% self.z_offset_check
|
% self.z_endstop_pos
|
||||||
logging.info(z_msg)
|
logging.info(z_msg)
|
||||||
self.gcode.respond_info(z_msg)
|
self.gcode.respond_info(z_msg)
|
||||||
x_cnt = self.probe_params['x_count']
|
x_cnt = self.probe_params['x_count']
|
||||||
|
|
|
@ -171,6 +171,11 @@ class ProbePointsHelper:
|
||||||
self.gcode = self.toolhead = None
|
self.gcode = self.toolhead = None
|
||||||
def get_lift_speed(self):
|
def get_lift_speed(self):
|
||||||
return self.lift_speed
|
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):
|
def start_probe(self):
|
||||||
# Begin probing
|
# Begin probing
|
||||||
self.toolhead = self.printer.lookup_object('toolhead')
|
self.toolhead = self.printer.lookup_object('toolhead')
|
||||||
|
|
Loading…
Reference in New Issue