Probe Basic - Easy Questions

13 Nov 2023 02:12 #285223 by sirklezero
​​​​​​Over the last few weeks, I've been exploring LinuxCNC and getting my 5x5 Avid CNC router up and running. By default, these machines are run with Mach4, and I'm sure I don't need to explain why I have made the switch into this ecosystem. With that in mind, one of the aspects I've been exploring are the various user interfaces available, and I think I've landed on two that I like most: QtDragon_HD and Probe Basic. I have both interfaces fully functional on my machine and have a few probe basic questions I'm hopeful you can help me with. 

To start with, my setup:
  • LinuxCNC 2.9.1 installed via the ISO
  • Mesa 7i92TH
  • AvidCNC PRO6060 CNC Router
  • S30C ATC Spindle
  • DrewTronics Tool Setter
  • DrewTronics Probe
Probes (not exclusive to Probe Basic):
My tool setter and probe are debounced and connected to an OR2 component, the output of which is connected to a pin with the following signal: net probe-in => motion.probe-input <= or2.0.out.
This works great, but I'd like to disconnect the probe to put the tool away in the rack without having a cord run across everything. Is there a way to configure tool setters and probes to the motion.probe-input pin that allows you to physically remove one or both of the probing devices without triggering the pin (normally closed switches)? Right now if I unplug the probe, it triggers the pin. Or, maybe, is there just a different way to think about using tool setters and probes and my approach just isn't "right"?

One of the things I really like about QtDragon is the ability to add MDI commands to the MDI_COMMAND_LIST. I created a couple entry level subroutines that I call via buttons that are wired up via the 10 item array in QtDragon, and it's super convenient. Is there a similar mechanism to do this in Probe Basic, or does this require a GUI customization? We're talking super basic things: spindle warm up procedure, park machine at front, park machine at back, smash endmill into tool setter, things like that.

Tool Changing:
While I have an ATC spindle, I'm just using it for quick tool changes. Right now, when an M6 fires, a confirmation button pops up and prompts me to "load tool x". What I really liked in QtDragon was that it also put the description of the tool in that pop up "load tool x, your 50" mega cutter". As it stands, I'm sure that someday I'll mis-tag one of my tools when I put them away with another tools tag and load the wrong tool when prompted. I guess it's just one of those UI things that assumes I'm a moron (rightly) and saves me from myself. Is there a way to get something like this in probe basic, or does this require GUI customization?

I've set up a development virtual machine for probe basic (I'm a software architect by trade), and I'm trying to understand what requires GUI changes vs. what I can do via configuration. I'm at the point where I could make a few changes, but also working through how to build and deploy those changes once made.

Anyway, that's it for my hopefully easy questions :)

thanks a ton,


Please Log in or Create an account to join the conversation.

13 Nov 2023 02:42 #285225 by dpslwk
Replied by dpslwk on topic Probe Basic - Easy Questions
Probes (not exclusive to Probe Basic):
you could mix the singles again with `motion.motion-type` `5: Probing` and `iocontrol.0.tool-number`
so that the probe signals are only passed to `motion.probe-input` during probing routines,

I use these two variable to set two output pins for a topcoat SMART.MER/2 you can see my HAL here

your would want to pass the 3d probe signal when probing and the probe tool number is load
and pass the tool setter signal when probing and any other tool is loaded

I have an open PR that will make this work with out the need for a custom Probe Basic setup
The PR allows users to build customs tab that can by automatically loaded
the PR include empty templates for main and sidebar tabs
Also in the PR comment I've included an sample sidebar tab that implements a base INI [MACRO] to subroutine call buttons

Tool Changing:
I suspect you are currently using the default axis manual tool change hal component which looks something like
loadusr -W hal_manualtoolchange
net tool-change-request     =>  hal_manualtoolchange.change
net tool-change-confirmed   <=  hal_manualtoolchange.changed
net tool-number             =>  hal_manualtoolchange.number
there is a qtpyvcp tool changer that has a nicer and matching dialog with the extra fields your missing

this commit in my config should show you how I switch to it


Please Log in or Create an account to join the conversation.

13 Nov 2023 03:08 #285227 by Lcvette
there are some really great features being developed currently that will allow all of the button and other functionality changes you may want to add fairly easily. it is near being merged, thanks to the efforts of Dpslwk adding some super slick code! it will allow the user to add a main tab page as well as a quick access user sidebar tab on the right.

as for the probe/toolsetter, there may be some hal magic on the forums, this is more a linuxcnc thing as there is only one input for probe unfortunately, so gating that input such that the spindle touch probe is ignored when unplugged and the circuit is open is required, i have not looked much into that as i do not use both tool setter and probe, just probe. you could make a jumper plug to be inserted when the probe is not in use, ie it could double as a protective cover and circuit closer. that would be the easiest method mechanically. you should join us on the qtpyvcp matrix chat!

The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

Moderators: KCJLcvette
Time to create page: 0.124 seconds
Powered by Kunena Forum