diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2017-04-29 14:56:39 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2017-06-09 18:54:38 -0400 |
commit | 24b8f4ebc192dde459fb345ebc109847dd7266e7 (patch) | |
tree | 770ee82bcf96cfa90e52ae3a321baee60aaca590 /klippy/extruder.py | |
parent | 136dccbcdfc6a20c8b6755afdfb65891cee3d1a7 (diff) | |
download | kutter-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.py | 28 |
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 |