Search Results (Searched for: )
- Aciera

02 Sep 2025 15:28 - 02 Sep 2025 17:10
Replied by Aciera on topic halui.mdi-command-NN pins not showing up
halui.mdi-command-NN pins not showing up
Category: HAL
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:
This seems not related to the issue discussed here though.
[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.
- heaven
- heaven
02 Sep 2025 15:08
Replied by heaven on topic Issue with Inverse Kinematics Failing During Homing – 3-Axis Robot with LinuxCNC
Issue with Inverse Kinematics Failing During Homing – 3-Axis Robot with LinuxCNC
Category: HAL
i think you have to build a new kinematic module for 3 axis robot because Genserkins can't be used for less than 6-axis robot. Also keep attention to singularities (your 3 axis robot will have a singularity when link 2 and link 3 are straight line, this can cause kinematic fail)
- JT

02 Sep 2025 14:41
Replied by JT on topic halui.mdi-command-NN pins not showing up
halui.mdi-command-NN pins not showing up
Category: HAL
XZ
john@cave:~$ halcmd show pin halui
Component Pins:
Owner Type Dir Value Name
10 bit IN FALSE halui.abort
10 float IN 0 halui.axis.a.analog
10 float IN 0 halui.axis.a.increment
10 bit IN FALSE halui.axis.a.increment-minus
10 bit IN FALSE halui.axis.a.increment-plus
10 bit IN FALSE halui.axis.a.minus
10 bit IN FALSE halui.axis.a.plus
10 bit IN FALSE halui.axis.a.select
10 float IN 0 halui.axis.b.analog
10 float IN 0 halui.axis.b.increment
10 bit IN FALSE halui.axis.b.increment-minus
10 bit IN FALSE halui.axis.b.increment-plus
10 bit IN FALSE halui.axis.b.minus
10 bit IN FALSE halui.axis.b.plus
10 bit IN FALSE halui.axis.b.select
10 float IN 0 halui.axis.c.analog
10 float IN 0 halui.axis.c.increment
10 bit IN FALSE halui.axis.c.increment-minus
10 bit IN FALSE halui.axis.c.increment-plus
10 bit IN FALSE halui.axis.c.minus
10 bit IN FALSE halui.axis.c.plus
10 bit IN FALSE halui.axis.c.select
10 float IN 0.2 halui.axis.jog-deadband
10 float IN 0 halui.axis.jog-speed
10 u32 OUT 0x00000000 halui.axis.selected
10 float IN 0 halui.axis.selected.increment
10 bit IN FALSE halui.axis.selected.increment-minus
10 bit IN FALSE halui.axis.selected.increment-plus
10 bit IN FALSE halui.axis.selected.minus
10 bit IN FALSE halui.axis.selected.plus
10 float IN 0 halui.axis.u.analog
10 float IN 0 halui.axis.u.increment
10 bit IN FALSE halui.axis.u.increment-minus
10 bit IN FALSE halui.axis.u.increment-plus
10 bit IN FALSE halui.axis.u.minus
10 bit IN FALSE halui.axis.u.plus
10 bit IN FALSE halui.axis.u.select
10 float IN 0 halui.axis.v.analog
10 float IN 0 halui.axis.v.increment
10 bit IN FALSE halui.axis.v.increment-minus
10 bit IN FALSE halui.axis.v.increment-plus
10 bit IN FALSE halui.axis.v.minus
10 bit IN FALSE halui.axis.v.plus
10 bit IN FALSE halui.axis.v.select
10 float IN 0 halui.axis.w.analog
10 float IN 0 halui.axis.w.increment
10 bit IN FALSE halui.axis.w.increment-minus
10 bit IN FALSE halui.axis.w.increment-plus
10 bit IN FALSE halui.axis.w.minus
10 bit IN FALSE halui.axis.w.plus
10 bit IN FALSE halui.axis.w.select
10 float IN 0 halui.axis.x.analog
10 float IN 0 halui.axis.x.increment
10 bit IN FALSE halui.axis.x.increment-minus
10 bit IN FALSE halui.axis.x.increment-plus
10 bit OUT TRUE halui.axis.x.is-selected
10 bit IN FALSE halui.axis.x.minus
10 bit IN FALSE halui.axis.x.plus
10 float OUT 0 halui.axis.x.pos-commanded
10 float OUT 0 halui.axis.x.pos-feedback
10 float OUT 0 halui.axis.x.pos-relative
10 bit IN FALSE halui.axis.x.select
10 float IN 0 halui.axis.y.analog
10 float IN 0 halui.axis.y.increment
10 bit IN FALSE halui.axis.y.increment-minus
10 bit IN FALSE halui.axis.y.increment-plus
10 bit IN FALSE halui.axis.y.minus
10 bit IN FALSE halui.axis.y.plus
10 bit IN FALSE halui.axis.y.select
10 float IN 0 halui.axis.z.analog
10 float IN 0 halui.axis.z.increment
10 bit IN FALSE halui.axis.z.increment-minus
10 bit IN FALSE halui.axis.z.increment-plus
10 bit OUT FALSE halui.axis.z.is-selected
10 bit IN FALSE halui.axis.z.minus
10 bit IN FALSE halui.axis.z.plus
10 float OUT 0 halui.axis.z.pos-commanded
10 float OUT 0 halui.axis.z.pos-feedback
10 float OUT 0 halui.axis.z.pos-relative
10 bit IN FALSE halui.axis.z.select
10 bit IN FALSE halui.estop.activate
10 bit OUT TRUE halui.estop.is-activated
10 bit IN FALSE halui.estop.reset
10 bit IN TRUE halui.feed-override.count-enable
10 s32 IN 0 halui.feed-override.counts
10 bit IN FALSE halui.feed-override.decrease
10 bit IN FALSE halui.feed-override.direct-value
10 bit IN FALSE halui.feed-override.increase
10 bit IN FALSE halui.feed-override.reset
10 float IN 0.1 halui.feed-override.scale
10 float OUT 1 halui.feed-override.value
10 bit OUT FALSE halui.flood.is-on
10 bit IN FALSE halui.flood.off
10 bit IN FALSE halui.flood.on
10 bit IN FALSE halui.home-all
10 float IN 0 halui.joint.0.analog
10 bit OUT FALSE halui.joint.0.has-fault
10 bit IN FALSE halui.joint.0.home
10 float IN 0 halui.joint.0.increment
10 bit IN FALSE halui.joint.0.increment-minus
10 bit IN FALSE halui.joint.0.increment-plus
10 bit OUT FALSE halui.joint.0.is-homed
10 bit OUT TRUE halui.joint.0.is-selected
10 bit IN FALSE halui.joint.0.minus
10 bit OUT FALSE halui.joint.0.on-hard-max-limit
10 bit OUT FALSE halui.joint.0.on-hard-min-limit
10 bit OUT FALSE halui.joint.0.on-soft-max-limit
10 bit OUT FALSE halui.joint.0.on-soft-min-limit
10 bit OUT FALSE halui.joint.0.override-limits
10 bit IN FALSE halui.joint.0.plus
10 bit IN FALSE halui.joint.0.select
10 bit IN FALSE halui.joint.0.unhome
10 float IN 0 halui.joint.1.analog
10 bit OUT FALSE halui.joint.1.has-fault
10 bit IN FALSE halui.joint.1.home
10 float IN 0 halui.joint.1.increment
10 bit IN FALSE halui.joint.1.increment-minus
10 bit IN FALSE halui.joint.1.increment-plus
10 bit OUT FALSE halui.joint.1.is-homed
10 bit OUT FALSE halui.joint.1.is-selected
10 bit IN FALSE halui.joint.1.minus
10 bit OUT FALSE halui.joint.1.on-hard-max-limit
10 bit OUT FALSE halui.joint.1.on-hard-min-limit
10 bit OUT FALSE halui.joint.1.on-soft-max-limit
10 bit OUT FALSE halui.joint.1.on-soft-min-limit
10 bit OUT FALSE halui.joint.1.override-limits
10 bit IN FALSE halui.joint.1.plus
10 bit IN FALSE halui.joint.1.select
10 bit IN FALSE halui.joint.1.unhome
10 float IN 0.2 halui.joint.jog-deadband
10 float IN 0 halui.joint.jog-speed
10 u32 OUT 0x00000000 halui.joint.selected
10 bit OUT FALSE halui.joint.selected.has-fault
10 bit IN FALSE halui.joint.selected.home
10 float IN 0 halui.joint.selected.increment
10 bit IN FALSE halui.joint.selected.increment-minus
10 bit IN FALSE halui.joint.selected.increment-plus
10 bit OUT FALSE halui.joint.selected.is-homed
10 bit IN FALSE halui.joint.selected.minus
10 bit OUT FALSE halui.joint.selected.on-hard-max-limit
10 bit OUT FALSE halui.joint.selected.on-hard-min-limit
10 bit OUT FALSE halui.joint.selected.on-soft-max-limit
10 bit OUT FALSE halui.joint.selected.on-soft-min-limit
10 bit OUT FALSE halui.joint.selected.override-limits
10 bit IN FALSE halui.joint.selected.plus
10 bit IN FALSE halui.joint.selected.unhome
10 bit OUT FALSE halui.lube.is-on
10 bit IN FALSE halui.lube.off
10 bit IN FALSE halui.lube.on
10 bit OUT FALSE halui.machine.is-on
10 bit IN FALSE halui.machine.off
10 bit IN FALSE halui.machine.on
10 float OUT 0.03937008 halui.machine.units-per-mm
10 bit IN TRUE halui.max-velocity.count-enable
10 s32 IN 0 halui.max-velocity.counts
10 bit IN FALSE halui.max-velocity.decrease
10 bit IN FALSE halui.max-velocity.direct-value
10 bit IN FALSE halui.max-velocity.increase
10 float IN 0 halui.max-velocity.scale
10 float OUT 1 halui.max-velocity.value
10 bit OUT FALSE halui.mist.is-on
10 bit IN FALSE halui.mist.off
10 bit IN FALSE halui.mist.on
10 bit IN FALSE halui.mode.auto
10 bit OUT FALSE halui.mode.is-auto
10 bit OUT TRUE halui.mode.is-joint
10 bit OUT TRUE halui.mode.is-manual
10 bit OUT FALSE halui.mode.is-mdi
10 bit OUT FALSE halui.mode.is-teleop
10 bit IN FALSE halui.mode.joint
10 bit IN FALSE halui.mode.manual
10 bit IN FALSE halui.mode.mdi
10 bit IN FALSE halui.mode.teleop
10 bit OUT TRUE halui.program.block-delete.is-on
10 bit IN FALSE halui.program.block-delete.off
10 bit IN FALSE halui.program.block-delete.on
10 bit OUT TRUE halui.program.is-idle
10 bit OUT FALSE halui.program.is-paused
10 bit OUT FALSE halui.program.is-running
10 bit OUT TRUE halui.program.optional-stop.is-on
10 bit IN FALSE halui.program.optional-stop.off
10 bit IN FALSE halui.program.optional-stop.on
10 bit IN FALSE halui.program.pause
10 bit IN FALSE halui.program.resume
10 bit IN FALSE halui.program.run
10 bit IN FALSE halui.program.step
10 bit IN FALSE halui.program.stop
10 bit IN TRUE halui.rapid-override.count-enable
10 s32 IN 0 halui.rapid-override.counts
10 bit IN FALSE halui.rapid-override.decrease
10 bit IN FALSE halui.rapid-override.direct-value
10 bit IN FALSE halui.rapid-override.increase
10 bit IN FALSE halui.rapid-override.reset
10 float IN 0.1 halui.rapid-override.scale
10 float OUT 1 halui.rapid-override.value
10 bit OUT TRUE halui.spindle.0.brake-is-on
10 bit IN FALSE halui.spindle.0.brake-off
10 bit IN FALSE halui.spindle.0.brake-on
10 bit IN FALSE halui.spindle.0.decrease
10 bit IN FALSE halui.spindle.0.forward
10 bit IN FALSE halui.spindle.0.increase
10 bit OUT FALSE halui.spindle.0.is-on
10 bit IN TRUE halui.spindle.0.override.count-enable
10 s32 IN 0 halui.spindle.0.override.counts
10 bit IN FALSE halui.spindle.0.override.decrease
10 bit IN FALSE halui.spindle.0.override.direct-value
10 bit IN FALSE halui.spindle.0.override.increase
10 bit IN FALSE halui.spindle.0.override.reset
10 float IN 0.1 halui.spindle.0.override.scale
10 float OUT 1 halui.spindle.0.override.value
10 bit IN FALSE halui.spindle.0.reverse
10 bit OUT FALSE halui.spindle.0.runs-backward
10 bit OUT FALSE halui.spindle.0.runs-forward
10 bit IN FALSE halui.spindle.0.start
10 bit IN FALSE halui.spindle.0.stop
10 float OUT 0 halui.tool.diameter
10 float OUT 0 halui.tool.length_offset.a
10 float OUT 0 halui.tool.length_offset.b
10 float OUT 0 halui.tool.length_offset.c
10 float OUT 0 halui.tool.length_offset.u
10 float OUT 0 halui.tool.length_offset.v
10 float OUT 0 halui.tool.length_offset.w
10 float OUT 0 halui.tool.length_offset.x
10 float OUT 0 halui.tool.length_offset.y
10 float OUT 0 halui.tool.length_offset.z
10 u32 OUT 0x00000000 halui.tool.number- JT

02 Sep 2025 14:39
Replied by JT on topic halui.mdi-command-NN pins not showing up
halui.mdi-command-NN pins not showing up
Category: HAL
AZ
john@cave:~$ halcmd show pin halui
Component Pins:
Owner Type Dir Value Name
10 bit OUT FALSE halui.axis.a.is-selected
10 float OUT 0 halui.axis.a.pos-commanded
10 float OUT 0 halui.axis.a.pos-feedback
10 float OUT 0 halui.axis.a.pos-relative
10 bit OUT FALSE halui.axis.z.is-selected
10 float OUT 0 halui.axis.z.pos-commanded
10 float OUT 0 halui.axis.z.pos-feedback
10 float OUT 0 halui.axis.z.pos-relative
10 bit OUT FALSE halui.estop.is-activated
10 bit OUT FALSE halui.flood.is-on
10 bit OUT FALSE halui.joint.0.has-fault
10 bit OUT FALSE halui.joint.0.is-homed
10 bit OUT TRUE halui.joint.0.is-selected
10 bit OUT FALSE halui.joint.0.on-hard-max-limit
10 bit OUT FALSE halui.joint.0.on-hard-min-limit
10 bit OUT FALSE halui.joint.0.on-soft-max-limit
10 bit OUT FALSE halui.joint.0.on-soft-min-limit
10 bit OUT FALSE halui.joint.0.override-limits
10 bit OUT FALSE halui.joint.1.has-fault
10 bit OUT FALSE halui.joint.1.is-homed
10 bit OUT FALSE halui.joint.1.is-selected
10 bit OUT FALSE halui.joint.1.on-hard-max-limit
10 bit OUT FALSE halui.joint.1.on-hard-min-limit
10 bit OUT FALSE halui.joint.1.on-soft-max-limit
10 bit OUT FALSE halui.joint.1.on-soft-min-limit
10 bit OUT FALSE halui.joint.1.override-limits
10 bit OUT FALSE halui.joint.selected.has-fault
10 bit OUT FALSE halui.joint.selected.is-homed
10 bit OUT FALSE halui.joint.selected.on-hard-max-limit
10 bit OUT FALSE halui.joint.selected.on-hard-min-limit
10 bit OUT FALSE halui.joint.selected.on-soft-max-limit
10 bit OUT FALSE halui.joint.selected.on-soft-min-limit
10 bit OUT FALSE halui.joint.selected.override-limits
10 bit OUT FALSE halui.lube.is-on
10 bit OUT FALSE halui.machine.is-on
10 float OUT 0 halui.machine.units-per-mm
10 bit OUT FALSE halui.mist.is-on
10 bit OUT FALSE halui.mode.is-auto
10 bit OUT FALSE halui.mode.is-joint
10 bit OUT FALSE halui.mode.is-manual
10 bit OUT FALSE halui.mode.is-mdi
10 bit OUT FALSE halui.mode.is-teleop
10 bit OUT FALSE halui.program.block-delete.is-on
10 bit OUT FALSE halui.program.is-idle
10 bit OUT FALSE halui.program.is-paused
10 bit OUT FALSE halui.program.is-running
10 bit OUT FALSE halui.program.optional-stop.is-on
10 bit OUT FALSE halui.spindle.0.brake-is-on
10 bit IN FALSE halui.spindle.0.brake-off
10 bit IN FALSE halui.spindle.0.brake-on
10 bit IN FALSE halui.spindle.0.decrease
10 bit IN FALSE halui.spindle.0.forward
10 bit IN FALSE halui.spindle.0.increase
10 bit OUT FALSE halui.spindle.0.is-on
10 bit IN TRUE halui.spindle.0.override.count-enable
10 s32 IN 0 halui.spindle.0.override.counts
10 bit IN FALSE halui.spindle.0.override.decrease
10 bit IN FALSE halui.spindle.0.override.direct-value
10 bit IN FALSE halui.spindle.0.override.increase
10 bit IN FALSE halui.spindle.0.override.reset
10 float IN 0 halui.spindle.0.override.scale
10 float OUT 0 halui.spindle.0.override.value
10 bit IN FALSE halui.spindle.0.reverse
10 bit OUT FALSE halui.spindle.0.runs-backward
10 bit OUT FALSE halui.spindle.0.runs-forward
10 bit IN FALSE halui.spindle.0.start
10 bit IN FALSE halui.spindle.0.stop
Time to create page: 0.993 seconds