Hello, i believe I’ve discovered a typo within motion.c of the source code.
Line# 348-350:
Code:
else if(names_misc_errors[0]){
num_misc_error = count_names(names_dout);
num_misc_error = (num_misc_error > count_names(names_din)) ? num_misc_error : count_names(names_din);
}
Motion has the ability to define miscellaneous error pins. You can define a number of pins to be created, or you can define them by name. When defining them by name, the source code attempts to determine the number of inputs you’ve created by looking at the number of "names" in the array, but instead of checking the correct array "names_misc_error", it checks another array "names_dout".
It seems like a copy/paste typo where the variables, in this case the arrays, were not updated.
Link to motion.c:
github.com/LinuxCNC/linuxcnc/blob/master.../emc/motion/motion.c