Files
linuxcnc/configs/lagun_gmoccapy/xhc-whb04b-6.hal
Thaddeus Hughes 9d2379205f claude init
2026-04-03 21:47:22 -05:00

184 lines
14 KiB
Plaintext
Executable File

# ============================================================================
# XHC WHB04B-6 wireless pendant configuration for Lagun mill
# Provides jog wheel, axis select, feed override, homing, and macro buttons
# ============================================================================
# ######################################################################
# load pendant components
# ######################################################################
# -H = HAL-only mode, -s = step mode, -f = filtered, -B = big (6-axis pendant)
loadusr -W xhc-whb04b-6 -HsfB
# ######################################################################
# pendant signal configuration
# ######################################################################
# --- Machine on/off ---
net machine.is-on halui.machine.is-on whb.halui.machine.is-on
# net pdnt.machine.on whb.halui.machine.on halui.machine.on
# net pdnt.machine.off whb.halui.machine.off halui.machine.off
# --- Program state feedback (read-only status to pendant) ---
net pdnt.program.is-idle whb.halui.program.is-idle halui.program.is-idle
net pdnt.program.is-paused whb.halui.program.is-paused halui.program.is-paused
net pdnt.program-is-running whb.halui.program.is-running halui.program.is-running
# Program control buttons disabled
#net pdnt.program.resume whb.halui.program.resume halui.program.resume
#net pdnt.program.pause whb.halui.program.pause halui.program.pause
#net pdnt.program.run whb.halui.program.run halui.program.run
#net pdnt.program.stop whb.halui.program.stop halui.program.stop
# --- Machine mode (auto/manual/mdi/joint/teleop) ---
net pdnt.mode.auto whb.halui.mode.auto halui.mode.auto
net pdnt.mode.manual whb.halui.mode.manual halui.mode.manual
net pdnt.mode.mdi whb.halui.mode.mdi halui.mode.mdi
net pdnt.mode.joint whb.halui.mode.joint halui.mode.joint
net pdnt.mode.teleop whb.halui.mode.teleop halui.mode.teleop
net pdnt.mode.is-auto halui.mode.is-auto whb.halui.mode.is-auto
net pdnt.mode.is-manual halui.mode.is-manual whb.halui.mode.is-manual
net pdnt.mode.is-mdi halui.mode.is-mdi whb.halui.mode.is-mdi
net pdnt.mode.is-joint halui.mode.is-joint whb.halui.mode.is-joint
net pdnt.mode.is-teleop halui.mode.is-teleop whb.halui.mode.is-teleop
# --- Homed status per axis (pendant needs this to allow jogging) ---
net pdnt.axis.X.is-homed halui.joint.0.is-homed whb.halui.joint.x.is-homed
net pdnt.axis.Y.is-homed halui.joint.1.is-homed whb.halui.joint.y.is-homed
net pdnt.axis.Z.is-homed halui.joint.2.is-homed whb.halui.joint.z.is-homed
# --- Axis select (pendant rotary switch picks active axis) ---
net pdnt.axis.X.select whb.halui.axis.x.select halui.axis.x.select
net pdnt.axis.y.select whb.halui.axis.y.select halui.axis.y.select
net pdnt.axis.Z.select whb.halui.axis.z.select halui.axis.z.select
# --- Jog signals ---
# GMOCCAPY does not create axis.x.jog-* pins like AXIS does.
# Use joint.N.jog-* pins instead (provided by the motion module).
net pdnt.axis.x.jog-scale whb.axis.x.jog-scale joint.0.jog-scale
net pdnt.axis.y.jog-scale whb.axis.y.jog-scale joint.1.jog-scale
net pdnt.axis.z.jog-scale whb.axis.z.jog-scale joint.2.jog-scale
net pdnt.axis.x.jog-counts whb.axis.x.jog-counts joint.0.jog-counts
net pdnt.axis.y.jog-counts whb.axis.y.jog-counts joint.1.jog-counts
net pdnt.axis.z.jog-counts whb.axis.z.jog-counts joint.2.jog-counts
net pdnt.axis.x.jog-enable whb.axis.x.jog-enable joint.0.jog-enable
net pdnt.axis.y.jog-enable whb.axis.y.jog-enable joint.1.jog-enable
net pdnt.axis.z.jog-enable whb.axis.z.jog-enable joint.2.jog-enable
net pdnt.axis.x.jog-vel-mode whb.axis.x.jog-vel-mode joint.0.jog-vel-mode
net pdnt.axis.y.jog-vel-mode whb.axis.y.jog-vel-mode joint.1.jog-vel-mode
net pdnt.axis.z.jog-vel-mode whb.axis.z.jog-vel-mode joint.2.jog-vel-mode
# --- Macro buttons mapped to MDI commands (see [HALUI] in INI) ---
# Macro 1: halve X coord (MDI 01)
# Macro 2: halve Y coord (MDI 02)
net pdnt.macro-1 whb.button.macro-1 halui.mdi-command-01 # use MDI command from main.ini
net pdnt.macro-2 whb.button.macro-2 halui.mdi-command-02 # use MDI command from main.ini or used for Hardcoded lube on/off
# Macro 3,4: hardcoded spindle+/- inside pendant firmware
#net pdnt.reserved.for.spindle+ whb.button.macro-3 # Hardcoded for spindle+ whb.halui.spindle.increase
#net pdnt.reserved.for.spindle- whb.button.macro-4 # Hardcoded for spindle- whb.halui.spindle.decrease
# Macro 5: zero X (MDI 05)
# Macro 6: zero Y (MDI 06)
# Macro 7: zero Z (MDI 07)
net pdnt.macro-5 whb.button.macro-5 halui.mdi-command-05 # use MDI command from main.ini
net pdnt.macro-6 whb.button.macro-6 halui.mdi-command-06 # use MDI command from main.ini
net pdnt.macro-7 whb.button.macro-7 halui.mdi-command-07 # use MDI command from main.ini
# Macro 8: hardcoded spindle direction inside pendant
#net pdnt.reserved.for.spindle.dir whb.button.macro-8 # Hardcoded for spindle direction inside pendant
net pdnt.macro-9 whb.button.macro-9 halui.mdi-command-09 # use MDI command from main.ini
# Macro 10: hardcoded ABS/REL DRO toggle
net pdnt.reserved.for.ABS-REL whb.button.macro-10 # Hardcoded for swap Dro Relative/Absolue
net pdnt.macro-14 whb.button.macro-14 halui.mdi-command-14 # use MDI command from main.ini
# Macro 15,16: hardcoded flood/mist toggles
net pdnt.reserved.for.flood whb.button.macro-15 # Hardcoded for halui.flood on/off
net pdnt.reserved.for.mist whb.button.macro-16 # Hardcoded for halui.mist on/off
net pdnt.macro.11 whb.button.macro-11 halui.mdi-command-11 # use MDI command from main.ini
net pdnt.macro.12 whb.button.macro-12 halui.mdi-command-12 # use MDI command from main.ini
net pdnt.macro.13 whb.button.macro-13 halui.mdi-command-13 # use MDI command from main.ini
# --- Flood and mist coolant toggle (pendant hardcoded buttons) ---
net pdnt.flood.is-on whb.halui.flood.is-on halui.flood.is-on #return signal is on or off
net pdnt.flood.off whb.halui.flood.off halui.flood.off #reserved whb.button.macro-15
net pdnt.flood.on whb.halui.flood.on halui.flood.on #reserved whb.button.macro-15
net pdnt.mist.is-on whb.halui.mist.is-on halui.mist.is-on #return signal is on or off
net pdnt.mist.off whb.halui.mist.off halui.mist.off #reserved whb.button.macro-16
net pdnt.mist.on whb.halui.mist.on halui.mist.on #reserved whb.button.macro-16
# Lube control (unused)
#net pdnt.lube.is-on whb.halui.lube.is-on halui.lube.is-on #return signal is on or off
#net pdnt.lube.off whb.halui.lube.off halui.lube.off #reserved whb.button.macro-2
#net pdnt.lube.on whb.halui.lube.on halui.lube.on #reserved whb.button.macro-2
# --- Default function buttons ---
net pdnt.button.m-home whb.button.m-home halui.home-all # Homing use built-in halui home all
net pdnt.button.safe-z whb.button.safe-z halui.mdi-command-03 # Safe-z use MDI command from main.ini
net pdnt.button.w-home whb.button.w-home halui.mdi-command-04 # Unpark use MDI command from main.ini
net pdnt.button.probe-z whb.button.probe-z halui.mdi-command-08 # Probe-Z use MDI command from main.ini
# --- Unused pendant status/button signals ---
#net pdnt.mode-lead whb.halui.feed.selected-lead
#net pdnt.mode-mpg-feed whb.halui.feed.selected-mpg-feed
#net pdnt.mode-continuous whb.halui.feed.selected-continuous
#net pdnt.mode-step whb.halui.feed.selected-step
#net pdnt.button.mode-mpg whb.button.mode-continuous
#net pdnt.button.mode-step whb.button.mode-step
#net pdnt.button.fn whb.button.fn
#net pdnt.button.reset whb.button.reset
#net pdnt.button.stop whb.button.stop
#net pdnt.button.start-pause whb.button.start-pause
#net pdnt.button.s-on-off whb.button.s-on-off
#net pdnt.button.spindle-plus whb.button.spindle-plus
#net pdnt.button.spindle-minus whb.button.spindle-minus
#net pdnt.button.feed-plus whb.button.feed-plus
#net pdnt.button.feed-minus whb.button.feed-minus
# --- Spindle control (disabled - relay-only spindle, no speed feedback) ---
#net pdnt.spindle.is-on whb.halui.spindle.is-on spindle.0.on
#net pdnt.spindle.start whb.halui.spindle.start halui.spindle.0.start
#net pdnt.spindle.stop whb.halui.spindle.stop halui.spindle.0.stop
#net pdnt.spindle.forward whb.halui.spindle.forward halui.spindle.0.forward
#net pdnt.spindle.reverse whb.halui.spindle.reverse halui.spindle.0.reverse
#net pdnt.spindle.increase whb.halui.spindle.increase halui.spindle.0.increase # reserved whb.button.macro-3
#net pdnt.spindle.decrease whb.halui.spindle.decrease halui.spindle.0.decrease # reserved whb.button.macro-4
#net pdnt.spindle-speed-abs whb.halui.spindle-speed-cmd spindle.0.speed-out-abs # speed cmd from motion in rpm absolue
# --- Spindle speed override (disabled) ---
#net pdnt.spindle-override.scale whb.halui.spindle-override.scale halui.spindle.0.override.scale # needed for both spindle+/- and spindleoverride+/- button
#net pdnt.spindle.override.value halui.spindle.0.override.value whb.halui.spindle-override.value # GUI feed rate related signals
#net pdnt.spindle.override.increase whb.halui.spindle-override.increase halui.spindle.0.override.increase
#net pdnt.spindle.override.decrease whb.halui.spindle-override.decrease halui.spindle.0.override.decrease
# --- Feed override (pendant knob controls feed rate) ---
net pdnt.feed-override.scale whb.halui.feed-override.scale halui.feed-override.scale # needed for both FeedOverride+/- and rotary knob button
net pdnt.max-velocity.value whb.halui.max-velocity.value halui.max-velocity.value # needed for Mpg mode : button feed position% * max-velocity = Mpg feedrate
# --- Feed override value and increment/decrement ---
net pdnt.feed-override.value halui.feed-override.value whb.halui.feed-override.value # GUI feed rate related signals
net pdnt.feed-override.increase whb.halui.feed-override.increase halui.feed-override.increase
net pdnt.feed-override.decrease whb.halui.feed-override.decrease halui.feed-override.decrease
# --- Axis position feedback to pendant display ---
net pdnt.axis.x.pos-feedback halui.axis.x.pos-feedback whb.halui.axis.x.pos-feedback
net pdnt.axis.y.pos-feedback halui.axis.y.pos-feedback whb.halui.axis.y.pos-feedback
net pdnt.axis.z.pos-feedback halui.axis.z.pos-feedback whb.halui.axis.z.pos-feedback
# --- Axis position relative to work offset (for pendant DRO) ---
net pdnt.axis.x.pos-relative halui.axis.x.pos-relative whb.halui.axis.x.pos-relative
net pdnt.axis.y.pos-relative halui.axis.y.pos-relative whb.halui.axis.y.pos-relative
net pdnt.axis.z.pos-relative halui.axis.z.pos-relative whb.halui.axis.z.pos-relative