(info: backlash measurement utility, use with dial indicator) o sub # = #1 (= 0 0=x 1=y 2=z) # = #2 (= 1.1) # = #3 (= 2) # = #4 (= 0.1) # = #5 (= 10) # = #6 (= 10) o if [# GT #] # = # # = # o else # = # # = # o endif # = [# - #] o if [ABS[#] GT 0.9] (protect indicator) (debug, backlash: move too big for indicator # - EXITING) (print, backlash: move too big for indicator # - EXITING) (AXIS,notify, backlash: move too big for indicator - EXITING) m2 o endif o if [[# GT .99] OR [# LT .01]] (debug, backlash: bad fraction: # - EXITING) (print, backlash: bad fraction: # - EXITING) (AXIS,notify, bad fraction - EXITING) m2 o endif # = [# + [# - #] * #] # = 0 f # g1 o while [# GT 0] o if [# EQ 0] # = 1 x # x # (debug, set indicator ZERO, S to continue) m0 (mandatory stop) M110 x # x # o endif o if [# EQ 1] # = 1 y # y # (debug, set indicator ZERO, S to continue) m0 (mandatory stop) M110 y # y # o endif o if [# EQ 2] # = 1 z # z # (debug, set indicator ZERO, S to continue) m0 (mandatory stop) M110 z # z # o endif o if [# EQ 5] # = 1 c # c # (debug, set indicator ZERO, S to continue) m0 (mandatory stop) M110 c # c # o endif # = [# - 1] (debug, READ indicator, S to continue) m0 (mandatory stop) M110 o endwhile o if [# EQ 0] (debug, bad axis specifier: #) (print, bad axis specifier: #) o endif o endsub