Beispiel #1
0
  yminmax = [ _gc["min_y"] - grid_margin, _gc["max_y"] + grid_margin]

  dx = 10.0
  dy = 10.0

  if not dry_run:

    if do_homing:
      if verbose: print "# homing..."
      x = grbl.send_command("$H")
      if verbose: print "# got:", x

    if verbose: print "# moving z to:", z_ub
    x = grbl.send_command("G1 Z" + str(z_safe) + " F" + str(G1_SPEED_Z))
    if verbose: print "# got:", x
    var = grbl.wait_for_var_position('z', z_safe)
    if verbose: print "# got:", var

  _pntsxy = []
  _y = yminmax[0]
  while _y <= yminmax[1]:
    _x = xminmax[0]
    while _x <= xminmax[1]:
      _pntsxy.append( [_x, _y] )
      _x += dx
    _pntsxy.append( [xminmax[1], _y] )
    _y += dy

  _y = yminmax[1]
  _x = xminmax[0]
  while _x <= xminmax[1]:
  print "# setup done\n"

if not debug:
  grbl.get_var_position( "Z" )


for p in grid:
  x,y = p
  if verbose:
    print "# starting probe for x", x, "y", y, "(z", z_up, ")"

  if not debug:
    grbl.send_command( "g1 z" + str(z_up) )
    grbl.send_command( "g0 x" + str(x) + " y" + str(y) )

    grbl.wait_for_var_position("X", x)
    grbl.wait_for_var_position("Y", y)
    grbl.wait_for_var_position("Z", z_up)

    # probe
    grbl.send_command( "$P" )

    # get touched position
    probe_str = grbl.send_command("$S")

    if verbose:
      print "# probe_str:", probe_str

    m = re.search("contact_z:(-?\d+(\.\d+)?)", probe_str)
    if m:
      z = m.group(1)