aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/stepper.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/stepper.py')
-rw-r--r--klippy/stepper.py14
1 files changed, 5 insertions, 9 deletions
diff --git a/klippy/stepper.py b/klippy/stepper.py
index 8324eebc..51abd093 100644
--- a/klippy/stepper.py
+++ b/klippy/stepper.py
@@ -64,18 +64,14 @@ class PrinterStepper:
if endstop_pin is not None:
self.mcu_endstop = mcu.create_endstop(endstop_pin, self.mcu_stepper)
def motor_enable(self, move_time, enable=0):
+ if enable and self.need_motor_enable:
+ mcu_time = self.mcu_stepper.print_to_mcu_time(move_time)
+ self.mcu_stepper.reset_step_clock(mcu_time)
if (self.mcu_enable is not None
and self.mcu_enable.get_last_setting() != enable):
mcu_time = self.mcu_enable.print_to_mcu_time(move_time)
self.mcu_enable.set_digital(mcu_time, enable)
- self.need_motor_enable = True
- def prep_move(self, move_time):
- mcu_time = self.mcu_stepper.print_to_mcu_time(move_time)
- if self.need_motor_enable:
- self.mcu_stepper.reset_step_clock(mcu_time)
- self.motor_enable(move_time, 1)
- self.need_motor_enable = False
- return (mcu_time, self.mcu_stepper)
+ self.need_motor_enable = not enable
def enable_endstop_checking(self, move_time, step_time):
mcu_time = self.mcu_endstop.print_to_mcu_time(move_time)
self.mcu_endstop.home(mcu_time, step_time)
@@ -86,7 +82,7 @@ class PrinterStepper:
self.mcu_endstop.query_endstop()
return self.mcu_endstop
def get_homed_offset(self):
- if not self.homing_stepper_phases:
+ if not self.homing_stepper_phases or self.need_motor_enable:
return 0
pos = self.mcu_endstop.get_last_position()
pos %= self.homing_stepper_phases