Class GpioSimulator

java.lang.Object
jmri.jmrix.pi.simulator.GpioSimulator

public class GpioSimulator extends Object
Simulate Raspberry Pi GPIO — pure JMRI implementation, no Pi4J dependency.

Maintains a registry of provisioned input and output pins keyed by BCM address so that RaspberryPiSensor and RaspberryPiTurnout can share state.

  • Method Details

    • getInstance

      public static GpioSimulator getInstance()
    • provisionDigitalInputPin

      Provision (or replace) a simulated digital input pin.
      Parameters:
      address - BCM pin address
      name - descriptive name (unused internally)
      Returns:
      the new pin instance
    • provisionDigitalOutputPin

      Provision (or replace) a simulated digital output pin.
      Parameters:
      address - BCM pin address
      name - descriptive name (unused internally)
      Returns:
      the new pin instance
    • unprovisionInputPin

      public void unprovisionInputPin(int address)
      Remove a provisioned input pin (called from sensor dispose).
    • unprovisionOutputPin

      public void unprovisionOutputPin(int address)
      Remove a provisioned output pin (called from turnout dispose).
    • shutdown

      public void shutdown()
      Remove all provisioned pins (called from adapter shutdown).
    • reset

      public void reset()
      Reset pin registry for testing. Preserves the singleton instance but clears all provisioned pins so that the next test starts clean.