I work in Enterprise IT as my profession. I understand how to control systems well. I run pro on everything I have. I tend to wait until things settle before upgrading. Especially because my design computer is too time consuming to fix after a full os update. Installing from scratch takes even longer. Dev environments are hard to keep between setups. Fusion is no issue at all but, zbrush and all of the plugins take way too long to get back into. Blender, even with plugins that attempt to back up.
My current CNC machine is running 1607 ltsc and that is way before the patches for the exploits. I just kept it that way because mach3 was an issue on a couple other machines with lock up.
I’m going to look into that stick you mentioned. I do have a nuc from a few years back. I’ll have to make sure it has a TPM chip first. I have it for Kali Linux but, just started running that on a portable pi setup instead.
On to my M6 scripting adventure. Yesterday I spent several hours attempting to get everything working. I tend to keep at things until I can’t recognize that I shouldn’t keep going.
I definitely over thought the process though. I think it’s because I was learning how to use lua and attempting to create everything at the same time. I had too many variables and too many findings doing math on these things. I stopped at some point, in frustration. I kept trying to find a way to set the machine offsets because there is a set command for it. Fairly certain it isn’t implemented though.
Then, while having some drinks with friends and not thinking at all about this, it just popped into my head. As soon as the answer came to me, it made perfect sense.
This morning I removed a bunch of variables and functions. I realized last night that I didn’t need to know any measurement between the two touch plates at all. I only needed to set up a tool by finding the z0 of the work and then touching the fixed plate and storing that position. Z0 just got setting up before the job and the plate being the current position with that tool in it.
Then on my the tool moves to a tool change location, changes tools and goes to the fixed plate. When that touches, store that location and set it to over write the original location at that same position. That’s it! Duh.
I think part of it was that I was attempting to do a similar thing that my mach3 screenset did. Not necessary though.
I then modified the screenset to allow you to move to a position you want to change tools at, store that position and did the same for the fixed plate. Added buttons for that as well as adding buttons to move to those positions if wanted.
The scripts I made make sure to move to machine z0 before the moves and give some prompts to remember to do certain things before it happens.
I need to clean things up a bit and document a little better. I also haven’t tried listening for probe trigger the way you showed up above. I was trying to get things working with what seemed to work already.
I will say that it seems that using g31 at certain speeds takes some amount of time to trigger that could throw off the measurement. Does the method you gave trigger faster? I’m not moving fast now and especially not on the second move. It probes for the plate at 25ipm and then backs off a tiny amount and probes again at 2ipm. I have inputs on screen to change these speeds and distances.
When I moved at 40ipm, it was able to knock the plate out by a few thou before stopping.
Once I clean up the setup some more, I’ll post a link to my GitHub where everything will be. The other thing I’m not liking about mach4 is the method of moving things into a setup. Seems that the easiest is to use the full profile folder and screen file. If someone has a custom setup already, they would have to modify the ini holding all the variables, add buttons and then add the scripts individually to those buttons. I would have to save each of those scripts separately to copy into those screen buttons. I haven’t gone into modules yet. Maybe that would help. Pop up windows over the screen instead of using the screen itself.