o<tool_sensor> sub

#<max_probe> = #<_ini[TOOLSENSOR]maxprobe>
#<search_vel> = #<_ini[TOOLSENSOR]search_vel>
#<probe_vel> = #<_ini[TOOLSENSOR]probe_vel>
#<sensor_height> = #<_ini[TOOLSENSOR]height>
#<zero_height> = #1

(print, max_probe is #<max_probe>)
(print, search vel is #<search_vel>)
(print, probe vel is #<probe_vel>)
(print, sensor height is #<sensor_height>)
(print, zero height is #<zero_height>)

G21 (use metric units)
G53 G0 Z0 (raise spindle to Z0)
G53 G0 X#<_ini[TOOLSENSOR]x> Y#<_ini[TOOLSENSOR]y>
G49 (cancel tool offset)
G10 L20 P0 Z0 (clear current offsets)
G91 (switch to incremental mode)

; this section commented out for sim
;G38.2 Z[-#<max_probe>] F#<search_vel> (probe down)
;G1 Z4.0 (move up 4 mm)
;G4 P0.5 (pause for 0.5 sec.)
;G38.2 Z-6.0 F#<probe_vel> (probe down slower)

; this section used for sim, comment out otherwise
G1 Z-10 F#<search_vel>

G10 L20 P0 Z[#<sensor_height> - #<zero_height>]
G90 (absolute distance mode)
G53 G0 Z0 (move Z up to 0)
o<tool_sensor> endsub
M2
