diff options
Diffstat (limited to 'klippy')
-rw-r--r-- | klippy/delta.py | 10 | ||||
-rw-r--r-- | klippy/stepper.py | 8 |
2 files changed, 14 insertions, 4 deletions
diff --git a/klippy/delta.py b/klippy/delta.py index 5900a183..e2bb971a 100644 --- a/klippy/delta.py +++ b/klippy/delta.py @@ -15,8 +15,14 @@ class DeltaKinematics: def __init__(self, toolhead, printer, config): stepper_configs = [config.getsection('stepper_' + n) for n in ['a', 'b', 'c']] - self.steppers = [stepper.PrinterHomingStepper(printer, sconfig) - for sconfig in stepper_configs] + stepper_a = stepper.PrinterHomingStepper(printer, stepper_configs[0]) + stepper_b = stepper.PrinterHomingStepper( + printer, stepper_configs[1], + default_position=stepper_a.position_endstop) + stepper_c = stepper.PrinterHomingStepper( + printer, stepper_configs[2], + default_position=stepper_a.position_endstop) + self.steppers = [stepper_a, stepper_b, stepper_c] self.need_motor_enable = self.need_home = True radius = config.getfloat('delta_radius', above=0.) arm_length_a = stepper_configs[0].getfloat('arm_length', above=radius) diff --git a/klippy/stepper.py b/klippy/stepper.py index 07798a1d..109d0904 100644 --- a/klippy/stepper.py +++ b/klippy/stepper.py @@ -51,13 +51,17 @@ class PrinterStepper: # Support for stepper controlled linear axis with an endstop class PrinterHomingStepper(PrinterStepper): - def __init__(self, printer, config): + def __init__(self, printer, config, default_position=None): PrinterStepper.__init__(self, printer, config) # Endstop and its position self.mcu_endstop = pins.setup_pin( printer, 'endstop', config.get('endstop_pin')) self.mcu_endstop.add_stepper(self.mcu_stepper) - self.position_endstop = config.getfloat('position_endstop') + if default_position is None: + self.position_endstop = config.getfloat('position_endstop') + else: + self.position_endstop = config.getfloat( + 'position_endstop', default_position) # Axis range self.position_min = config.getfloat('position_min', 0.) self.position_max = config.getfloat( |