Sorry, Rod I was talking about your version in regard to Beta you have been working on. Not the custom homing overall. That is well established.
After too much coffee, and some serious good nerd time I agree the issue for gantry homing is trivial. Based on Rod's feedback I think the drives can handle the entire scope of homing using the cia402_homecomp.comp driver. Correct me if I am wrong. You know more about the LCNC side than I do.
Based on the LS Electric iX7 drive manual there are many homing methods. All that use the index and home switch seem to match that of Delta and other EC drives and follow ISO methods.
Regardless of whether an int n_extrajoints, the method in the drive should work by simply setting OP Mode 6 to the respective drives. In the case of extra joints(XYYZ), both YY motors would receive the OP 6 control word when it was their turn to home, and the drives would start the homing procedure at the same tick cycle(sync'd +-.001ms). This requires careful thinking on the drive side since the motor direction is opposite per motor. Which I think the direction of travel per motor should be set in the drive and not controlled by LCNC. Both drives must have the exact same homing method setup. Also, acc and dec should be the same which is typical. FF gains the same. Homing speeds(based on the drives home speed params for your drives) must be the same. The home limits must be pretty close to the same actuation time with a tolerance of around .125mm or .005". Both drives need to home to index since that value never changes(unless one motor slips the coupling or is changed). Each drive will have its' own home offset and each motor after finding the index will stop at the offset potion and call that zero or home(each motor has its' own home_offset in the drive not LCNC). At this point the home complete Tx is sent to LCNC and LCNC sets homed pin for each motor and resets the LCNC POS Counter/register to zero, update halui for gui. Set OP 8. Next drive in line to home until n_joints is satisfied for all joints.
The reason you need to have the home switches set very tightly is the reversal once the home switch is found so as not to create a large error between the 2 motors causing ballscrew or pinion damage if say they are .250mm out of sync mechanically. This will cause wear and eventually loss of accuracy.
Other than the above, I see very little need to make any real custom homing methods as long as the drives follow the cia402 homing methods. Mitsubishi, Delta, Yaskawa, Panasonic, Sanyo Denki, etc. all use the same or more homing methods as this home and index type has been standard for well over 4 decades.
Each drive will have to be set up according to the drive OEM properly and accurately. But, based on the above if correct the homing issue can be standardized without much fuss or C coding at all. Which is nice.
But, all the above is contingent on whether your drive supports this functionality.
Hope that helps.
The LS Electric iX7 manual is here:
cdn.automationdirect.com/static/manuals/.../ix7nhusermanual.pdf
Section 5.6 describes each homing method available.
Page 136 shows the breakdown of the homing PDO's. The Home Offset PDO is R only. You can RW the other values but I think this is best handled at the source which is the drive and hard coded in the drive. This will keep the fat fingers to a minimum and not send erroneous data on the pipe. KISS method applies as always.
I include LS Electric drives because they are my chosen vendor not as a sponsored endorsement.