From cc7c99a4a415fb3c4fa8ef947d12098c13b40d12 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Thu, 12 Oct 2017 00:48:01 -0400 Subject: 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 --- klippy/cartesian.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'klippy/cartesian.py') 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]) -- cgit v1.2.3-70-g09d2