Autor Thema: [Info] wiringpi seit V2.46 ohne direkte & simple -p PiFace Unterstützung  (Gelesen 1160 mal)

Offline Patrik.S

  • Jr. Member
  • **
  • Beiträge: 87
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/
Zitat
The 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
« Letzte Änderung: 10 Mai 2018, 21:56:48 von Patrik.S »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline makruna

  • New Member
  • *
  • Beiträge: 5
Danke super Hilfe :) :) :)

Offline thymjan

  • Full Member
  • ***
  • Beiträge: 205
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)
RaspPi A+/B/B+/2 mit FHEM | FHEM2FHEM | pilight_ctrl _switch 433Mhz _temp DHT22, 1-wire DS18S20 DS18B20
Arduino mit configurableFirmata FRM USB/ENC28J60 I2C_SHT21 bzw. HTU21D-F, I2C_BMP180 | intelligente (passive) Gewölbekellerlüftung mit dewpoint / STELLMOTOR piFace

Online Wernieman

  • Hero Member
  • *****
  • Beiträge: 5437
Oder Du setzt einfach einen Symlink...
- 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

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6589
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

 

decade-submarginal