From 981c53682f58c49f7c140bad945e54d7d61d2755 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 24 Jul 2017 14:12:17 -0400 Subject: stepper: Use a sane default for homing_positive_dir Use the endstop position to determine a sane default for homing_positive_dir. Signed-off-by: Kevin O'Connor --- klippy/stepper.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'klippy/stepper.py') diff --git a/klippy/stepper.py b/klippy/stepper.py index 61900a20..1b2841f4 100644 --- a/klippy/stepper.py +++ b/klippy/stepper.py @@ -57,8 +57,17 @@ class PrinterHomingStepper(PrinterStepper): self.position_endstop = config.getfloat('position_endstop') self.homing_speed = config.getfloat('homing_speed', 5.0, above=0.) - self.homing_positive_dir = config.getboolean( - 'homing_positive_dir', False) + self.homing_positive_dir = config.getboolean('homing_positive_dir', None) + if self.homing_positive_dir is None: + axis_len = self.position_max - self.position_min + if self.position_endstop <= self.position_min + axis_len / 4.: + self.homing_positive_dir = False + elif self.position_endstop >= self.position_max - axis_len / 4.: + self.homing_positive_dir = True + else: + raise config.error( + "Unable to infer homing_positive_dir in section '%s'" % ( + config.section,)) self.homing_retract_dist = config.getfloat( 'homing_retract_dist', 5., above=0.) self.homing_stepper_phases = config.getint( -- cgit v1.2.3-70-g09d2