I gather that the 'XZ' config is the one that works, still seems odd that this would create the whole set of 'halui.axis.[x,y,z,a,b,c,u,v,w].*' pins instead of just the expected X and Z axes.
[edit]
Just checked the usual 'axis.ini' on master and it looks like halui creates 'axis' pins for all nine axes even if only 'X', 'Y' and 'Z' are configured. That does not look right to me. Not sure if that is related to the issue at hand though.
[edit2]
changing this section:
github.com/LinuxCNC/linuxcnc/blob/master...r_intf/halui.cc#L873
to this avoids the creation of pins for unconfigured axes:
for (axis_num = 0; axis_num < EMCMOT_MAX_AXIS; axis_num++) {
if ( !(axis_mask & (1 << axis_num)) ) { continue; }
char c = "xyzabcuvw"[axis_num];
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->axis_nr_select[axis_num]), comp_id, "halui.axis.%c.select", c);
if (retval < 0) return retval;
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_plus[axis_num]), comp_id, "halui.axis.%c.plus", c);
if (retval < 0) return retval;
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_minus[axis_num]), comp_id, "halui.axis.%c.minus", c);
if (retval < 0) return retval;
retval = hal_pin_float_newf(HAL_IN, &(halui_data->ajog_analog[axis_num]), comp_id, "halui.axis.%c.analog", c);
if (retval < 0) return retval;
retval = hal_pin_float_newf(HAL_IN, &(halui_data->ajog_increment[axis_num]), comp_id, "halui.axis.%c.increment", c);
if (retval < 0) return retval;
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_increment_plus[axis_num]), comp_id, "halui.axis.%c.increment-plus", c);
if (retval < 0) return retval;
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_increment_minus[axis_num]), comp_id, "halui.axis.%c.increment-minus", c);
if (retval < 0) return retval;
}
This seems not related to the issue discussed here though.