Thank you for your reply!
I don't think the GUI and/or the connection method matters much in this situation - it's more of a HAL question than anything else - but if you're curious, I'm retrofitting a Carvera Air desktop mill, details can be found
here
, it's a bog-standard 3-axis Cartesian machine for all intents and purposes. Probing is the last part before the setup can be called functional.
I don't know what kind of picture would be helpful here, so I'll try to explain better.
The machine has a tool setter/TLO sensor on the bed, it's a spring-loaded button that closes the contact when pressed.
There's also a probe that you clamp in the spindle to touch off the top of the stock, again, it closes the contact when the tip of it is pressed.
I need to measure the length of the probe using the tool setter. If I move the probe down against the button and trigger the measurement when just the tool setter button closes the contact, I get an inaccurate reading - the probe tip requires additional ~0.05mm of travel before it triggers (I'm wondering - is it maybe common to ignore this error? That would explain a lot). So the length needs to be measured when both the probe and the tool setter contacts close. I can combine the HAL inputs with boolean AND operation, feed the result into motion.probe-input, and it works perfectly.
However, after doing that I need to touch off the stock with the probe, and that quite obviously doesn't work with ANDed inputs - the tool setter button is not pressed when the probe triggers against the stock (unless I reach out and press it down with my hand

but that's obviously not a solution). The same goes for measuring the end mill length.
I can replace AND with OR, and then I can measure my end mills and touch off the stock, but I lose the ability to accurately determine the probe length, as described above.
I don't mind writing a new HAL component if needed, but I don't know how to isolate the situation of measuring the probe. There's motion.motion-type pin, as I've discovered recently, so maybe I can cook up something based on that, in combination with the fixed tool number for the probe, but I'm not sure if motion.motion-type would be set to 4 (tool change) when tool length measurement is happening, I guess I'll have to experiment.