aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/cartesian.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-10-12 00:48:01 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-10-12 01:16:11 -0400
commitcc7c99a4a415fb3c4fa8ef947d12098c13b40d12 (patch)
tree98ad1151403be1572eef832379138f2c0c4f8267 /klippy/cartesian.py
parentd3eb148cfa411bd8e22f06f190ffda4b2cca5a06 (diff)
downloadkutter-cc7c99a4a415fb3c4fa8ef947d12098c13b40d12.tar.gz
kutter-cc7c99a4a415fb3c4fa8ef947d12098c13b40d12.tar.xz
kutter-cc7c99a4a415fb3c4fa8ef947d12098c13b40d12.zip
cartesian: Fix min_stop_interval calculation error
It is possible to have an acceleration greater than max_z_accel on XY+Z moves. That needs to be taken into account when calculating the min_stop_interval. This prevents spurious "No next step" MCU errors. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/cartesian.py')
-rw-r--r--klippy/cartesian.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/klippy/cartesian.py b/klippy/cartesian.py
index 1786c63f..f0d2e258 100644
--- a/klippy/cartesian.py
+++ b/klippy/cartesian.py
@@ -21,11 +21,11 @@ class CartKinematics:
self.need_motor_enable = True
self.limits = [(1.0, -1.0)] * 3
# Setup stepper max halt velocity
- max_xy_halt_velocity = toolhead.get_max_axis_halt(max_accel)
- self.steppers[0].set_max_jerk(max_xy_halt_velocity, max_accel)
- self.steppers[1].set_max_jerk(max_xy_halt_velocity, max_accel)
- max_z_halt_velocity = toolhead.get_max_axis_halt(self.max_z_accel)
- self.steppers[2].set_max_jerk(max_z_halt_velocity, self.max_z_accel)
+ max_halt_velocity = toolhead.get_max_axis_halt()
+ self.steppers[0].set_max_jerk(max_halt_velocity, max_accel)
+ self.steppers[1].set_max_jerk(max_halt_velocity, max_accel)
+ self.steppers[2].set_max_jerk(
+ min(max_halt_velocity, self.max_z_velocity), max_accel)
def set_position(self, newpos):
for i in StepList:
self.steppers[i].mcu_stepper.set_position(newpos[i])