Page 1 of 1

Problem mit Linux Device-Treiber

Posted: 09 Mar 2020, 09:29
by tuklatp
Guten Tag,

beim Lesen der Eingänge im RevPi gibt es folgendes Problem:
nach erfolgreichem "piControlRead(offset, 8, pValues);"
stehen die Werte der Eingänge in pValues[1]:pValues[0]

für Gerät-Nr.1 (RevPi DIO, InputOffset1 = 11) funktioniert das einwandfrei
jedoch springen die Werte für Gerät-Nr.2 (RevPi DIO, InputOffset2 = 124)
und Gerät-Nr3 (RevPi DIO, InputOffset3 = 237) scheinbar sporadisch
an eine andere Position bzw. entsprechen nicht den Werten,
die die tatsächlichen Signale der Eingänge repräsentieren.

Hier ein Beispiel:
Prozessabbilder der Eingänge, so wie sie tatsächlich an den Pins (D7..D0) anliegen
PII3: 0000000000111111
PII2: 0011100000000000
PII1: 0000000000111001
werden in pValues[] zunächst korrekt ausgegeben (hier hex)
p_Val3[7..0]: 00 00 00 00 00 00 00 3f
p_Val2[7..0]: 00 00 00 00 00 00 38 00
p_Val1[7..0]: 00 00 00 00 00 00 00 39

obwohl an den Eingängen nichts verändert wird passiert sporadisch nun folgendes:
PII3: 0000000000111111
PII2: 0000000000000110 (!)
PII1: 0000000000111001
p_Val3[7..0]: 00 00 00 00 00 00 00 3f
p_Val2[7..0]: 00 00 00 00 00 38 00 06 (!)
p_Val1[7..0]: 00 00 00 00 00 00 00 39

oder auch so:
PII3: 0011100000000000 (!)
PII2: 0011100000000000
PII1: 0000000000111001
p_Val3[7..0]: 00 00 00 00 00 00 38 00 (!)
p_Val2[7..0]: 00 00 00 00 00 00 38 00
p_Val1[7..0]: 00 00 00 00 00 00 00 39

anscheinend passiert hier etwas unvorhergesehenes in /dev/piControl0
gibt es einen Fix? oder was kann man tun?

Gruß

Re: Problem mit Linux Device-Treiber

Posted: 10 Mar 2020, 14:36
by dirk
Hallo tuklatp, kannst Du uns bitte die Dateien posten:
/var/log/kern.log
/etc/revpi/config.rsc
Danke

Re: Problem mit Linux Device-Treiber

Posted: 10 Mar 2020, 16:12
by zhan
dirk wrote: 10 Mar 2020, 14:36 Hallo tuklatp, kannst Du uns bitte die Dateien posten:
/var/log/kern.log
/etc/revpi/config.rsc
Danke
Idealerweise dazu ein Bild von Verbindung

Re: Problem mit Linux Device-Treiber

Posted: 16 Mar 2020, 11:25
by tuklatp
bezügl. "Bild von Verbindung" war wahrscheinlich ein Schaltplan gemeint (?)
im Foto ist die aktuelle Testumgebung (um externe Fehler auszuschließen)
der beschriebene Fehler taucht nur an den Eingängen von Gerät2 und Gerät3 auf
deshalb sind hier auch nur diese Eingänge fest mit +24V verdrahtet
Schaltplan wäre also:
alle INs an Gerät1 (offset 11) = LO (nicht verdrahtet)
INs an Gerät2 (offset 124) = bin 0011100000000000
INs an Gerät3 (offset 237) = bin 0000000000111111