IO-Warrier 24 und RC5 Code in VB-Net auslesen
Moderator: Guido Körber
IO-Warrier 24 und RC5 Code in VB-Net auslesen
Hallo,
ich hab da eine Grundlegende Fragen zum RC5 Empfang. In meiner Schaltung kann ich in VB-Net dank der Beispiel-Bibliotheken bereits meine Taster auswerten.
Nun möchte ich zusätzlich zu den Eingängen auch RC5 Codes auswerten.
Zum Einlesen der Eingänge benutze ich einen Timer, der mir mittels IowKitReadNonBlocking zyklisch meine Eingänge liest. Wenn ich das nun richtig verstanden habe, muss ich zum Auslesen der RC5 Befehle einen Special Mode aktivieren. Wie ist den da die Vorgehensweise. Wäre über Hilfe dankbar, da ich mit der englischen Beschreibung so meine sprachlichen Probleme habe.
Gruß
Gunnar
ich hab da eine Grundlegende Fragen zum RC5 Empfang. In meiner Schaltung kann ich in VB-Net dank der Beispiel-Bibliotheken bereits meine Taster auswerten.
Nun möchte ich zusätzlich zu den Eingängen auch RC5 Codes auswerten.
Zum Einlesen der Eingänge benutze ich einen Timer, der mir mittels IowKitReadNonBlocking zyklisch meine Eingänge liest. Wenn ich das nun richtig verstanden habe, muss ich zum Auslesen der RC5 Befehle einen Special Mode aktivieren. Wie ist den da die Vorgehensweise. Wäre über Hilfe dankbar, da ich mit der englischen Beschreibung so meine sprachlichen Probleme habe.
Gruß
Gunnar
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: IO-Warrier 24 und RC5 Code in VB-Net auslesen
@Gunnar
deine Eingänge, fragst Du die über Pipe-0 ab ?
oder über einen Trigger mit ReportID-(FFh) = 255 auf Pipe-1 ?
Welchen IOW verwendest Du ? Type / Version
und dann über Pipe-1 den Stack abfragen, wenn Daten von der RC5-Funktion dabei sind haben diese die Report-ID (0Ch) = 12, wenn als Report-ID (00h) zurück gegeben wird, ist der Stack leer.
Gruss Ralf
deine Eingänge, fragst Du die über Pipe-0 ab ?
oder über einen Trigger mit ReportID-(FFh) = 255 auf Pipe-1 ?
Welchen IOW verwendest Du ? Type / Version
richtig ! ... geht aber nur beim IOW24.muss ich zum Auslesen der RC5 Befehle einen Special Mode aktivieren
und dann über Pipe-1 den Stack abfragen, wenn Daten von der RC5-Funktion dabei sind haben diese die Report-ID (0Ch) = 12, wenn als Report-ID (00h) zurück gegeben wird, ist der Stack leer.
Gruss Ralf
Re: IO-Warrier 24 und RC5 Code in VB-Net auslesen
Hallo friend-of-rq,
ich hab natürlich den IOW24. Ich rufe Zyklisch ein Unterprogramm auf, und lese den IOW über IowKitReadNonBlocking aus:
Mehr mache ich eigentlich nicht. Nun will ich aber zusätzlich einen IR-Code auslesen. Bloß verstehe ich das mit den Pipes nicht.
Gruß
Gunnar
ich hab natürlich den IOW24. Ich rufe Zyklisch ein Unterprogramm auf, und lese den IOW über IowKitReadNonBlocking aus:
Code: Select all
Private Sub Button_Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Timer.Tick
Dim Res As Integer
Dim Pid As Integer
Dim E0 As String
Dim E1 As String
'
Pid = IowKitGetProductId(iowHandles(0))
If Pid = IOWKIT_PID_IOW24 Then ' 3 = IOW 24
' Read from IO-Warrior
Do
Res = IowKitReadNonBlocking(iowHandles(0), 0, data(0), 3)
E0 = Convert.ToString(data(1), 2)
E1 = Convert.ToString(data(2), 2)
...
... auswerten.....
...
Loop Until Res = 0
End If
End Sub
Gruß
Gunnar
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: IO-Warrier 24 und RC5 Code in VB-Net auslesen
Die Pipes sind so was wie virtuelle Geräte im IO-Warrior, Pipe 0 ist für die einfache I/O und Pipe 1 für Special Mode Functions. Wenn man über Pipe 0 versucht mit der RC5 Funktion zu reden, ist das so wenn man beim Bäcker anruft um die Feuerwehr zu alarmieren.
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: IO-Warrier 24 und RC5 Code in VB-Net auslesen
Code: Select all
Res = IowKitReadNonBlocking(iowHandles(0), 0, data(0), 3) '.... = Pipe(0)
data(0)= 12 (RC5-Funktion)
data(1)= 1 (enable)
data(3)= 0
Res = IowKitWrite(iowHandles(0), 1, data(0), 3)
danach Pipe(1) genau so wie Du es mit Pipe(0) in einer Schleife abfragen
Code: Select all
Res = IowKitReadNonBlocking(iowHandles(0), 1, data(0), 3) '.... = Pipe(1)
bevor Du die Daten aber verarbeitest, bitte auf ( data(0)= 12 ) prüfen, ist ( data(0)= 0 ) dann ist der Stack leer, hast Du z.B. noch andere Funktionen aktiviert, können dann auch andere Reports die übertragen wurden sind im Stack stehen, deswegen immer Report-ID prüfen.
... so einfach geht das ...
Gruss Ralf
Re: IO-Warrier 24 und RC5 Code in VB-Net auslesen
Hallo,
vielen Dank für die Info und die Tipps. Leider bin ich immer noch nicht weiter. Eigentlich versteh ich das ja mit den verschiedenen Kanälen. Aber es kommt einfach nicht über Pipe(1) bei mir an.
Grundsätzlich geht das mit RC5, das konnte ich dank All-In-One sehr gut testen (Danke dafür!). Jetzt noch mal etwas Grundsätzliches. Genügt es, wenn ich einmalig bei Programmstart einen
sende und dann zyklisch nur noch über
auf Eintreffen eines RC5 Codes zu prüfen? Oder muss ich vor jedem Lesen erst mal einen Write machen?
Schon komisch.... so blöd kann man sich doch eigentlich gar nicht anstellen ....
Danke für die Hilfe,
Gruß
Gunnar
vielen Dank für die Info und die Tipps. Leider bin ich immer noch nicht weiter. Eigentlich versteh ich das ja mit den verschiedenen Kanälen. Aber es kommt einfach nicht über Pipe(1) bei mir an.
Grundsätzlich geht das mit RC5, das konnte ich dank All-In-One sehr gut testen (Danke dafür!). Jetzt noch mal etwas Grundsätzliches. Genügt es, wenn ich einmalig bei Programmstart einen
Code: Select all
data(0)= 12
data(1)= 1
data(3)= 0
Res = IowKitWrite(iowHandles(0), 1, data(0), 3)
Code: Select all
Res = IowKitReadNonBlocking(iowHandles(0), 1, data(0), 3)
Schon komisch.... so blöd kann man sich doch eigentlich gar nicht anstellen ....

Danke für die Hilfe,
Gruß
Gunnar
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: IO-Warrier 24 und RC5 Code in VB-Net auslesen
Code: Select all
Res = IowKitWrite(iowHandles(0), 1, data(0), 8)
Code: Select all
Res = IowKitReadNonBlocking(iowHandles(0), 1, data(0), 8)
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: IO-Warrier 24 und RC5 Code in VB-Net auslesen
Hallo,
Danke für Eure Hilfe
Gruß
Gunnar
super, das war mein Problem. Nun geht's.Guido Körber wrote:undCode: Select all
Res = IowKitWrite(iowHandles(0), 1, data(0), 8)
würden schon eher den gewünschten Effekt bringen, auf Pipe 1 benutzt der IOW24 8 Bytes.Code: Select all
Res = IowKitReadNonBlocking(iowHandles(0), 1, data(0), 8)
Danke für Eure Hilfe

Gruß
Gunnar