Skip to content

Commit 6056696

Browse files
committed
halui: on startup, set the first configured axis as 'is-selected' instead of X
Trying to set X 'is-selected' will fail on configs with no X-axis configured
1 parent 1dd820c commit 6056696

1 file changed

Lines changed: 24 additions & 23 deletions

File tree

src/emc/usr_intf/halui.cc

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -703,24 +703,26 @@ int halui_hal_init(void)
703703
retval = hal_pin_bit_newf(HAL_OUT, &(halui_data->joint_is_homed[num_joints]), comp_id, "halui.joint.selected.is-homed");
704704
if (retval < 0) return retval;
705705

706+
bool first_axis = true;
706707
for (axis_num=0; axis_num < EMCMOT_MAX_AXIS ; axis_num++) {
707708
if ( !(axis_mask & (1 << axis_num)) ) { continue; }
708709
char c = "xyzabcuvw"[axis_num];
709-
710710
retval = hal_pin_bit_newf(HAL_OUT, &(halui_data->axis_is_selected[axis_num]), comp_id, "halui.axis.%c.is-selected", c);
711711
if (retval < 0) return retval;
712-
retval = hal_pin_float_newf(HAL_OUT, &(halui_data->axis_pos_commanded[axis_num]), comp_id, "halui.axis.%c.pos-commanded", c);
712+
retval = hal_pin_float_newf(HAL_OUT, &(halui_data->axis_pos_commanded[axis_num]), comp_id, "halui.axis.%c.pos-commanded", c);
713713
if (retval < 0) return retval;
714-
retval = hal_pin_float_newf(HAL_OUT, &(halui_data->axis_pos_feedback[axis_num]), comp_id, "halui.axis.%c.pos-feedback", c);
714+
retval = hal_pin_float_newf(HAL_OUT, &(halui_data->axis_pos_feedback[axis_num]), comp_id, "halui.axis.%c.pos-feedback", c);
715715
if (retval < 0) return retval;
716-
retval = hal_pin_float_newf(HAL_OUT, &(halui_data->axis_pos_relative[axis_num]), comp_id, "halui.axis.%c.pos-relative", c);
716+
retval = hal_pin_float_newf(HAL_OUT, &(halui_data->axis_pos_relative[axis_num]), comp_id, "halui.axis.%c.pos-relative", c);
717717
if (retval < 0) return retval;
718+
if (first_axis) {
719+
// at startup, indicate first item is selected:
720+
*halui_data->joint_is_selected[0] = 1;
721+
*halui_data->axis_is_selected[axis_num] = 1;
722+
}
723+
first_axis = false;
718724
}
719725

720-
// at startup, indicate [0] item is selected:
721-
*halui_data->joint_is_selected[0] = 1;
722-
*halui_data->axis_is_selected[0] = 1;
723-
724726
retval = hal_pin_float_newf(HAL_OUT, &(halui_data->mv_value), comp_id, "halui.max-velocity.value");
725727
if (retval < 0) return retval;
726728
retval = hal_pin_float_newf(HAL_OUT, &(halui_data->fo_value), comp_id, "halui.feed-override.value");
@@ -887,22 +889,21 @@ int halui_hal_init(void)
887889
}
888890

889891
for (axis_num = 0; axis_num < EMCMOT_MAX_AXIS; axis_num++) {
890-
if ( !(axis_mask & (1 << axis_num)) ) { continue; }
891892
char c = "xyzabcuvw"[axis_num];
892-
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->axis_nr_select[axis_num]), comp_id, "halui.axis.%c.select", c);
893-
if (retval < 0) return retval;
894-
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_plus[axis_num]), comp_id, "halui.axis.%c.plus", c);
895-
if (retval < 0) return retval;
896-
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_minus[axis_num]), comp_id, "halui.axis.%c.minus", c);
897-
if (retval < 0) return retval;
898-
retval = hal_pin_float_newf(HAL_IN, &(halui_data->ajog_analog[axis_num]), comp_id, "halui.axis.%c.analog", c);
899-
if (retval < 0) return retval;
900-
retval = hal_pin_float_newf(HAL_IN, &(halui_data->ajog_increment[axis_num]), comp_id, "halui.axis.%c.increment", c);
901-
if (retval < 0) return retval;
902-
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_increment_plus[axis_num]), comp_id, "halui.axis.%c.increment-plus", c);
903-
if (retval < 0) return retval;
904-
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_increment_minus[axis_num]), comp_id, "halui.axis.%c.increment-minus", c);
905-
if (retval < 0) return retval;
893+
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->axis_nr_select[axis_num]), comp_id, "halui.axis.%c.select", c);
894+
if (retval < 0) return retval;
895+
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_plus[axis_num]), comp_id, "halui.axis.%c.plus", c);
896+
if (retval < 0) return retval;
897+
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_minus[axis_num]), comp_id, "halui.axis.%c.minus", c);
898+
if (retval < 0) return retval;
899+
retval = hal_pin_float_newf(HAL_IN, &(halui_data->ajog_analog[axis_num]), comp_id, "halui.axis.%c.analog", c);
900+
if (retval < 0) return retval;
901+
retval = hal_pin_float_newf(HAL_IN, &(halui_data->ajog_increment[axis_num]), comp_id, "halui.axis.%c.increment", c);
902+
if (retval < 0) return retval;
903+
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_increment_plus[axis_num]), comp_id, "halui.axis.%c.increment-plus", c);
904+
if (retval < 0) return retval;
905+
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->ajog_increment_minus[axis_num]), comp_id, "halui.axis.%c.increment-minus", c);
906+
if (retval < 0) return retval;
906907
}
907908

908909
retval = hal_pin_bit_newf(HAL_IN, &(halui_data->joint_home[num_joints]), comp_id, "halui.joint.selected.home");

0 commit comments

Comments
 (0)