mirror of https://github.com/Desuuuu/klipper.git
delta: Don't limit XY+Z moves to max_z_velocity
Scale the max_z_velocity limit by the amount of movement in the Z. This should improve bed_mesh and vase mode prints on delta printers. Reported by @hywelmartin and @dalegaard. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
b336a21fe7
commit
afd1058af6
|
@ -129,7 +129,8 @@ class DeltaKinematics:
|
|||
raise move.move_error()
|
||||
limit_xy2 = -1.
|
||||
if move.axes_d[2]:
|
||||
move.limit_speed(self.max_z_velocity, move.accel)
|
||||
z_ratio = move.move_d / abs(move.axes_d[2])
|
||||
move.limit_speed(self.max_z_velocity * z_ratio, move.accel)
|
||||
limit_xy2 = -1.
|
||||
# Limit the speed/accel of this move if is is at the extreme
|
||||
# end of the build envelope
|
||||
|
@ -138,10 +139,7 @@ class DeltaKinematics:
|
|||
r = 0.5
|
||||
if extreme_xy2 > self.very_slow_xy2:
|
||||
r = 0.25
|
||||
max_velocity = self.max_velocity
|
||||
if move.axes_d[2]:
|
||||
max_velocity = self.max_z_velocity
|
||||
move.limit_speed(max_velocity * r, self.max_accel * r)
|
||||
move.limit_speed(self.max_velocity * r, self.max_accel * r)
|
||||
limit_xy2 = -1.
|
||||
self.limit_xy2 = min(limit_xy2, self.slow_xy2)
|
||||
def get_status(self, eventtime):
|
||||
|
|
Loading…
Reference in New Issue