aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/gcode.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2016-12-08 18:12:20 -0500
committerKevin O'Connor <kevin@koconnor.net>2016-12-09 17:09:51 -0500
commit89f5452ddbcaecfba7cee5a3ba73b2659746d63f (patch)
treeac505b60430357ea9a79b90e3b3f3aa157ff3f7b /klippy/gcode.py
parenta6de1db94d108f401f7f3e67f735743106e16837 (diff)
downloadkutter-89f5452ddbcaecfba7cee5a3ba73b2659746d63f.tar.gz
kutter-89f5452ddbcaecfba7cee5a3ba73b2659746d63f.tar.xz
kutter-89f5452ddbcaecfba7cee5a3ba73b2659746d63f.zip
gcode: Rework homing to use greenlets
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/gcode.py')
-rw-r--r--klippy/gcode.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/klippy/gcode.py b/klippy/gcode.py
index f280b43e..5dee80cf 100644
--- a/klippy/gcode.py
+++ b/klippy/gcode.py
@@ -260,14 +260,16 @@ class GCodeParser:
homing_state = homing.Homing(self.toolhead, axes)
if self.is_fileinput:
homing_state.set_no_verify_retract()
- self.toolhead.home(homing_state)
- def axes_update(homing_state):
- newpos = self.toolhead.get_position()
- for axis in homing_state.get_axes():
- self.last_position[axis] = newpos[axis]
- self.base_position[axis] = -self.homing_add[axis]
- homing_state.plan_axes_update(axes_update)
- self.set_busy(homing_state)
+ try:
+ self.toolhead.home(homing_state)
+ except homing.EndstopError, e:
+ self.toolhead.motor_off()
+ self.respond_error(str(e))
+ return
+ newpos = self.toolhead.get_position()
+ for axis in homing_state.get_axes():
+ self.last_position[axis] = newpos[axis]
+ self.base_position[axis] = -self.homing_add[axis]
def cmd_G90(self, params):
# Use absolute coordinates
self.absolutecoord = True