probe: ProbePointsHelper adjustable minimum points

Factor out minimum required points check for ProbePointsHelper
in prep for setting different values for quad_gantry_level
and z_tilt_adjust

Signed-off-by: John "Fess" Fessenden <fess@fess.org>
This commit is contained in:
fess 2019-05-17 20:47:27 -07:00 committed by KevinOConnor
parent 84bae6ff41
commit 9887e72570
7 changed files with 12 additions and 4 deletions

View file

@ -226,6 +226,7 @@ class ProbePointsHelper:
self.printer = config.get_printer()
self.finalize_callback = finalize_callback
self.probe_points = default_points
self.name = config.get_name()
# Read config settings
if default_points is None or config.get('points', None) is not None:
points = config.get('points').split('\n')
@ -235,10 +236,7 @@ class ProbePointsHelper:
for p in points]
except:
raise config.error("Unable to parse probe points in %s" % (
config.get_name()))
if len(self.probe_points) < 3:
raise config.error("Need at least 3 probe points for %s" % (
config.get_name()))
self.name))
self.horizontal_move_z = config.getfloat('horizontal_move_z', 5.)
self.speed = self.lift_speed = config.getfloat('speed', 50., above=0.)
self.probe_offsets = (0., 0., 0.)
@ -252,6 +250,10 @@ class ProbePointsHelper:
self.results = []
self.busy = self.manual_probe = False
self.gcode = self.toolhead = None
def minimum_points(self,n):
if len(self.probe_points) < n:
raise self.printer.config_error(
"Need at least %d probe points for %s" % (n, self.name))
def get_lift_speed(self):
return self.lift_speed
def _lift_z(self, z_pos, add=False, speed=None):