From e110e1fecc7431187c371224e9235cab9e6a5e71 Mon Sep 17 00:00:00 2001 From: Hans Raaf Date: Sun, 10 Jun 2018 14:23:40 +0200 Subject: homing_override: Add axes config parameter Added a config parameter to define the homing override axes. This way one can still home x and y axis without the z-probe cycle coming in the way. Signed-off-by: Hans Raaf Signed-off-by: Kevin O'Connor --- klippy/extras/homing_override.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'klippy/extras') diff --git a/klippy/extras/homing_override.py b/klippy/extras/homing_override.py index f69298aa..17a3911e 100644 --- a/klippy/extras/homing_override.py +++ b/klippy/extras/homing_override.py @@ -9,6 +9,7 @@ class HomingOverride: self.printer = config.get_printer() self.start_pos = [config.getfloat('set_position_' + a, None) for a in 'xyz'] + self.axes = config.get('axes', 'XYZ').upper() self.script = config.get('gcode') self.in_script = False self.gcode = self.printer.lookup_object('gcode') @@ -19,6 +20,27 @@ class HomingOverride: # Was called recursively - invoke the real G28 command self.gcode.cmd_G28(params) return + + # if no axis is given as parameter we assume the override + no_axis = True + for axis in 'XYZ': + if axis in params: + no_axis = False + break + + if no_axis: + override = True + else: + # check if we home an axsis which needs the override + override = False + for axis in self.axes: + if axis in params: + override = True + + if not override: + self.gcode.cmd_G28(params) + return + # Calculate forced position (if configured) toolhead = self.printer.lookup_object('toolhead') pos = toolhead.get_position() -- cgit v1.2.3-70-g09d2