my forks on the github:
github.com/yur7aev/linuxcnc/tree/nyx2.8
github.com/yur7aev/linuxcnc/tree/nyx_master
those have some other stuff mostly for my sscnet/mds/mechatrolink interface cards support.
i did absolute encoder support in my own way because i wanted to keep the ability to home with limit switches/index/whatever. when you set USE_ABSOLUTE_ENCODER you lose it and have to adjust HOME_OFFSET manually. my patch basically does 2 things:
1. adds a
set-homed pin to each joint which just sets the "homed" flag without doing anything else. really simple and straightforward thing apart from the need to add it thru a dozen of source files.
2. add an ABSOLUTE_ENCODER ini var in [JOINT_n] section. when set, upon exit it will save the "motor_offset" value instead of the current joint position to the .pos file.
with some mitsubishi drives i have no control upon the position reported by absolute encoders. it's just some random number which persists across power-ons. then the linuxcnc executes the homing, it sets the motor_offset = home_offset - motor_pos_fb when the joint is at the home switch position. so all i need to do is to save that "motor_offset". upon startup it is already getting read from the .pos file - nothing to change here.