Warning - I'm not a developer, and I don't know much beyond the basics of LCNC. That said, if you don't understand any of the jargon below please say so and I'll try to clarify. A big problem for newcomers to LinuxCNC is the jargon-language barrier.
There isn't a current branch of Probe Basic which is pre-configured for a rack/linear ATC. There are two old (2yrs) branches on github named Linear_ATC_Branch and LinearATC_REZ that appear to be the
start of what you're looking for.
I think what you're after is do-able, but the issue is that an ATC implementation for Probe Basic is more complicated than other GUIs. The screen animation adds another layer of complexity as an ATC sequence requires:
- You command something to happen through the user interface
- User interface then
- Responds to command, and
- Passes command to LinuxCNC
- LinuxCNC
- Responds to command, and
- Passes updated info to user interface
- User interface responds to updated info
For some other GUI with no fancy animation the only thing that needs to happen is maybe update a simple numerical display (DRO) with the new tool number.
For Probe Basic, "responds to command" or "responds to info" requires some internal logic for the animation/display to work.
Think of it like trying to control two ATC's at once: the physical one, and the virtual one on the screen. They have to talk to each other and to the user, and get everything choreographed & timed properly.
To change from a rotary to rack/linear, even if you keep the same circular pictures/icons, means you'd have to change three pretty fundamental things.
First, you'd have to change the physical ATC logic. The PB ATC examples are designed for a rotary carousel with a geneva drive, which means finding a linear ATC example and modifying it to work with PB. There's a lot of logic and math behind the scenes commanding the ATC motor to move in the correct direction and how far to rotate. That'd all have to get changed.
Second, you'd have to change the virtual ATC logic. Right now, the animated ATC moves based on 'steps' - i.e. 'rotate x number of steps' whenever the pocket number changes. And I don't know if the animations are happening because your screen input is doing it, or if the animations are responding to info passed back from LCNC. Your linear ATC would need that logic changed to move to a particular pocket, not a certain number of steps. Again - possible, but not trivial for a newcomer to LCNC.
Third, and somewhat less complicated, is changing the on-screen buttons so they function the way you want. "JOG-FWD" and some others would be meaningless to your rack ATC, but you might want a button for sliding your rack forward/back. That button would need to be modified; both the text as well as the actual button command.
There are plenty of linear ATC examples - or at least forum threads you can piece together - that would be quite a bit more simple. They use other GUI's that don't have the added lay of complexity that Probe Basic does. You might consider exploring those. Once you have a working rack ATC, you might revisit PB and see if you're still interested in unraveling the logic needed to get it working.
The PB developers have done a pretty amazing job with the ATC function, but as I'm struggling with my own carousel ATC conversion I've come to realize that implementing an ATC which doesn't follow the basic configuration they set up is a challenge.