From 90bc1679a2c853b671aefc1d9fc0a96a879add06 Mon Sep 17 00:00:00 2001 From: Simo Apell <34631067+sapell@users.noreply.github.com> Date: Sun, 13 Oct 2019 13:59:43 +0300 Subject: extruder_stepper: Initial support for synchronized extruder steppers Signed-off-by: Simo Apell Signed-off-by: Kevin O'Connor --- klippy/extras/extruder_stepper.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 klippy/extras/extruder_stepper.py (limited to 'klippy/extras/extruder_stepper.py') diff --git a/klippy/extras/extruder_stepper.py b/klippy/extras/extruder_stepper.py new file mode 100644 index 00000000..f6d0e9ea --- /dev/null +++ b/klippy/extras/extruder_stepper.py @@ -0,0 +1,25 @@ +# Code for supporting multiple steppers in single filament extruder. +# +# Copyright (C) 2019 Simo Apell +# +# This file may be distributed under the terms of the GNU GPLv3 license. +import logging +import stepper + +class ExtruderStepper: + def __init__(self, config): + self.printer = config.get_printer() + self.extruder_name = config.get('extruder', 'extruder') + self.stepper = stepper.PrinterStepper(config) + self.stepper.set_max_jerk(9999999.9, 9999999.9) + self.stepper.setup_itersolve('extruder_stepper_alloc') + self.printer.register_event_handler("klippy:connect", + self.handle_connect) + def handle_connect(self): + extruder = self.printer.lookup_object(self.extruder_name) + self.stepper.set_trapq(extruder.get_trapq()) + toolhead = self.printer.lookup_object('toolhead') + toolhead.register_step_generator(self.stepper.generate_steps) + +def load_config_prefix(config): + return ExtruderStepper(config) -- cgit v1.2.3-70-g09d2