THCUD(9)

πŸ“¦
version 2.9.4 Β· 4 versions
, in ubuntu resolute, ubuntu stonking

🌸 THCUD(9) β€” a HAL Component, bestie ✨

okay so. this is a page from the HAL Component part of the manual, and it's literally called thcud, which stands for Torch Height Control Up/Down Input. yes. torch. plasma torch. we're doing metal cutting CNC today, and honestly? iconic. πŸŽ€


✨ NAME ✨

thcud β€” Torch Height Control Up/Down Input πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

loadrt thcud

and that's it. that's the whole load. slay.


πŸ’– DESCRIPTION πŸ’–

Torch Height Control. This THC takes either an up or a down input from a THC, no cap. that's its whole job and it does it gorgeously.

  • If it's enabled and the torch is on and X + Y velocity is within tolerance of the set speed β€” allow the THC to offset the Z axis as needed to maintain voltage. πŸ”₯
  • If it's enabled and the torch is off and the Z axis is moving up β€” remove any correction at a rate that does not exceed the rate of movement of the Z axis.
  • If it's enabled and the torch is off and there is no correction β€” pass the Z position and feed back untouched. untouched!
  • If it's not enabled β€” pass the Z position and feed back untouched. also untouched. we love a pass-through that minds its own business πŸ™ˆ

⭐ Typical Physical Connections using a Parallel Port

Parallel Pin 12 <= THC controller Plasma Up
Parallel Pin 13 <= THC controller Plasma Down
Parallel Pin 15  <= Plasma Torch Arc Ok Signal
Parallel Pin 16 => Plasma Torch Start Arc Contacts

🌈 HAL Plasma Connections

net torch-up thcud.torch-up <= parport.0.pin-12-in
net torch-down thcud.torch-down <= parport.0.pin-13-in
net torch-on spindle.0.on => parport.0.pin-16-out (start the arc)
net arc-ok thcud.arc-ok <= motion.digital-in-00 <= parport.0.pin-15-in
(arc ok signal)

πŸ’œ HAL Motion Connections

net requested-vel thcud.requested-vel <= motion.requested-vel
net current-vel thcud.current-vel <= motion.current-vel

🧚 PyVCP Connections

In the XML file you need something like:

  <pyvcp>
  <checkbutton>
    <text>"THC Enable"</text>
    <halpin>"thc-enable"</halpin>
  </checkbutton>
  </pyvcp>

Then connect the PyVCP pins in the postgui.hal file like this:

net thc-enable thcud.enable <= pyvcp.thc-enable

πŸŽ€ FUNCTIONS πŸŽ€

  • thcud β€” and just so you know, it requires a floating-point thread. like, it needs one. don't come at it with anything else bestie πŸ’€

πŸ‘‘ PINS πŸ‘‘

  • thcud.torch-up bit in β€” Connect to an input pin.
  • thcud.torch-down bit in β€” Connect to input pin.
  • thcud.current-vel float in β€” Connect to motion.current-vel.
  • thcud.requested-vel float in β€” Connect to motion.requested-vel.
  • thcud.torch-on bit in β€” Connect to spindle.N.on.
  • thcud.arc-ok bit in β€” Arc Ok from Plasma Torch.
  • thcud.enable bit in β€” Enable the THC; if it's not enabled the Z position is passed through. 🫢
  • thcud.z-pos-in float in β€” Z Motor Position Command in, from axis.n.motor-pos-cmd.
  • thcud.z-pos-out float out β€” Z Motor Position Command Out.
  • thcud.z-fb-out float out β€” Z Position Feedback to Axis.
  • thcud.cur-offset float out β€” The Current Offset.
  • thcud.vel-status bit out β€” When the THC thinks we are at requested speed.
  • thcud.removing-offset bit out β€” Pin for testing.
  • thcud.correction-vel float in β€” The Velocity to move Z to correct.

🌸 PARAMETERS 🌸

  • thcud.velocity-tol float rw β€” The deviation percent from planned velocity.

πŸ’œ AUTHOR πŸ’œ

John Thornton πŸ’«


πŸ“ LICENSE πŸ“

GPLv2 or greater.


okay that's the whole page, you're so welcome 🌈 this was LinuxCNC Documentation, dated 2026-03-17 β€” go forth and cut some metal, bestie, you've got this fr fr πŸ’…βœ¨

πŸ“¦ where this page comes from