diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-09-01 18:19:16 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-09-01 18:21:05 -0400 |
commit | 05edd556c318469647e929af1497f40793b1894d (patch) | |
tree | 2177a75be4b06037ef2b8f9630c98c0636524f58 /klippy | |
parent | 296ab7d40283959abab226fdfd0434f8de43dbad (diff) | |
download | kutter-05edd556c318469647e929af1497f40793b1894d.tar.gz kutter-05edd556c318469647e929af1497f40793b1894d.tar.xz kutter-05edd556c318469647e929af1497f40793b1894d.zip |
toolhead: Fix homing moves not apply kinematic acceleration limits
During a "drip feed" move, both the move's maximum speed and maximum
acceleration may be limited by the kinematics.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy')
-rw-r--r-- | klippy/toolhead.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/klippy/toolhead.py b/klippy/toolhead.py index d739e919..5b076dd5 100644 --- a/klippy/toolhead.py +++ b/klippy/toolhead.py @@ -427,6 +427,7 @@ class ToolHead: return self.kin.check_move(move) speed = math.sqrt(move.max_cruise_v2) + move_accel = move.accel # Transition to "Flushed" state and then to "Drip" state self._full_flush() self.special_queuing_state = "Drip" @@ -442,9 +443,13 @@ class ToolHead: try: for i in range(num_moves-1): next_pos = [p + d for p, d in zip(prev_pos, submove_d)] - self.move_queue.add_move(Move(self, prev_pos, next_pos, speed)) + smove = Move(self, prev_pos, next_pos, speed) + smove.limit_speed(speed, move_accel) + self.move_queue.add_move(smove) prev_pos = next_pos - self.move_queue.add_move(Move(self, prev_pos, move.end_pos, speed)) + smove = Move(self, prev_pos, move.end_pos, speed) + smove.limit_speed(speed, move_accel) + self.move_queue.add_move(smove) self.move_queue.flush() except DripModeEndSignal as e: self.move_queue.reset() |