diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2016-07-10 12:23:35 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2016-07-10 22:49:02 -0400 |
commit | af99ab164543bc5e1ee68ef35b1b6f42f06ca887 (patch) | |
tree | eff2482eb95523d99dd57e82fc1e767baf36c267 /klippy/toolhead.py | |
parent | 4a527a46cedaa4a7932ba5c1080b7133c69602cd (diff) | |
download | kutter-af99ab164543bc5e1ee68ef35b1b6f42f06ca887.tar.gz kutter-af99ab164543bc5e1ee68ef35b1b6f42f06ca887.tar.xz kutter-af99ab164543bc5e1ee68ef35b1b6f42f06ca887.zip |
extruder: Create a new class and python file to track the printer extruder
Create a new python file (extruder.py) to control the extruder heater
and stepper motors. This separates the extruder control logic from
the cartesian robot code - making it easier to customize both the
kinematic control of the robot as well as the extruder.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/toolhead.py')
-rw-r--r-- | klippy/toolhead.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/klippy/toolhead.py b/klippy/toolhead.py index 4c76c732..6e8f2729 100644 --- a/klippy/toolhead.py +++ b/klippy/toolhead.py @@ -61,6 +61,8 @@ class Move: # Generate step times for the move next_move_time = self.toolhead.get_next_move_time() self.toolhead.kin.move(next_move_time, self) + if self.axes_d[3]: + self.toolhead.extruder.move(next_move_time, self) self.toolhead.update_move_time(accel_t + cruise_t + decel_t) # Class to track a list of pending move requests and to facilitate @@ -113,6 +115,7 @@ class ToolHead: def __init__(self, printer, config): self.printer = printer self.reactor = printer.reactor + self.extruder = printer.objects.get('extruder') self.kin = cartesian.CartKinematics(printer, config) self.max_xy_speed, self.max_xy_accel = self.kin.get_max_xy_speed() self.junction_deviation = config.getfloat('junction_deviation', 0.02) @@ -208,7 +211,7 @@ class ToolHead: move.process(0., 0.) def _move_only_e(self, newpos, axes_d, speed): self.move_queue.flush() - kin_speed, kin_accel = self.kin.get_max_e_speed() + kin_speed, kin_accel = self.extruder.get_max_speed() speed = min(speed, self.max_xy_speed, kin_speed) accel = min(self.max_xy_accel, kin_accel) move = Move(self, newpos, abs(axes_d[3]), axes_d, speed, accel) @@ -238,5 +241,6 @@ class ToolHead: self.dwell(STALL_TIME) last_move_time = self.get_last_move_time() self.kin.motor_off(last_move_time) + self.extruder.motor_off(last_move_time) self.dwell(STALL_TIME) logging.debug('; Max time of %f' % (last_move_time,)) |