SIM_PARPORT(9)
πΈ 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 thenames=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.readsim-parport.N.writesim-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, directioninsim-parport.N.pin-02-outβbit, directioninsim-parport.N.pin-03-outβbit, directioninsim-parport.N.pin-04-outβbit, directioninsim-parport.N.pin-05-outβbit, directioninsim-parport.N.pin-06-outβbit, directioninsim-parport.N.pin-07-outβbit, directioninsim-parport.N.pin-08-outβbit, directioninsim-parport.N.pin-09-outβbit, directioninsim-parport.N.pin-14-outβbit, directioninsim-parport.N.pin-16-outβbit, directioninsim-parport.N.pin-17-outβbit, directionin
π§ the -fake out pins (direction out)
these are the passengers that follow along, bit, direction out:
sim-parport.N.pin-01-out-fakeβbit, directionoutsim-parport.N.pin-02-out-fakeβbit, directionoutsim-parport.N.pin-03-out-fakeβbit, directionoutsim-parport.N.pin-04-out-fakeβbit, directionoutsim-parport.N.pin-05-out-fakeβbit, directionoutsim-parport.N.pin-06-out-fakeβbit, directionoutsim-parport.N.pin-07-out-fakeβbit, directionoutsim-parport.N.pin-08-out-fakeβbit, directionoutsim-parport.N.pin-09-out-fakeβbit, directionoutsim-parport.N.pin-14-out-fakeβbit, directionoutsim-parport.N.pin-16-out-fakeβbit, directionoutsim-parport.N.pin-17-out-fakeβbit, directionout
π 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, directionoutsim-parport.N.pin-03-inβbit, directionoutsim-parport.N.pin-04-inβbit, directionoutsim-parport.N.pin-05-inβbit, directionoutsim-parport.N.pin-06-inβbit, directionoutsim-parport.N.pin-07-inβbit, directionoutsim-parport.N.pin-08-inβbit, directionoutsim-parport.N.pin-09-inβbit, directionoutsim-parport.N.pin-10-inβbit, directionoutsim-parport.N.pin-11-inβbit, directionoutsim-parport.N.pin-12-inβbit, directionoutsim-parport.N.pin-13-inβbit, directionoutsim-parport.N.pin-15-inβbit, directionout
π¦ 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, directioninsim-parport.N.pin-03-in-fakeβbit, directioninsim-parport.N.pin-04-in-fakeβbit, directioninsim-parport.N.pin-05-in-fakeβbit, directioninsim-parport.N.pin-06-in-fakeβbit, directioninsim-parport.N.pin-07-in-fakeβbit, directioninsim-parport.N.pin-08-in-fakeβbit, directioninsim-parport.N.pin-09-in-fakeβbit, directioninsim-parport.N.pin-10-in-fakeβbit, directioninsim-parport.N.pin-11-in-fakeβbit, directioninsim-parport.N.pin-12-in-fakeβbit, directioninsim-parport.N.pin-13-in-fakeβbit, directioninsim-parport.N.pin-15-in-fakeβbit, directionin
π
the -not pins (direction out)
the little β¨ inversion β¨ crew, all bit, direction out:
sim-parport.N.pin-02-in-notβbit, directionoutsim-parport.N.pin-03-in-notβbit, directionoutsim-parport.N.pin-04-in-notβbit, directionoutsim-parport.N.pin-05-in-notβbit, directionoutsim-parport.N.pin-06-in-notβbit, directionoutsim-parport.N.pin-07-in-notβbit, directionoutsim-parport.N.pin-08-in-notβbit, directionoutsim-parport.N.pin-09-in-notβbit, directionoutsim-parport.N.pin-10-in-notβbit, directionoutsim-parport.N.pin-11-in-notβbit, directionoutsim-parport.N.pin-12-in-notβbit, directionoutsim-parport.N.pin-13-in-notβbit, directionoutsim-parport.N.pin-15-in-notβbit, directionout
β the reset-time pin
sim-parport.N.reset-timeβfloat, directionin
π PARAMETERS π
π out-invert (read/write bit)
flip the logic of the matching out pin, bestie:
sim-parport.N.pin-01-out-invertβbit,rwsim-parport.N.pin-02-out-invertβbit,rwsim-parport.N.pin-03-out-invertβbit,rwsim-parport.N.pin-04-out-invertβbit,rwsim-parport.N.pin-05-out-invertβbit,rwsim-parport.N.pin-06-out-invertβbit,rwsim-parport.N.pin-07-out-invertβbit,rwsim-parport.N.pin-08-out-invertβbit,rwsim-parport.N.pin-09-out-invertβbit,rwsim-parport.N.pin-14-out-invertβbit,rwsim-parport.N.pin-16-out-invertβbit,rwsim-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,rwsim-parport.N.pin-02-out-resetβbit,rwsim-parport.N.pin-03-out-resetβbit,rwsim-parport.N.pin-04-out-resetβbit,rwsim-parport.N.pin-05-out-resetβbit,rwsim-parport.N.pin-06-out-resetβbit,rwsim-parport.N.pin-07-out-resetβbit,rwsim-parport.N.pin-08-out-resetβbit,rwsim-parport.N.pin-09-out-resetβbit,rwsim-parport.N.pin-14-out-resetβbit,rwsim-parport.N.pin-16-out-resetβbit,rwsim-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
- ubuntu resolute: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- ubuntu stonking: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms