Good progress made on Ball Probe
Demo of first attempt at Macro here - which I have initially done on the front Gantry
Video show G32 first, followed by Ball Probe alignment Macro
https://youtube.com/shorts/uPcV3BAuwyc?si=bT-t0YxPR4qDQWoo

Held in place for now by Magnets - but I would like to automate the deployment and stowing of the Probe.

The 4 magnets at the edge are for basic positioning, with the larger one near the probe to hold it in place.
probe.g Macro - Currently just front Gantry
G90
G1 U150 V290 F20000
G1 Z50 F5000
G1 X235 Y179 F10000
M574 Z1 S2 K3; Set Z to Ball Probe
; Find basic Z position
G1 H4 Z-10 F300
echo "Z", {move.axes[2].userPosition}
G1 Z50 F300
G1 H4 Z-10 F300
echo "Z", {move.axes[2].userPosition}
G1 Z48 F300
G1 H4 Z-10 F100
echo "Z", {move.axes[2].userPosition}
var ZP = move.axes[2].userPosition
G1 Z50 F5000
M574 Z1 S2 K0; configure Z axis endstop
; Now find X middle
G91
G1 X-10 F5000
G90
G1 Z{var.ZP-0.2} F300
G91
M574 X1 S2 K3
G1 H4 X+10 F300
echo "X1", {move.axes[0].userPosition}
G1 X-5
G1 H4 X+10 F300
echo "X1", {move.axes[0].userPosition}
G1 X-5
G1 H4 X+10 F300
echo "X1", {move.axes[0].userPosition}
var X1 = move.axes[0].userPosition
G1 Z5 F300
G1 X10 F5000
G1 Z-5 F300
G1 H4 X-10 F300
echo "X2", {move.axes[0].userPosition}
G1 X5
G1 H4 X-10 F300
echo "X2", {move.axes[0].userPosition}
G1 X5
G1 H4 X-10 F300
echo "X2", {move.axes[0].userPosition}
var X2 = move.axes[0].userPosition
G1 Z5
G90
var XM = (var.X1+var.X2)/2
G1 X{var.XM}
M574 X1 S3 ; configure X axis endstop
; Now Y
G91
G1 Y-10 F5000
G1 Z-5 F300
M574 Y1 S2 K3
G1 H4 Y+10 F300
echo "Y1", {move.axes[1].userPosition}
G1 Y-5 F5000
G1 H4 Y+10 F300
echo "Y1", {move.axes[1].userPosition}
G1 Y-3 F5000
G1 H4 Y+10 F100
echo "Y1", {move.axes[1].userPosition}
var Y1 = move.axes[1].userPosition
G1 Z5 F300
G1 Y10 F5000
G1 Z-5 F300
G1 H4 Y-10 F300
echo "Y2", {move.axes[1].userPosition}
G1 Y5 F5000
G1 H4 Y-10 F300
echo "Y2", {move.axes[1].userPosition}
G1 Y2 F1000
G1 H4 Y-10 F100
echo "Y2", {move.axes[1].userPosition}
var Y2 = move.axes[1].userPosition
var YM = (var.Y1 + var.Y2) / 2
G1 Z5 F300
G90
G1 X{var.XM} Y{var.YM} F2000
G90
M574 Y1 S3 ; configure Y axis endstop
Results from test - to show level of consistency
19/02/2025, 22:32:59 Y2 182.625
19/02/2025, 22:32:57 Y2 182.625
19/02/2025, 22:32:56 Y2 182.625
19/02/2025, 22:32:53 Y1 174.275
19/02/2025, 22:32:51 Y1 174.300
19/02/2025, 22:32:49 Y1 174.288
19/02/2025, 22:32:44 X2 243.038
19/02/2025, 22:32:42 X2 243.038
19/02/2025, 22:32:40 X2 243.038
19/02/2025, 22:32:37 X1 234.812
19/02/2025, 22:32:35 X1 234.812
19/02/2025, 22:32:32 X1 234.812
19/02/2025, 22:32:28 Z 45.645
19/02/2025, 22:32:26 Z 45.647
19/02/2025, 22:32:23 M98 P"0:/macros/Probe.g"
Z 45.647