homing: Create Homing class from gcode

Create the Homing class in the gcode handler instead of in the
kinematic classes.  This will make it easier to pass error messages
back to the user.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2016-11-18 11:27:16 -05:00
parent 9e1059afb4
commit 781cf608d7
5 changed files with 20 additions and 19 deletions

View file

@ -14,13 +14,17 @@ class Homing:
self.eventtime = 0.
self.states = []
self.endstops = []
def set_axes(self, axes):
self.changed_axes = axes
def get_axes(self):
return self.changed_axes
def plan_home(self, forcepos, movepos, steppers, speed):
self.states.append((self.do_home, (forcepos, movepos, steppers, speed)))
self.states.append((self.do_wait_endstop, ()))
def plan_move(self, newpos, speed):
self.states.append((self.do_move, (newpos, speed)))
def plan_axes_update(self, callback):
self.states.append((callback, (self.changed_axes,)))
self.states.append((callback, (self,)))
def check_busy(self, eventtime):
self.eventtime = eventtime
while self.states: