aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-11-01 21:21:37 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-12-08 18:20:04 -0500
commitf8acf0f54f4e2196b65c29cce8062380609b9b2b (patch)
tree781f0f5c36bc850e9abddc88a5048d0578a1a4e6 /klippy
parentbc5d900e612cf1de25f0b80e9bd5544f9e84576a (diff)
downloadkutter-f8acf0f54f4e2196b65c29cce8062380609b9b2b.tar.gz
kutter-f8acf0f54f4e2196b65c29cce8062380609b9b2b.tar.xz
kutter-f8acf0f54f4e2196b65c29cce8062380609b9b2b.zip
delta: Default stepper_b/c position_endstop to stepper_a's
If the position_endstop is not set for stepper_b or stepper_c then use the value from stepper_a. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy')
-rw-r--r--klippy/delta.py10
-rw-r--r--klippy/stepper.py8
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(