aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/stepper.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2016-11-14 13:40:35 -0500
committerKevin O'Connor <kevin@koconnor.net>2016-11-14 13:40:35 -0500
commit5a1ec817d4a1be304ad873ef839c329f8a8f6a58 (patch)
treee2d4d2518f8504427d400bab76ef6ea1e4a4ea65 /klippy/stepper.py
parent9ad8153d331273259d584efc72145acd71a8485a (diff)
downloadkutter-5a1ec817d4a1be304ad873ef839c329f8a8f6a58.tar.gz
kutter-5a1ec817d4a1be304ad873ef839c329f8a8f6a58.tar.xz
kutter-5a1ec817d4a1be304ad873ef839c329f8a8f6a58.zip
stepper: Check if the motor needs to be enabled in the kinematic classes
Check for motor enable in the kinematic classes so it doesn't need to be checked on every move. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
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