Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi USB IR Empfänger (https://www.delphipraxis.net/100048-usb-ir-empfaenger.html)

cr4cky 21. Sep 2007 14:22


USB IR Empfänger
 
Hi bin in dem Forum schon auf den Thread hier gestoßen,
http://www.delphipraxis.net/internal...ct.php?t=61351

in dem auch gesagt wird man solle mal im Gerätemanager nachgucken wie sich der Empfänger ausweist....
Also hab ich das mal getan:

http://img519.imageshack.us/img519/6760/infrawm8.png

Meine Frage ist nun wie man das über USB ansteuern kann...
Hab noch nie ein Gerät über Delphi angesteuert, hab also eigentlich keine Ahnung wie das funktioniert.

Hoffe ihr könnt mir weiterhelfen!

mfg,
crack

Robert Marquardt 21. Sep 2007 15:56

Re: USB IR Empfänger
 
Dazu die HID-Komponente von http://www.soft-gems.net herunterladen und installieren. Wenn du die JVCL hast, dann nicht installieren, denn sie ist bereits vorhanden, aber die Beispiele werden gebraucht.
Welcher IR-Empfaenger ist das denn genau? Ich glaube wir hatten zu mindestens einem dazu einen Thread hier.

cr4cky 27. Sep 2007 20:24

Re: USB IR Empfänger
 
Hi, also ich hab diese Komponente installiert und auch die Demoprogramme ausgeführt und siehe da: Es erkennt den Empfänger als solchen und zeigt mir auch einige Infos an.
Was mir allerdings immer noch nicht klar ist, ist die Methode mit der ich über diese HID-Komponente die Signale des Empfängers anzeigen & verarbeiten kann.


Welcher Empfänger genau das ist kann ich im Moment nicht sagen, da werd ich aber mal nachforschen.
Danke für die Antwort schonmal!

mfg,
crack

Robert Marquardt 28. Sep 2007 05:41

Re: USB IR Empfänger
 
Na einfach OnDeviceData setzen und ein passendes OnDeviceChange stricken. Poste doch mal hier die Ausgaben von CollectionDemo und UsagesDemo und ich stricke dir schnell was du brauchst.

cr4cky 29. Sep 2007 09:34

Re: USB IR Empfänger
 
Zitat:

HID-Devices
"USB-PS/2 Optical Mouse" VID=$046D PID=$C01D
UsagePage=Generic Desktop ($0001) Usage=Mouse ($0002) CollectionType=Application ($01)
UsagePage=Generic Desktop ($0001) Usage=Pointing Device ($0001) CollectionType=Physical ($00)
Button Input Range: UsagePage=Button ($0009) 1..8
Value Input: UsagePage=FF00 ($FF00) Usage=40 ($0040)
Value Input: UsagePage=Generic Desktop ($0001) Usage=Wheel ($0038)
Value Input: UsagePage=Generic Desktop ($0001) Usage=Y Axis ($0031)
Value Input: UsagePage=Generic Desktop ($0001) Usage=X Axis ($0030)
"USB IR Receiver" VID=$147A PID=$E02D
UsagePage=Generic Desktop ($0001) Usage=Keyboard ($0006) CollectionType=Application ($01)
Button Input Range: UsagePage=Keyboard ($0007) 224..231
Button Input Range: UsagePage=Keyboard ($0007) 0..101
"USB IR Receiver" VID=$147A PID=$E02D
UsagePage=FFBD ($FFBD) Usage=88 ($0088) CollectionType=Physical ($00)
Button Input: UsagePage=FFBD ($FFBD) Usage=1 ($0001)
Zitat:

"USB IR Receiver" "USB IR Receiver" VID=$147A PID=$E02D
Input Report Size=2
Output Report Size=0
Feature Report Size=0

Button Input
============

0)
UsagePage: Keyboard ($0007)
ReportID: 1
IsAlias: False
BitField: 2
LinkCollection: 0
LinkUsage: Keyboard ($0006)
LinkUsagePage: Generic Desktop ($0001)
IsRange: True
IsStringRange: False
IsDesignatorRange: False
IsAbsolute: True
UsageMin: 224 UsageMax: 231
StringMin: 0 StringMax: 0
DesignatorMin: 0 DesignatorMax: 0
DataIndexMin: 0 DataIndexMax: 7

1)
UsagePage: Keyboard ($0007)
ReportID: 1
IsAlias: False
BitField: 0
LinkCollection: 0
LinkUsage: Keyboard ($0006)
LinkUsagePage: Generic Desktop ($0001)
IsRange: True
IsStringRange: False
IsDesignatorRange: False
IsAbsolute: True
UsageMin: 0 UsageMax: 101
StringMin: 0 StringMax: 0
DesignatorMin: 0 DesignatorMax: 0
DataIndexMin: 8 DataIndexMax: 109


Zitat:

"USB IR Receiver" "USB IR Receiver" VID=$147A PID=$E02D
Input Report Size=2
Output Report Size=0
Feature Report Size=0

Button Input
============

0)
UsagePage: FFBD ($FFBD)
ReportID: 2
IsAlias: False
BitField: 0
LinkCollection: 0
LinkUsage: 88 ($0088)
LinkUsagePage: FFBD ($FFBD)
IsRange: False
IsStringRange: False
IsDesignatorRange: False
IsAbsolute: True
Usage: 1 ($0001)
StringIndex: 0
DesignatorIndex: 0
DataIndex: 0

Keine Ahnung warum der Empfänger 2mal aufgelistet wird, aber ich hab mal beide Infologs aus der UsageDemo gepostet^^.
Vielen vielen Dank schonmal!

mfg,
crack

Robert Marquardt 29. Sep 2007 15:39

Re: USB IR Empfänger
 
Der Receiver meldet sich auch als zwei Geraete. Das ist bei HID-Geraeten nicht selten. Ein Multimedia-Keyboard kommt gerne auf 4 oder 5 Geraete.
Dieses Geraet kannst du leider nicht lesen. Das Hauptgeraet meldet sich als Tastatur und wird von Windows beschuetzt. Alle direkten Leseversuche werden blockiert.
Das zweite Geraet mit der ReportID 2 koenntest du lesen, aber das duerfte ein Spezialbutton sein.
Zugriff gibt es nur ueber das RAW Input API. Lies dich in die Microsoft-Hilfe ab WM_INPUT ein. Jemand hat hier auch einen Thread dazu laufen.

Das versprochene Beispielprogramm habe ich gerade hier http://www.delphipraxis.net/internal...=784562#784562 gepostet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz