sim_pin(1)

πŸ’– sim_pin(1) β€” the LinuxCNC girlies' HAL button board πŸ’–

okay bestie, sit down, we're doing sim_pin today and it's genuinely one of my faves. it's a lil GUI that shows you your HAL inputs and lets you set them. one or more of them. at once. iconic behavior honestly.


✨ NAME ✨

sim_pin β€” a GUI for displaying and setting one or more HAL inputs πŸŽ€


🌸 SYNOPSIS 🌸

sim_pin [Options] name1 [name2 [name3 ...]]

Options:

  --help (shows help text)
  --title title_string

so for bit items specifically, the name can carry a /mode= specifier on the end, like this:

namei/mode=[pulse | toggle | hold]

and if you don't say anything? default is toggle, no thoughts head empty, that's just how it is πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

HAL boolean items (aka bit) and numerical items (u32, s32, float) are both supported. the whole squad.

if the named input is a numerical type, the GUI shows you:

  • Entry β€” an Entry widget for a value, or for a valid Tcl expression πŸ‘€
  • Set β€” a Pushbutton that sets the new value from the Entry (or you can just hit <RETURN>, same energy)
  • Reset β€” a Pushbutton that resets back to the value that was there when everything started up

if the input is a bit type, you get a single pushbutton instead, and it's controlled by radio-button selectors:

  • mode=pulse β€” pulses the input to 1 on every pushbutton press ⚑
  • mode=toggle β€” toggles the input on every pushbutton press πŸ”
  • mode=hold β€” sets the input to 1 while the pushbutton is held down 🫳
and here's a lil secret: if the bit item's mode starts with an uppercase letter, the radio buttons for picking other modes just don't show up. lowkey exclusive. main character mode only.

πŸ’€ NOTE πŸ’€

LinuxCNC or a standalone HAL application has to be running. like, it must. this is non-negotiable bestie, no HAL no party 😭

also a named item can be a pin, a param, or a signal. but it has to be writable, and the rules are:

  • pin β€” has to be IN or I/O (and not connected to a signal that has a writer, ok?? not connected, periodt)
  • param β€” has to be RW
  • signal β€” has to be connected to a writable pin

🌈 USAGE 🌈

you can run sim_pin interactively from a shell command line, or you can have it start automatically from a configuration INI file. both are valid, both are slay.


⭐ EXAMPLE ⭐

here's the INI file usage vibe:

[APPLICATIONS]
DELAY = 5
APP = sim_pin \
       halui.machine.off/mode=pulse \
       ini.traj_arc_blend_enable \
       motion-command-handler-tmax

look at those three items getting set up at once. multitasking queen πŸ‘‘


and that's the whole page bestie!! this one came from the LinuxCNC Documentation crew, dated 2014-12-18 β€” so yeah, it's been serving since 2014 and it's still eating. go press some buttons, you got this πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά