aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-06-21 18:34:33 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-06-22 14:09:01 -0400
commit968ed58b612995c479f2f751222fa1060bcb8493 (patch)
tree4645dcde4cee845e69a6414ba364d1d1a7d2cd90
parentb96542f0e5d2ea7c0fe025d5d4ffecfcb697e457 (diff)
downloadkutter-968ed58b612995c479f2f751222fa1060bcb8493.tar.gz
kutter-968ed58b612995c479f2f751222fa1060bcb8493.tar.xz
kutter-968ed58b612995c479f2f751222fa1060bcb8493.zip
stepper: Add a get_range() method to PrinterHomingStepper
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--klippy/cartesian.py12
-rw-r--r--klippy/corexy.py7
-rw-r--r--klippy/stepper.py2
3 files changed, 11 insertions, 10 deletions
diff --git a/klippy/cartesian.py b/klippy/cartesian.py
index 3eea00e0..3da1f8ec 100644
--- a/klippy/cartesian.py
+++ b/klippy/cartesian.py
@@ -59,18 +59,17 @@ class CartKinematics:
s = self.steppers[i]
s.set_position(newpos[i])
if i in homing_axes:
- self.limits[i] = (s.position_min, s.position_max)
+ self.limits[i] = s.get_range()
def _home_axis(self, homing_state, axis, stepper):
s = stepper
# Determine moves
+ position_min, position_max = s.get_range()
if s.homing_positive_dir:
- pos = s.position_endstop - 1.5*(
- s.position_endstop - s.position_min)
+ pos = s.position_endstop - 1.5*(s.position_endstop - position_min)
rpos = s.position_endstop - s.homing_retract_dist
r2pos = rpos - s.homing_retract_dist
else:
- pos = s.position_endstop + 1.5*(
- s.position_max - s.position_endstop)
+ pos = s.position_endstop + 1.5*(position_max - s.position_endstop)
rpos = s.position_endstop + s.homing_retract_dist
r2pos = rpos + s.homing_retract_dist
# Initial homing
@@ -165,8 +164,7 @@ class CartKinematics:
extruder_pos = toolhead.get_position()[3]
toolhead.set_position(self.get_position() + [extruder_pos])
if self.limits[dc_axis][0] <= self.limits[dc_axis][1]:
- self.limits[dc_axis] = (
- dc_stepper.position_min, dc_stepper.position_max)
+ self.limits[dc_axis] = dc_stepper.get_range()
self.need_motor_enable = True
cmd_SET_DUAL_CARRIAGE_help = "Set which carriage is active"
def cmd_SET_DUAL_CARRIAGE(self, params):
diff --git a/klippy/corexy.py b/klippy/corexy.py
index 8a434bf8..bf46a8ad 100644
--- a/klippy/corexy.py
+++ b/klippy/corexy.py
@@ -52,20 +52,21 @@ class CoreXYKinematics:
s = self.steppers[i]
s.set_position(pos[i])
if i in homing_axes:
- self.limits[i] = (s.position_min, s.position_max)
+ self.limits[i] = s.get_range()
def home(self, homing_state):
# Each axis is homed independently and in order
for axis in homing_state.get_axes():
s = self.steppers[axis]
# Determine moves
+ position_min, position_max = s.get_range()
if s.homing_positive_dir:
pos = s.position_endstop - 1.5*(
- s.position_endstop - s.position_min)
+ s.position_endstop - position_min)
rpos = s.position_endstop - s.homing_retract_dist
r2pos = rpos - s.homing_retract_dist
else:
pos = s.position_endstop + 1.5*(
- s.position_max - s.position_endstop)
+ position_max - s.position_endstop)
rpos = s.position_endstop + s.homing_retract_dist
r2pos = rpos + s.homing_retract_dist
# Initial homing
diff --git a/klippy/stepper.py b/klippy/stepper.py
index 551dfde0..149a3a40 100644
--- a/klippy/stepper.py
+++ b/klippy/stepper.py
@@ -170,6 +170,8 @@ class PrinterHomingStepper(PrinterStepper):
ffi_main, ffi_lib = chelper.get_ffi()
self.setup_itersolve(ffi_main.gc(
ffi_lib.cartesian_stepper_alloc(axis), ffi_lib.free))
+ def get_range(self):
+ return self.position_min, self.position_max
def get_endstops(self):
return [(self.mcu_endstop, self.get_name(short=True))]
def get_homed_offset(self):