Category: Installing LinuxCNC
Holy. Moly.
The issue plaguing me was NOT obvious AT ALL. It turns out the issue with spindle toggle (S-ON/OFF button) not toggling (only setting "on"), E-Stop (RESET button) not working, jog dial not working, yeah, they were actually all related and it speaks to something I wish someone could explain to me about HAL pin wiring.
The facts:
I used pncconf to generate my ini and hal files. In the main hal file, it wires up (among other things)
net machine-is-on halui.machine.is-on
However, in the sample XHC WHB04B file, there is a conflicting line:
net machine.is-on whb.halui.machine.is-on halui.machine.is-on
OK, says I, no problem, according to the HAL man page, signals are additive, so I changed that line to
net machine.is-on whb.halui.machine.is-on
thinking that the 2 pins would be connected through the 1 common signal. That's a big nope, and for the life of me I do not understand why. (maybe someday I'll have a lightbulb moment...)
The solution:
The key was to NOT change the sample XHC HAL, but to comment out the net line in the main config.
That was ridiculously difficult to sort out.
Why almost everything else worked on the pendant except for the dial still makes little sense to me. e.g. if the machine is in E-Stop, why should spindle on/off be allowed? Everywhere I've worked, the E-stop is a safety device, not a "some parts are safe" device.