@rodw
Thank you for the hint.
Can you please tell me, what version of LinuxCNC the package is?
And do you know, if it works with PlasmaC?
Since I expect, to need some compilation to modify PlasmaC for oxy-fuel cutting, and to write a new HAL driver, to directly use the RPI gpio-pins to read the encoders and drive servo amplifiers, I'll not be able to avoid compilation.
Still it is good to know, that someone was able, to get 64bit working on bookworm.
If the python-tk package is based on python3 there, this may be the critical difference for a successful configuration of LinuxCNC.
Yesterday I was able to get an old BARCO encoder to work with lab-power supplies and an oscilloscope, so I believe, that this route makes sense for me.
I believe, that it's best, to use interrupt service routines to process the state changes of the encoder channels. While it may be possible to poll the state in the fast thread, it's less reliable and a waste of resources. Turning the encoder by hand yesterday, I got pulse frequencies in the kHz range. It also was apparent, that the pulses don't have a 50% duty cycle, nor is the A<->B offset half the pulse distance. It's more like 30%. So one may get some additional precision, by accounting for that in an offset table that contains the true distances of all state transitions relative to some "master edge".
I'm not worried about the GUI right now - I might even run the machine headless, since it's out in the open under a canopy.
Kind Regards, Armin