LinuxCNC version: 2.9.10 (built from 2.9 branch)
Component: xhc-whb04b-6 HAL component
Hardware: Mesa 7i92 (hm2_eth), pendant is a Centroid WMPG-6 (XHC-WHB04B-6 hardware clone, VID/PID 10ce:eb91 — patched locally to match, unrelated to the core issue below)
Summary
Using the built-in xhc-whb04b-6 HAL component with a WHB04B-6-family pendant:
buttons, axis-select rotary, and the feed/step rotary all work correctly and are
verified via xhc-whb04b-6 -ue debug output. The wheel itself is also confirmed
working: pndnt wheel total counts increments/decrements correctly when turning
the dial with an axis selected.
All prerequisite HAL pins are confirmed correct via halcmd show pin/sig:
machine-is-on = TRUE
axis-select-x = TRUE (correct axis selected)
pdnt.axis.x.jog-enable = TRUE
pdnt.axis.x.jog-scale = 0.1 (correct, non-zero)
pdnt.mode.is-teleop = TRUE (all joints homed, teleop mode confirmed active and stable)
However, axis.x.jog-counts (and whb.axis.x.jog-counts) remain at 0 when
sampled via halcmd, and axis.x.pos-cmd never changes when turning the wheel.
No motion occurs, even though every prerequisite condition documented in the
component's man page is satisfied.
Steps to reproduce
- Build LinuxCNC 2.9 branch from source, load
xhc-whb04b-6 via
loadusr -W xhc-whb04b-6 -HBue (interactive/debug flags for observation)
- Wire
whb.axis.X.jog-* to axis.X.jog-* and halui.axis.X.select per
example-configuration.md
- Home all joints, confirm Teleop mode is active (
halui.mode.is-teleop = TRUE)
- Select an axis on the pendant, turn the jog wheel
- Observe:
pndnt wheel total counts increments in the terminal debug output,
but halcmd show sig | grep axis.x.jog-counts always reads 0, and
axis.x.pos-cmd never changes
What I've already checked/ruled out
Question
Is there a known additional condition (beyond jog-enable, jog-scale, teleop mode,
and homing) required for setJogCounts()'s output to actually reach motion?
Happy to provide full .hal files, halcmd show sig/pin dumps, or test patches
if that would help narrow this down.
Thanks
LinuxCNC version: 2.9.10 (built from 2.9 branch)
Component: xhc-whb04b-6 HAL component
Hardware: Mesa 7i92 (hm2_eth), pendant is a Centroid WMPG-6 (XHC-WHB04B-6 hardware clone, VID/PID 10ce:eb91 — patched locally to match, unrelated to the core issue below)
Summary
Using the built-in
xhc-whb04b-6HAL component with a WHB04B-6-family pendant:buttons, axis-select rotary, and the feed/step rotary all work correctly and are
verified via
xhc-whb04b-6 -uedebug output. The wheel itself is also confirmedworking:
pndnt wheel total countsincrements/decrements correctly when turningthe dial with an axis selected.
All prerequisite HAL pins are confirmed correct via
halcmd show pin/sig:machine-is-on= TRUEaxis-select-x= TRUE (correct axis selected)pdnt.axis.x.jog-enable= TRUEpdnt.axis.x.jog-scale= 0.1 (correct, non-zero)pdnt.mode.is-teleop= TRUE (all joints homed, teleop mode confirmed active and stable)However,
axis.x.jog-counts(andwhb.axis.x.jog-counts) remain at 0 whensampled via
halcmd, andaxis.x.pos-cmdnever changes when turning the wheel.No motion occurs, even though every prerequisite condition documented in the
component's man page is satisfied.
Steps to reproduce
xhc-whb04b-6vialoadusr -W xhc-whb04b-6 -HBue(interactive/debug flags for observation)whb.axis.X.jog-*toaxis.X.jog-*andhalui.axis.X.selectperexample-configuration.mdhalui.mode.is-teleop= TRUE)pndnt wheel total countsincrements in the terminal debug output,but
halcmd show sig | grep axis.x.jog-countsalways reads 0, andaxis.x.pos-cmdnever changesWhat I've already checked/ruled out
ModeRequest.modeCheckLoops/modeCheckLoopTimeoutMsinhal.h(Profiles::halRequestSlowProfile) from60×5ms to 600×10ms —
mode.is-teleopstays stable TRUE across repeatedchecks, but jog still does not move the axis.
mIsLeadModeFeed/mIsLeadModeSpindlegating — thedispatchFeedValueToHalcode path that calls
setJogCounts()only depends onfeedButton.stepMode()being STEP or CON, which is confirmed true.
hardware and different Mesa cards (7i92, 7i96s), suggesting this may not be
hardware-specific:
https://forum.linuxcnc.org/9-installing-linuxcnc/50661-xhc-whb04b-6-and-linuxcnc-2-9-1
https://forum.linuxcnc.org/38-general-linuxcnc-questions/35913-xhc-whb04b-6-linuxcnc-not-working
Question
Is there a known additional condition (beyond jog-enable, jog-scale, teleop mode,
and homing) required for
setJogCounts()'s output to actually reach motion?Happy to provide full
.halfiles,halcmd show sig/pindumps, or test patchesif that would help narrow this down.
Thanks