aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extruder.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-04-29 14:56:39 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-06-09 18:54:38 -0400
commit24b8f4ebc192dde459fb345ebc109847dd7266e7 (patch)
tree770ee82bcf96cfa90e52ae3a321baee60aaca590 /klippy/extruder.py
parent136dccbcdfc6a20c8b6755afdfb65891cee3d1a7 (diff)
downloadkutter-24b8f4ebc192dde459fb345ebc109847dd7266e7.tar.gz
kutter-24b8f4ebc192dde459fb345ebc109847dd7266e7.tar.xz
kutter-24b8f4ebc192dde459fb345ebc109847dd7266e7.zip
extruder: Add initial support for multi-extruders
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extruder.py')
-rw-r--r--klippy/extruder.py28
1 files changed, 25 insertions, 3 deletions
diff --git a/klippy/extruder.py b/klippy/extruder.py
index a4d6bd5a..6ce4fdfd 100644
--- a/klippy/extruder.py
+++ b/klippy/extruder.py
@@ -40,6 +40,10 @@ class PrinterExtruder:
'max_extrude_only_accel', max_accel * self.max_extrude_ratio
, above=0.)
self.stepper.set_max_jerk(9999999.9, 9999999.9)
+ def get_heater(self):
+ return self.heater
+ def set_active(self, print_time, is_active):
+ return self.extrude_pos
def motor_off(self, move_time):
self.stepper.motor_enable(move_time, 0)
self.need_motor_enable = True
@@ -201,6 +205,8 @@ class PrinterExtruder:
class DummyExtruder:
def set_max_jerk(self, max_xy_halt_velocity, max_velocity, max_accel):
pass
+ def set_active(self, print_time, is_active):
+ return 0.
def motor_off(self, move_time):
pass
def check_move(self, move):
@@ -212,6 +218,22 @@ class DummyExtruder:
return flush_count
def add_printer_objects(printer, config):
- if config.has_section('extruder'):
- printer.add_object('extruder', PrinterExtruder(
- printer, config.getsection('extruder')))
+ for i in range(99):
+ section = 'extruder%d' % (i,)
+ if not config.has_section(section):
+ if not i and config.has_section('extruder'):
+ printer.add_object('extruder0', PrinterExtruder(
+ printer, config.getsection('extruder')))
+ continue
+ break
+ printer.add_object(section, PrinterExtruder(
+ printer, config.getsection(section)))
+
+def get_printer_extruders(printer):
+ out = []
+ for i in range(99):
+ extruder = printer.objects.get('extruder%d' % (i,))
+ if extruder is None:
+ break
+ out.append(extruder)
+ return out