From 89f5452ddbcaecfba7cee5a3ba73b2659746d63f Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Thu, 8 Dec 2016 18:12:20 -0500 Subject: gcode: Rework homing to use greenlets Signed-off-by: Kevin O'Connor --- klippy/gcode.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'klippy/gcode.py') 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 -- cgit v1.2.3-70-g09d2