I just finished testing this encoding motor(AB biphase incremental magnetic encoder). In its program, there is a closed-loop control of speed and position. After it rotates for 10 cycles, it is no longer able to return to the same position. As the number of cycles increases, the error increases,So it is not usable.
Someone told me that you should use an absolute value encoder, so I bought three pcs AS5600 and will test them.
If this solution is feasible, then it doesn't matter whether it's open source or not, because the program is not complex and many people can write it.