Hi, Tom.

In a previous post, you mentioned it wasn't quite kosher to use void when returning a value. I guess I should have used int MoveNorth(double distance) instead of void MoveNorth(double distance)? Since that's what I believe is what you meant, I have changed most of the functions to account for this.

I also incorporated your suggestion to record the trigger point and also to move slightly off the stock before raising the probe, but due to testing if the probe is hitting something during moves, I had to update the MoveXXXXX functions to also turn off the checking when moving away from the stock as the probe was already activated when moving away from the stock.

I found that I had a slightly wrong name on the programs for the 3 bottom external probe routines, so they are included in the attached, updated ProbeMain.

Initial testing doesn't show any new introduced bugs, but that's not to say there aren't any. I hope to receive my new probe some time the coming week. This will make it a lot easier to do proper testing.

Now we just need to be able to set a variable and run a script, and relative addressing of programs and images...

Br,
Stig