aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
authorDavid Smith <davidosmith@gmail.com>2020-03-01 23:00:41 -0500
committerGitHub <noreply@github.com>2020-03-01 23:00:41 -0500
commitc0f72a2c38bc37c623ad8edf300f892dff6940a0 (patch)
tree144a034c9d117bc446c72db102fef8887ea08937 /klippy
parent7a3cbc1e234b387e2e0467b1c65c861c2c9dc945 (diff)
downloadkutter-c0f72a2c38bc37c623ad8edf300f892dff6940a0.tar.gz
kutter-c0f72a2c38bc37c623ad8edf300f892dff6940a0.tar.xz
kutter-c0f72a2c38bc37c623ad8edf300f892dff6940a0.zip
safe_z_home: Support note_z_not_homed() in kinematics (#2500)
Signed-off-by: David Smith <davidosmith@gmail.com>
Diffstat (limited to 'klippy')
-rw-r--r--klippy/extras/safe_z_home.py2
-rw-r--r--klippy/kinematics/cartesian.py3
-rw-r--r--klippy/kinematics/corexy.py3
-rw-r--r--klippy/kinematics/polar.py3
4 files changed, 11 insertions, 0 deletions
diff --git a/klippy/extras/safe_z_home.py b/klippy/extras/safe_z_home.py
index 0489fab7..5c21bd3c 100644
--- a/klippy/extras/safe_z_home.py
+++ b/klippy/extras/safe_z_home.py
@@ -48,6 +48,8 @@ class SafeZHoming:
self._perform_z_hop(pos)
else:
self._perform_z_hop(pos)
+ if hasattr(toolhead.get_kinematics(), "note_z_not_homed"):
+ toolhead.get_kinematics().note_z_not_homed()
# Determine which axes we need to home
if not any([axis in params.keys() for axis in ['X', 'Y', 'Z']]):
diff --git a/klippy/kinematics/cartesian.py b/klippy/kinematics/cartesian.py
index c9ed31ff..9cbd393d 100644
--- a/klippy/kinematics/cartesian.py
+++ b/klippy/kinematics/cartesian.py
@@ -62,6 +62,9 @@ class CartKinematics:
rail.set_position(newpos)
if i in homing_axes:
self.limits[i] = rail.get_range()
+ def note_z_not_homed(self):
+ # Helper for Safe Z Home
+ self.limits[2] = (1.0, -1.0)
def _home_axis(self, homing_state, axis, rail):
# Determine movement
position_min, position_max = rail.get_range()
diff --git a/klippy/kinematics/corexy.py b/klippy/kinematics/corexy.py
index cc94d56c..f04b3009 100644
--- a/klippy/kinematics/corexy.py
+++ b/klippy/kinematics/corexy.py
@@ -49,6 +49,9 @@ class CoreXYKinematics:
rail.set_position(newpos)
if i in homing_axes:
self.limits[i] = rail.get_range()
+ def note_z_not_homed(self):
+ # Helper for Safe Z Home
+ self.limits[2] = (1.0, -1.0)
def home(self, homing_state):
# Each axis is homed independently and in order
for axis in homing_state.get_axes():
diff --git a/klippy/kinematics/polar.py b/klippy/kinematics/polar.py
index 565525f2..e3ee3241 100644
--- a/klippy/kinematics/polar.py
+++ b/klippy/kinematics/polar.py
@@ -52,6 +52,9 @@ class PolarKinematics:
self.limit_z = self.rails[1].get_range()
if 0 in homing_axes and 1 in homing_axes:
self.limit_xy2 = self.rails[0].get_range()[1]**2
+ def note_z_not_homed(self):
+ # Helper for Safe Z Home
+ self.limit_z = (1.0, -1.0)
def _home_axis(self, homing_state, axis, rail):
# Determine movement
position_min, position_max = rail.get_range()