aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-11-29 19:53:16 -0500
committerKevin O'Connor <kevin@koconnor.net>2017-11-29 19:55:25 -0500
commit6930a7de8d0e9be0a9c098c27ebaa854851ca734 (patch)
treebb0cc66c6689e016017c5a6e0aad41892ae848dd /klippy
parent6bbb84326dfa25f08818b76713cf9e63b16c3291 (diff)
downloadkutter-6930a7de8d0e9be0a9c098c27ebaa854851ca734.tar.gz
kutter-6930a7de8d0e9be0a9c098c27ebaa854851ca734.tar.xz
kutter-6930a7de8d0e9be0a9c098c27ebaa854851ca734.zip
homing: Base homing cpu delay on estimated number of steps needed
Instead of adding 250ms to each homing operation add a time relative to the number of estimated steps that are to be generated. This scales the delay to really large axes without adding a delay for normal users. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy')
-rw-r--r--klippy/homing.py10
-rw-r--r--klippy/toolhead.py5
2 files changed, 11 insertions, 4 deletions
diff --git a/klippy/homing.py b/klippy/homing.py
index a8ad2e70..abaafa6a 100644
--- a/klippy/homing.py
+++ b/klippy/homing.py
@@ -5,7 +5,7 @@
# This file may be distributed under the terms of the GNU GPLv3 license.
import logging
-HOMING_DELAY = 0.250
+HOMING_STEP_DELAY = 0.00000025
ENDSTOP_SAMPLE_TIME = .000015
ENDSTOP_SAMPLE_COUNT = 4
@@ -34,7 +34,13 @@ class Homing:
self.toolhead.set_position(self._fill_coord(forcepos))
# Start homing and issue move
if not second_home:
- self.toolhead.dwell(HOMING_DELAY)
+ est_move_d = sum([abs(forcepos[i]-movepos[i])
+ for i in range(3) if movepos[i] is not None])
+ est_steps = sum(
+ [est_move_d / mcu_stepper.get_step_dist()
+ for s in steppers
+ for mcu_endstop, mcu_stepper, name in s.get_endstops()])
+ self.toolhead.dwell(est_steps * HOMING_STEP_DELAY, check_stall=False)
print_time = self.toolhead.get_last_move_time()
endstops = []
for s in steppers:
diff --git a/klippy/toolhead.py b/klippy/toolhead.py
index 50fea974..dde40e9b 100644
--- a/klippy/toolhead.py
+++ b/klippy/toolhead.py
@@ -329,10 +329,11 @@ class ToolHead:
self._check_stall()
def home(self, homing_state):
self.kin.home(homing_state)
- def dwell(self, delay):
+ def dwell(self, delay, check_stall=True):
self.get_last_move_time()
self.update_move_time(delay)
- self._check_stall()
+ if check_stall:
+ self._check_stall()
def motor_off(self):
self.dwell(STALL_TIME)
last_move_time = self.get_last_move_time()