o sub ;(debug, in change tool_in_spindle=# current_pocket=#) ;(debug, selected_tool=# selected_pocket=#) # = # # = # ; we must execute this only in the milltask interpreter ; or preview will break, so test for '#<_task>' which is 1 for ; the milltask interpreter and 0 in the UI's O100 if [#<_task> EQ 0] (debug, Task ist Null) O100 return [999] O100 endif ; check we are in right mode O110 if [#<_metric_machine>] O115 if [#<_imperial>] (MSG, Auto Tool probe error: not in G21 mode ) O115 return [-3] ; indicate probe contact failure to epilog O115 endif O110 else O115 if [#<_imperial> EQ 0] (MSG, Auto Tool probe error: not in G20 mode ) O115 return [-3] ; indicate probe contact failure to epilog O115 endif O110 endif ;first go up F #<_hal[qtversaprobe.searchvel]> G53 G0 Z[#<_ini[CHANGE_POSITION]Z>] O125 if [#<_current_tool> NE #] ; then move to change position G53 G0 X[#<_ini[CHANGE_POSITION]X>] Y[#<_ini[CHANGE_POSITION]Y>] O125 endif ; cancel tool offset G49 ; using the code being remapped here means 'use builtin behaviour' M6 O200 if [#<_hal[qtversaprobe.enable]> EQ 0] (MSG, Auto Tool probe disabled ) G43 O200 return [3] ; indicate no tool measurement O200 endif G53 G0 X[#<_ini[VERSA_TOOLSETTER]X>] Y[#<_ini[VERSA_TOOLSETTER]Y>] F #<_hal[qtversaprobe.searchvel]> G53 G1 Z[#<_ini[VERSA_TOOLSETTER]Z>] O300 if [#<_hal[qtversaprobe.searchvel]> LE 0] O300 return [-1] ; indicate searchvel <= 0 O300 endif O400 if [#<_hal[qtversaprobe.probevel]> LE 0] O400 return [-2] ; indicate probevel <= 0 O400 endif F #<_hal[qtversaprobe.searchvel]> G91 G38.2 Z- #<_ini[VERSA_TOOLSETTER]MAXPROBE> G0 Z #<_hal[qtversaprobe.backoffdist]> ;reprobe at probe speed F #<_hal[qtversaprobe.probevel]> G38.2 Z- [#<_hal[qtversaprobe.backoffdist]> *1.2] O500 if [#5070 EQ 0] G90 O500 return [-3] ; indicate probe contact failure to epilog O500 endif G90 G53 G0 Z[#<_ini[CHANGE_POSITION]Z>] # = #5063 (DEBUG, %fProbe Height: #<_hal[qtversaprobe.probeheight]>) (DEBUG, %fBlock Height: #<_hal[qtversaprobe.blockheight]>) (DEBUG, %fProbe Result: #) G10 L1 P# Z[# - #<_hal[qtversaprobe.probeheight]> + #<_hal[qtversaprobe.blockheight]>] G43 ; signal success be returning a value > 0: o endsub [1] m2