aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/homing_override.py
diff options
context:
space:
mode:
authorHans Raaf <hara@oderwat.de>2018-06-10 14:23:40 +0200
committerKevin O'Connor <kevin@koconnor.net>2018-06-11 20:41:18 -0400
commite110e1fecc7431187c371224e9235cab9e6a5e71 (patch)
tree16acb7b8416ccd8e7a63ad15c63d39f631a42f51 /klippy/extras/homing_override.py
parent5f640699b7cbb8c4f1a9aec77743622daebb8aab (diff)
downloadkutter-e110e1fecc7431187c371224e9235cab9e6a5e71.tar.gz
kutter-e110e1fecc7431187c371224e9235cab9e6a5e71.tar.xz
kutter-e110e1fecc7431187c371224e9235cab9e6a5e71.zip
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 <hr-klipper@oderwat.de> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/homing_override.py')
-rw-r--r--klippy/extras/homing_override.py22
1 files changed, 22 insertions, 0 deletions
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()