diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2016-12-08 18:12:20 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2016-12-09 17:09:51 -0500 |
commit | 89f5452ddbcaecfba7cee5a3ba73b2659746d63f (patch) | |
tree | ac505b60430357ea9a79b90e3b3f3aa157ff3f7b /klippy/gcode.py | |
parent | a6de1db94d108f401f7f3e67f735743106e16837 (diff) | |
download | kutter-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.py | 18 |
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 |