I based my C-axis config on Aciera's example as well; he really saved my bacon discovering the index-enable synchronized motion bug.
I don't see anything really obvious in your config at first glance...you've got HOME_USE_INDEX in INI set right...
Index-enable signal appears to be connected to everything:
- encoder
- spindle
- orient
- joint
- pid-spindle
- pid-orient
- pid-axis
Have you tried orienting the spindle yet?
How are you trying to home joint 2? Home-all, or just that joint/axis? halui or something else?
What actually happens when you try to home joint 2? Keep spinning forever, doesn't move, or something else?
Just for reference, my config starts up in C-axis mode, and there are (software) restrictions so I can't put it in spindle mode until the Caxis is homed.
Code:
# MAIN SPINDLE IS-HOMED SIGNAL - SWITCH FROM CAXIS TO SPINDLE MODE
setp oneshot.s0home.width 1
net SPIN0-CAXIS-IS-HOMED <= joint.2.homed #TO 02IO.HAL, M254/M255, AND PID.C MAXOUTPUT
net SPIN0-CAXIS-IS-HOMED => oneshot.s0home.in
net SPIN0-HOME-MODE-SWITCH <= oneshot.s0home.out
net SPIN0-HOME-MODE-SWITCH => halui.mdi-command-02 #CALL M255 TO PUT MAIN SPINDLE BACK TO SPINDLE MODE AFTER INITIAL CAXIS HOMING
I could post my config, but it's really complicated and not in a final-final state just yet. If you/we cant get yours sorted out quickly I'll post it for you to try to digest.