From 71b4923208b0fda7810d923ae8e2a178030eebac Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Thu, 1 Dec 2016 16:04:48 -0500 Subject: delta: Support limiting the maximum velocity of z moves On a delta printer, z moves require the mcu to support the greatest number of steps per second. However, z moves are rare, so it makes sense to limit the velocity of z moves separately from the velocity of normal xy moves. Signed-off-by: Kevin O'Connor --- klippy/delta.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'klippy/delta.py') diff --git a/klippy/delta.py b/klippy/delta.py index 3b2ad674..ef7dbde7 100644 --- a/klippy/delta.py +++ b/klippy/delta.py @@ -14,6 +14,7 @@ class DeltaKinematics: printer, config.getsection('stepper_' + n), n) for n in ['a', 'b', 'c']] self.need_motor_enable = True + self.max_z_velocity = config.getfloat('max_z_velocity', 9999999.9) radius = config.getfloat('delta_radius') arm_length = config.getfloat('delta_arm_length') self.arm_length2 = arm_length**2 @@ -122,6 +123,8 @@ class DeltaKinematics: if end_pos[2] > self.limit_z: if end_pos[2] > self.max_z or xy2 > (self.max_z - end_pos[2])**2: raise homing.EndstopMoveError(end_pos) + if move.axes_d[2]: + move.limit_speed(self.max_z_velocity, 9999999.9) def move_z(self, move_time, move): if not move.axes_d[2]: return -- cgit v1.2.3-70-g09d2