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/toolhead.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'klippy/toolhead.py') diff --git a/klippy/toolhead.py b/klippy/toolhead.py index 6ed6099e..6df5e17f 100644 --- a/klippy/toolhead.py +++ b/klippy/toolhead.py @@ -381,11 +381,12 @@ class ToolHead: logging.exception("Exception in force_shutdown") def get_max_velocity(self): return self.max_velocity, self.max_accel - def get_max_axis_halt(self, max_accel): + def get_max_axis_halt(self): # Determine the maximum velocity a cartesian axis could halt # at due to the junction_deviation setting. The 8.0 was # determined experimentally. - return math.sqrt(8. * self.junction_deviation * max_accel) + return min(self.max_velocity, + math.sqrt(8. * self.junction_deviation * self.max_accel)) def add_printer_objects(printer, config): printer.add_object('toolhead', ToolHead(printer, config)) -- cgit v1.2.3-70-g09d2