IIRC, it is: klippy-modules/position_tracker.py at main · MRX8024/klippy-modules · GitHub
Just my 2 cents.
Microstepping should be able to provide slightly more than 0.9 degrees.
You are talking about:
1.8 / 32 = 0.05625
1.8 / 64 = 0.028125
Basically, I think, the limitation here is the encoder’s effective resolution and the driver.
Saying that, in other words, it should be possible to step several times in a different direction, until your encoder position match position you wanted it to.
If there is a will to be fancy, it is possible to do either:
- TMCs like 2240 can drive specified current into the motor by
DIRECT_MODEregister. So, drive coils by hand. - Or use external H-Bridge drivers like here: https://www.youtube.com/watch?v=MgQbPdiuUTw
Generally, it seems to me, this is as far as you can get. (Clever tricks and 1us of resolution).
So, technically, you should be able to fine-adjust and point it as you wish.
I spent quite a time around microstepping (TMC Adaptive Microstep Table - #31 by nefelim4ag).
Hope that helps a little.
-Timofey