diff options
author | Chris Whiteford <github@chrisandtennille.com> | 2018-10-04 18:55:58 -0400 |
---|---|---|
committer | KevinOConnor <kevin@koconnor.net> | 2018-10-04 18:55:58 -0400 |
commit | b0d859f220457f0a1c15b5be452620f19043ae16 (patch) | |
tree | 83648d1225efc0651e7713d1143dc4f99161b4aa /klippy | |
parent | 97927172f15c96dc941743f559575ca5ddcf55e1 (diff) | |
download | kutter-b0d859f220457f0a1c15b5be452620f19043ae16.tar.gz kutter-b0d859f220457f0a1c15b5be452620f19043ae16.tar.xz kutter-b0d859f220457f0a1c15b5be452620f19043ae16.zip |
stepper: Adding support for a second_homing_speed parameter (#677)
Signed-off-by: Chris Whiteford <chris@chrisandtennille.com>
Diffstat (limited to 'klippy')
-rw-r--r-- | klippy/kinematics/cartesian.py | 5 | ||||
-rw-r--r-- | klippy/kinematics/corexy.py | 5 | ||||
-rw-r--r-- | klippy/kinematics/delta.py | 5 | ||||
-rw-r--r-- | klippy/stepper.py | 5 |
4 files changed, 12 insertions, 8 deletions
diff --git a/klippy/kinematics/cartesian.py b/klippy/kinematics/cartesian.py index 4bcfdff3..ecf00320 100644 --- a/klippy/kinematics/cartesian.py +++ b/klippy/kinematics/cartesian.py @@ -68,6 +68,7 @@ class CartKinematics: r2pos = rpos + hi.retract_dist # Initial homing homing_speed = hi.speed + second_homing_speed = hi.second_homing_speed if axis == 2: homing_speed = min(homing_speed, self.max_z_velocity) homepos = [None, None, None, None] @@ -77,11 +78,11 @@ class CartKinematics: homing_state.home(coord, homepos, rail.get_endstops(), homing_speed) # Retract coord[axis] = rpos - homing_state.retract(coord, homing_speed) + homing_state.retract(coord, second_homing_speed) # Home again coord[axis] = r2pos homing_state.home(coord, homepos, rail.get_endstops(), - homing_speed/2.0, second_home=True) + second_homing_speed, second_home=True) # Set final homed position coord[axis] = hi.position_endstop + rail.get_homed_offset() homing_state.set_homed_position(coord) diff --git a/klippy/kinematics/corexy.py b/klippy/kinematics/corexy.py index 47bc3e92..a3399d89 100644 --- a/klippy/kinematics/corexy.py +++ b/klippy/kinematics/corexy.py @@ -63,6 +63,7 @@ class CoreXYKinematics: r2pos = rpos + hi.retract_dist # Initial homing homing_speed = hi.speed + second_homing_speed = hi.second_homing_speed if axis == 2: homing_speed = min(homing_speed, self.max_z_velocity) homepos = [None, None, None, None] @@ -72,11 +73,11 @@ class CoreXYKinematics: homing_state.home(coord, homepos, rail.get_endstops(), homing_speed) # Retract coord[axis] = rpos - homing_state.retract(coord, homing_speed) + homing_state.retract(coord, second_homing_speed) # Home again coord[axis] = r2pos homing_state.home(coord, homepos, rail.get_endstops(), - homing_speed/2.0, second_home=True) + second_homing_speed, second_home=True) if axis == 2: # Support endstop phase detection on Z axis coord[axis] = hi.position_endstop + rail.get_homed_offset() diff --git a/klippy/kinematics/delta.py b/klippy/kinematics/delta.py index 84f8db78..9a357049 100644 --- a/klippy/kinematics/delta.py +++ b/klippy/kinematics/delta.py @@ -101,17 +101,18 @@ class DeltaKinematics: # Initial homing - assume homing speed same for all steppers hi = self.rails[0].get_homing_info() homing_speed = min(hi.speed, self.max_z_velocity) + second_homing_speed = min(hi.second_homing_speed, self.max_z_velocity) homepos = [0., 0., self.max_z, None] coord = list(homepos) coord[2] = -1.5 * math.sqrt(max(self.arm2)-self.max_xy2) homing_state.home(coord, homepos, endstops, homing_speed) # Retract coord[2] = homepos[2] - hi.retract_dist - homing_state.retract(coord, homing_speed) + homing_state.retract(coord, second_homing_speed) # Home again coord[2] -= hi.retract_dist homing_state.home(coord, homepos, endstops, - homing_speed/2.0, second_home=True) + second_homing_speed, second_home=True) # Set final homed position spos = [ep + rail.get_homed_offset() for ep, rail in zip(self.abs_endstops, self.rails)] diff --git a/klippy/stepper.py b/klippy/stepper.py index c7fda2bd..48706178 100644 --- a/klippy/stepper.py +++ b/klippy/stepper.py @@ -145,6 +145,7 @@ class PrinterRail: " position_min and position_max" % config.get_name()) # Homing mechanics self.homing_speed = config.getfloat('homing_speed', 5.0, above=0.) + self.second_homing_speed = config.getfloat('second_homing_speed', self.homing_speed/2., above=0.) self.homing_retract_dist = config.getfloat( 'homing_retract_dist', 5., minval=0.) self.homing_positive_dir = config.getboolean( @@ -220,9 +221,9 @@ class PrinterRail: return self.position_min, self.position_max def get_homing_info(self): homing_info = collections.namedtuple('homing_info', [ - 'speed', 'position_endstop', 'retract_dist', 'positive_dir'])( + 'speed', 'position_endstop', 'retract_dist', 'positive_dir', 'second_homing_speed'])( self.homing_speed, self.position_endstop, - self.homing_retract_dist, self.homing_positive_dir) + self.homing_retract_dist, self.homing_positive_dir, self.second_homing_speed) return homing_info def get_steppers(self): return list(self.steppers) |