Pi4J GpioController.shutdown

  • Hallo,

    ich kann mittels GpioController gpio = GpioFactory.getInstance(); eine Instanz des GpioController Objekts erzeugen.

    Am Ende meines Programms kann ich diese mittels gpio.shutdown() auch wieder auflösen.

    Mal angenommen ich habe nun 2 Programme die Parallel an den GPIOs arbeiten. (2 getrennte Prozesse ) Wenn ein Prozesse nun gpio.shutdown aufruft. Gilt das dann nur für den Prozesse selber oder werden auch dem 2. Prozesse alle GPIO-Verbindungen zu gemacht?

    Einmal editiert, zuletzt von RichardEb (16. Dezember 2016 um 15:59)


  • Hi

    Bin mir jetzt nicht ganz sicher, wie das gehandhabt wird, aber imho wäre es wohl sauberer, wenn sich eine separate Java-Klasse um die Kommunikation mit den GPIOs kümmert und die einzelnen Tasks über diese Klasse mit den GPIO kommunizieren.

    Grüsse
    Peter

    Mit "Tasks" meinte ich 2 vollständig voneinander isolierte Prozesse. (Habs nochmal im Text korrigiert)

  • Da Pi4J auf der nicht besonders guten wiringPI Library besteht, und in deren Doku zu dem Thema nix steht, wirst du experimentieren muessen. Mein Verdacht: geht nicht, weil wiringPI nicht die OS-GPIO-Filessystem Angebote nutzt. Zu recht, da die sehr, sehr langsam sind.

    Ich wuerde eher https://github.com/mattjlewis/diozero verwenden, mit dem PIGPIOD-Backend. Damit hast du einen Daemon der die IO macht, und beliebige viele Clients, die mit dem arbeiten.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!