IOW24: Auswerten I2C-INT-Signale via P0.3 /DRDY ?

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
strobl
Posts: 3
Joined: Sun Sep 04, 2005 6:56 pm

IOW24: Auswerten I2C-INT-Signale via P0.3 /DRDY ?

Post by strobl »

Hallo Hersteller!

Eine Anregung für die IOW24 Firmware:
Um nicht dauernd den I2C-Bus pollen zu müssen, wäre es möglich, dass ihr das bei I2C spezifizierte "INT"-Signal auswerten könntet und das als eigenen Report sendet...
Aufbauend auf diesen Report könnte man dann gezielt den I2C-Bus abfragen

Der Port P0.3 / DRDY, an dem am Entwicklerboard die Status-LED hängt, bietet sich hierzu geradezu an...

Damit liesse sich z.B. ganz elegant und supereinfach ein Matrix-Tastaturfeld via PCF8574 realisieren und man bekäme einen Event, dass sich was am I2C-Bus geändert hat ...

Gruss, Strobl Toni
Guido Körber
Site Admin
Posts: 2857
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Da es für solche Signale und die Reaktion darauf keinen Standard gibt macht das keinen Sinn. Abgesehen davon kann so eine Signalleitung auch an jedem beliebigen Pin des IO-Warrior angeschlossen werden, da bei Änderung des Status ein Report geschickt wird kann das entsprechende Programm dann darauf reagieren.
strobl
Posts: 3
Joined: Sun Sep 04, 2005 6:56 pm

Post by strobl »

Hallo Guido!

"INT" ist in der I2C-Spec drinnen, ist natürlich nur allgemein, denn der "INT"errupt sagt mir nur das IRGENDEIN Device etwas will. Wenn ich nun eine Message bekomme, dann weiss ich als Entwickler, dass von meinen 200 Devices am I2C-Bus nur ein oder zwei dabei sind, die an diese INT-Leitung angeschlossen sind. Somit muss ich für zeitkritische Devices kein dauerndes Polling einrichten, um z.B. eine Änderung des Tastatur oder Temperaturstatus mitzubekommen...

Ad beliebiger PIN am IOW24 (V1.0.2.1): Hab schon verschiedene PINs durchprobiert (P0.3/P0.4/P0.5/P0.6/P0.7), bekomme aber keine Status-Reports...
* IOW24 läuft mit aktiviertem LCD, RC5, I2C...
* RC5 liefert mir brav RC5-Statusreports, wenn eine Taste an der Fernbedienung gedrückt wird!
Vielleicht mach ich da auch was falsch - bitte um einen Tipp, wie ich zu automatischen Statusreports komme, wenn der Port P0.3 von H auf L geht.

Gruss, Toni
strobl
Posts: 3
Joined: Sun Sep 04, 2005 6:56 pm

Post by strobl »

Hallo Guido!

Das mit
"Vielleicht mach ich da auch was falsch - bitte um einen Tipp, wie ich zu automatischen Statusreports komme, wenn der Port P0.3 von H auf L geht."
hat sicher erledigt. Wenn ich /dev/iowarrior0 mit:
$irc = sysread($hIW0, $ibuffer, 2);
if (defined $irc && $irc > 0) {
print "IRcvdBytes:$irc\t";
my $data=unpack('H*',$ibuffer);
print "IReport Data:$data\n";
}
abfrage, dann erreiche ich genau das, was ich für die INT-Leitung brauche. Somit ist auch mein "Feature-Request" obsolet. Danke für deinen Tipp.

Gruss, Toni

P.S.: Für LINUXer: Perl Beispielscript und Schaltplan sind in kürze unter www.aws-it.at/opensource downloadbar...
Post Reply