[Info] wiringpi seit V2.46 ohne direkte & simple -p PiFace Unterstützung

Begonnen von Patrik.S, 10 Mai 2018, 21:39:11

Vorheriges Thema - Nächstes Thema

Patrik.S

Bisher war es mit wiringpi im gpio Befehl möglich, mit dem Schalter "-p" das PiFace Board direkt anzusprechen.
Der Entwickler hat mit der Version 2.46 vom März 2018 einen Check eingebaut der nun aber bei der Nutzung des -p Schalters diese Fehlermeldung ausgibt:
pinMode: You have not called one of the wiringPiSetup
  functions, so I'm aborting your program before it crashes anyway.


Bei Nutzung dieses Schalters wird intern kein wiringPiSetup durchgeführt.

Die Antwort von Gordon war dann
I was actually thinking about dropping device specific stuff from the gpio command anyway. You can control a piface with the -x mcp23s17 extension if needed, but it might not be quite the same.

Da der Schalter -p also nicht merhr nutzbar sein wird, gibt es nun 2 Wege:

1) Nutzung der Modulerweiterung mit dem Aufruf -x mcp23s17
http://wiringpi.com/the-gpio-utility/spi-mcp23s08-and-mcp23s17-extensions/
ZitatThe syntax is:
gpio -x mcp23s17:base:spi:devId ...
Anstatt das Relais 1 bisher mit dem Schalter -p ein- /aus-zuschalten
gpio -p write 200 1
gpio -p write 200 0


muss man diesen Befehl bei einem PiFace Board nutzen:
gpio -x mcp23s17:200:0:0 write 200 1
gpio -x mcp23s17:200:0:0 write 200 0


Ausgang 8 wäre dann
gpio -x mcp23s17:200:0:0 write 207 1

2) Rückfall auf eine ältere Version von wiringpi
Im Archive gibt es auch alle alten Versionen als *.deb Datei
http://archive.raspberrypi.org/debian/pool/main/w/wiringpi/


Mit der 2.44 und 2.44+1 ging es ja noch, also z.B. die 2.44+1 über die 2.46 installieren
wget http://archive.raspberrypi.org/debian/pool/main/w/wiringpi/wiringpi_2.44+1_armhf.deb
dpkg -i wiringpi_2.44+1_armhf.deb


thymjan

Danke für den Tipp!

Habe das PiFace digital mit einem alten raspberry pi in Betrieb. Nach dem Update auf stretch läuft damit auch das STELLMOTOR-Modul nicht mehr.

Mit der alten wiringpi-Bibliothek habe ich es nun wieder zum laufen bekommen.
Allerdings musste ich noch in 39_STELLMOTOR.pm das gpio Verzeichnis anpassen:
/usr/bin/gpio (statt /usr/local/bin/gpio)

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Prof. Dr. Peter Henning

Das alte Modul 55_PIFACE.pm wird wohl gerade auf die neuen wiringpi-Versionen angepasst, wenn ich die etwas wirre PM des Maintainers richtig interpretiere.

Allerdings: Mit den neuesten Kernel-Versionen muss man noch tief in der Python-Distribution die Geschwindigkeit des SPI-Interfaces anpassen - erst dann läuft das PiFace wie gewünscht.

Außerdem kann man problemlos Mini-Interrupthandler schreiben (ca. 20 Zeilen Python), die im Hintergrund laufen und tatsächlich bei einem Tastendruck auf dem PiFace direkt eine FHEM-Aktion auslösen. Mehr dazu hier:

https://forum.fhem.de/index.php/topic,101299.msg947413.html#msg947413

LG

pah

Jostar

Hallo pah,

wie könnte denn der 20-Zeilen-Interrupthandler so aussehen? Ich würde gerne den Status das Piface2 damit auslesen.

Gruß und Danke
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

Patrik.S

Ich habe heute den Blog Post vom Entwickler gelesen.  :(
http://wiringpi.com/wiringpi-deprecated/
Ich kann ihn sogar verstehen, das er wiringPi nicht weiterentwickeln will.

Somit ist das Thema hier geerdet und wer sein PiFace weiter betreiben will, sollte auf andere Alternativen umsteigen,  inklusive Umbau der Fhem Module.  ???

Jostar

Ich habe hier mal versucht, den Stand zusammenzutragen.
https://wiki.fhem.de/wiki/Piface
Das phython Skript von pah habe ich leider noch nicht am laufen, aber das wäre aus meiner Sicht eine Lösung ohne wiringpi.
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

herrmannj

bin mir jetzt nicht sicher ob Euch das aus reiner Anwendersicht nützlich ist.

Trotzdem: habe in letzter Zeit mit http://abyz.me.uk/rpi/pigpio/ gearbeitet. Da werden einige Sachen leicht die mit wiringpi eher aufwendig waren. Interrupts lassen sich via select|poll|epoll leicht realisieren und auch sonst sieht das recht stabil aus.

Jostar

Danke für den Hinweis. Das scheint sich aber "nur" direkt auf die GPIOs zu beziehen, hier ging es doch aber darum die Erweiterung Piface zu nutzen (hat Relais verbaut, Schraubanschlüsse, Taster zum testen, etc.).
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E