SIM_PARPORT(9)

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

🌸 sim_parport β€” HAL Component 🌸

okay bestie, so sim_parport lives in the HAL Component section of the manual (that's the (9) energy, dev/technical vibes only πŸ’…) and it's literally the fakest little parport you've ever met β€” but in the best way.


✨ NAME ✨

sim_parport β€” a component that simulates the pins of the hal_parport component 🫢


πŸŽ€ SYNOPSIS πŸŽ€

loadrt sim_parport [count=N|names=name1[,name2...]]

πŸ’– DESCRIPTION πŸ’–

so the whole point of sim_parport is that it swaps in for the pins of a real parport without you having to change a single pin name anywhere else in your config. iconic behavior, no cap. πŸ‘‘

it comes with pass-through pins (the ones ending in -fake) so you can hook up other components to it.

like fr fr:

eg pin-02-in     will follow     pin-02-in-fake 's logic.
pin_01_out-fake     will follow    pin_01_out (possibly modified by
pin_01_out-invert)

basically pin-02-in is a passenger princess and just follows whatever pin-02-in-fake is doing, and pin_01_out-fake follows pin_01_out (which may have been changed up by pin_01_out-invert) πŸ¦‹

it creates all possible pins from both the in and out options of the hal_parport component. the way that… 🀌 so this means you can use other hardware I/O in place of the parport (with zero changes to the rest of your config) or simulate hardware like limit switches. its primary use is in Stepconf for building simulated configs.

⚠️ you must use the names= option to get the right pin names. eg. names=parport.0,parport.1

the read and write functions pass the logic from pins to fake pins or vice versa. the reset function is a no-operation. that's it, that's the whole vibe. πŸ’«


πŸ”₯ FUNCTIONS πŸ”₯

  • sim-parport.N.read
  • sim-parport.N.write
  • sim-parport.N.reset

🌈 PINS 🌈

okay this is the long part, but we're not skipping anybody, everyone gets their moment ⭐

πŸ’œ the out pins (hooked up to your config, direction in)

these are the ones your config talks to. bit, direction in, one for each pin number:

  • sim-parport.N.pin-01-out β€” bit, direction in
  • sim-parport.N.pin-02-out β€” bit, direction in
  • sim-parport.N.pin-03-out β€” bit, direction in
  • sim-parport.N.pin-04-out β€” bit, direction in
  • sim-parport.N.pin-05-out β€” bit, direction in
  • sim-parport.N.pin-06-out β€” bit, direction in
  • sim-parport.N.pin-07-out β€” bit, direction in
  • sim-parport.N.pin-08-out β€” bit, direction in
  • sim-parport.N.pin-09-out β€” bit, direction in
  • sim-parport.N.pin-14-out β€” bit, direction in
  • sim-parport.N.pin-16-out β€” bit, direction in
  • sim-parport.N.pin-17-out β€” bit, direction in

🧚 the -fake out pins (direction out)

these are the passengers that follow along, bit, direction out:

  • sim-parport.N.pin-01-out-fake β€” bit, direction out
  • sim-parport.N.pin-02-out-fake β€” bit, direction out
  • sim-parport.N.pin-03-out-fake β€” bit, direction out
  • sim-parport.N.pin-04-out-fake β€” bit, direction out
  • sim-parport.N.pin-05-out-fake β€” bit, direction out
  • sim-parport.N.pin-06-out-fake β€” bit, direction out
  • sim-parport.N.pin-07-out-fake β€” bit, direction out
  • sim-parport.N.pin-08-out-fake β€” bit, direction out
  • sim-parport.N.pin-09-out-fake β€” bit, direction out
  • sim-parport.N.pin-14-out-fake β€” bit, direction out
  • sim-parport.N.pin-16-out-fake β€” bit, direction out
  • sim-parport.N.pin-17-out-fake β€” bit, direction out

πŸ“ the in pins (direction out)

yes it's giving "in pins that are out", we don't ask questions, we just list them πŸ’€ all bit, direction out:

  • sim-parport.N.pin-02-in β€” bit, direction out
  • sim-parport.N.pin-03-in β€” bit, direction out
  • sim-parport.N.pin-04-in β€” bit, direction out
  • sim-parport.N.pin-05-in β€” bit, direction out
  • sim-parport.N.pin-06-in β€” bit, direction out
  • sim-parport.N.pin-07-in β€” bit, direction out
  • sim-parport.N.pin-08-in β€” bit, direction out
  • sim-parport.N.pin-09-in β€” bit, direction out
  • sim-parport.N.pin-10-in β€” bit, direction out
  • sim-parport.N.pin-11-in β€” bit, direction out
  • sim-parport.N.pin-12-in β€” bit, direction out
  • sim-parport.N.pin-13-in β€” bit, direction out
  • sim-parport.N.pin-15-in β€” bit, direction out

πŸ¦‹ the -fake in pins (direction in)

the source of truth for the in pins above, bit, direction in:

  • sim-parport.N.pin-02-in-fake β€” bit, direction in
  • sim-parport.N.pin-03-in-fake β€” bit, direction in
  • sim-parport.N.pin-04-in-fake β€” bit, direction in
  • sim-parport.N.pin-05-in-fake β€” bit, direction in
  • sim-parport.N.pin-06-in-fake β€” bit, direction in
  • sim-parport.N.pin-07-in-fake β€” bit, direction in
  • sim-parport.N.pin-08-in-fake β€” bit, direction in
  • sim-parport.N.pin-09-in-fake β€” bit, direction in
  • sim-parport.N.pin-10-in-fake β€” bit, direction in
  • sim-parport.N.pin-11-in-fake β€” bit, direction in
  • sim-parport.N.pin-12-in-fake β€” bit, direction in
  • sim-parport.N.pin-13-in-fake β€” bit, direction in
  • sim-parport.N.pin-15-in-fake β€” bit, direction in

πŸ’… the -not pins (direction out)

the little ✨ inversion ✨ crew, all bit, direction out:

  • sim-parport.N.pin-02-in-not β€” bit, direction out
  • sim-parport.N.pin-03-in-not β€” bit, direction out
  • sim-parport.N.pin-04-in-not β€” bit, direction out
  • sim-parport.N.pin-05-in-not β€” bit, direction out
  • sim-parport.N.pin-06-in-not β€” bit, direction out
  • sim-parport.N.pin-07-in-not β€” bit, direction out
  • sim-parport.N.pin-08-in-not β€” bit, direction out
  • sim-parport.N.pin-09-in-not β€” bit, direction out
  • sim-parport.N.pin-10-in-not β€” bit, direction out
  • sim-parport.N.pin-11-in-not β€” bit, direction out
  • sim-parport.N.pin-12-in-not β€” bit, direction out
  • sim-parport.N.pin-13-in-not β€” bit, direction out
  • sim-parport.N.pin-15-in-not β€” bit, direction out

⭐ the reset-time pin

  • sim-parport.N.reset-time β€” float, direction in

πŸ‘‘ PARAMETERS πŸ‘‘

πŸ’– out-invert (read/write bit)

flip the logic of the matching out pin, bestie:

  • sim-parport.N.pin-01-out-invert β€” bit, rw
  • sim-parport.N.pin-02-out-invert β€” bit, rw
  • sim-parport.N.pin-03-out-invert β€” bit, rw
  • sim-parport.N.pin-04-out-invert β€” bit, rw
  • sim-parport.N.pin-05-out-invert β€” bit, rw
  • sim-parport.N.pin-06-out-invert β€” bit, rw
  • sim-parport.N.pin-07-out-invert β€” bit, rw
  • sim-parport.N.pin-08-out-invert β€” bit, rw
  • sim-parport.N.pin-09-out-invert β€” bit, rw
  • sim-parport.N.pin-14-out-invert β€” bit, rw
  • sim-parport.N.pin-16-out-invert β€” bit, rw
  • sim-parport.N.pin-17-out-invert β€” bit, rw

🧚 out-reset (read/write bit)

reset state for the matching out pin, also rw:

  • sim-parport.N.pin-01-out-reset β€” bit, rw
  • sim-parport.N.pin-02-out-reset β€” bit, rw
  • sim-parport.N.pin-03-out-reset β€” bit, rw
  • sim-parport.N.pin-04-out-reset β€” bit, rw
  • sim-parport.N.pin-05-out-reset β€” bit, rw
  • sim-parport.N.pin-06-out-reset β€” bit, rw
  • sim-parport.N.pin-07-out-reset β€” bit, rw
  • sim-parport.N.pin-08-out-reset β€” bit, rw
  • sim-parport.N.pin-09-out-reset β€” bit, rw
  • sim-parport.N.pin-14-out-reset β€” bit, rw
  • sim-parport.N.pin-16-out-reset β€” bit, rw
  • sim-parport.N.pin-17-out-reset β€” bit, rw

🌸 AUTHOR 🌸

Chris S Morley β€” absolute legend, we stan 🫢


🌈 LICENSE 🌈

GPL β€” free as in freedom, slay πŸ’œ


and that's the whole page, babe πŸ˜­πŸ’– this one came from the LinuxCNC Documentation, dated 2026-03-17, and it's the SIM_PARPORT(9) page β€” go forth and simulate your parports, main character energy only, periodt βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from