diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-01-04 12:42:55 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-01-04 12:47:45 -0500 |
commit | 24fe606d4d7df479e35caf6a3a56d52b746611d0 (patch) | |
tree | 0b349997ebdcc727f57e19cbef7f037ec08bb44c | |
parent | a2f0c36e7d896dd9495379d6fa493e5fac35d8ab (diff) | |
download | kutter-24fe606d4d7df479e35caf6a3a56d52b746611d0.tar.gz kutter-24fe606d4d7df479e35caf6a3a56d52b746611d0.tar.xz kutter-24fe606d4d7df479e35caf6a3a56d52b746611d0.zip |
toolhead: Do not apply main printer accel/velocity to extrude only moves
Limit speed and acceleration of extrude only moves to just the
max_extrude_only_velocity and max_extrude_only_accel config settings.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r-- | klippy/toolhead.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/klippy/toolhead.py b/klippy/toolhead.py index 440b88a1..458d5c51 100644 --- a/klippy/toolhead.py +++ b/klippy/toolhead.py @@ -17,6 +17,7 @@ class Move: self.start_pos = tuple(start_pos) self.end_pos = tuple(end_pos) self.accel = toolhead.max_accel + velocity = min(speed, toolhead.max_velocity) self.cmove = toolhead.cmove self.is_kinematic_move = True self.axes_d = axes_d = [end_pos[i] - start_pos[i] for i in (0, 1, 2, 3)] @@ -27,13 +28,15 @@ class Move: end_pos[3]) axes_d[0] = axes_d[1] = axes_d[2] = 0. self.move_d = move_d = abs(axes_d[3]) + self.accel = 99999999.9 + velocity = speed self.is_kinematic_move = False - self.min_move_t = move_d / speed + self.min_move_t = move_d / velocity # Junction speeds are tracked in velocity squared. The # delta_v2 is the maximum amount of this squared-velocity that # can change in this move. self.max_start_v2 = 0. - self.max_cruise_v2 = speed**2 + self.max_cruise_v2 = velocity**2 self.delta_v2 = 2.0 * move_d * self.accel self.max_smoothed_v2 = 0. self.smooth_delta_v2 = 2.0 * move_d * toolhead.max_accel_to_decel @@ -344,7 +347,6 @@ class ToolHead: self.commanded_pos[:] = newpos self.kin.set_position(newpos, homing_axes) def move(self, newpos, speed): - speed = min(speed, self.max_velocity) move = Move(self, self.commanded_pos, newpos, speed) if not move.move_d: return |