def ok_for_mdi(): print >>sys.stderr, "in ok_for_mdi" while True: time.sleep(10) # sleep for 10 seconds s.poll() print >>sys.stderr, "in the while loop" print >>sys.stderr, "axis mask %d" % (s.axis_mask) isHomed=True for i,h in enumerate(s.homed): print >>sys.stderr, "home status: i = %s : h = %s" % (i,h) if s.axis_mask & (1<>sys.stderr, "isHomed = %s " % isHomed if isHomed: break print >>sys.stderr, "after s.poll" return not s.estop and s.enabled and s.homed and (s.interp_state == linuxcnc.INTERP_IDLE) def home_all_axes(event=None): if not manual_ok(): return ensure_mode(linuxcnc.MODE_MANUAL) isHomed=True for i,h in enumerate(s.homed): if s.axis_mask & (1<>sys.stderr, "After sleep" if commands.ok_for_mdi(): print >>sys.stderr, "Ok for MDI" c.wait_complete() # clear G55 offset commands.clear_offset(num="2") def unhome_all_axes(event=None):