Touch probe programming

I’m in need of a programmer, I think. Here is the issue.

I use a wireless keypad to send commands to the Mill through UGS. It works very well. However, owing to my forgetful nature, I repeatedly make the same mistake concerning its use and the touch probe module.

When using the probe module to find z0, after clicking on the “initiate probe” button to bring the bit down to the plate, I forget to click anywhere else to remove the focus from the “initiate probe” button. So, when I subsequently jog the Mill using the keypad, all the key presses are added to the “probe distance” field of the probe module.

Then, when I next use the probe module, everything goes haywire, as the probe distance is some long string of numbers in front of the “-15”.

Does anyone here know how to edit the probe module code so that, as soon as the “initiate probe” button is clicked, the focus is moved from the button?

G, I found this info on a site called I was wondering if executing an ‘End Of Program’ command would move the focus somewhere else. Hope this helps. Following is info on different commands:

M0, M1, M2, M30, M60: Program Stopping and Ending
To stop a running program temporarily (regardless of the setting of the optional stop switch), program M0.

To stop a running program temporarily (but only if the optional stop switch is on), program M1.

It is OK to program M0 and M1 in MDI mode, but the effect will probably not be noticeable, because normal behavior in MDI mode is to stop after each line of input, anyway.

To exchange pallet shuttles and then stop a running program temporarily (regardless of the setting of the optional stop switch), program M60.

If a program is stopped by an M0, M1, or M60, pressing the cycle start button will restart the program at the following line.

To end a program, program M2. To exchange pallet shuttles and then end a program, program M30. Both of these commands have the following effects.

  1. Axis offsets are set to zero (like G92.2) and origin offsets are set to the default (like G54).

  2. Selected plane is set to CANON_PLANE_XY (like G17).

  3. Distance mode is set to MODE_ABSOLUTE (like G90).

  4. Feed rate mode is set to UNITS_PER_MINUTE (like G94).

  5. Feed and speed overrides are set to ON (like M48).

  6. Cutter compensation is turned off (like G40).

  7. The spindle is stopped (like M5).

  8. The current motion mode is set to G_1 (like G1).

  9. Coolant is turned off (like M9).

No more lines of code in an RS274/NGC file will be executed after the M2 or M30 command is executed. Pressing cycle start will start the program back at the beginning of the file.

Thanks much for your efforts, Heyward, but you lost me. :smile:

I can’t find the code that is behind the gui of the module we see. I think that’s what I need to find, or at least, find a programmer who can find it.

This is not a big deal, clearly. If I do thing correctly, it’s not an issue at all. I just need to be more aware of what I am doing. I just figured that if there was an easy way to stay inattentive, I would look for it.

LOL Grant. Don’t feel like the lonely bull. I wasn’t thinking about how to get to the code. I found it at one point but can’t remember where or what it was called. You’re right, it’s written in some kind of code that submits the commands to grbl. I tried.

I remembered that there is a google group for the UGS application, so I put a post there this morning. I know that the developer of UGS frequents there, so he may have some insights. I’ll post back here if/when I hear anything.


If you need to find a programmer, then this article might be useful for you: How to Find Programmers for Your Project?

@maryna Welcome to the group, maryna.

Thank you for your post. I first posted this cry for help in early 2020. I never did solve it in UGS. However, since then, I have moved to gSender and it is no longer an issue.