Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zu kurzen HID Report empfangen (https://www.delphipraxis.net/115465-zu-kurzen-hid-report-empfangen.html)

v2afrank 12. Jun 2008 14:23


Zu kurzen HID Report empfangen
 
Hallo,
wir werden zukünftig in unserer Hardware einen HID Baustein zur Kommunkiation mit dem PC einsetzen. Dazu benutze ich die HID Komponente der Jedis. Nun ist es möglich dem HID Baustein zu sagen, dass er zwar erst 8 von 16 Bytes in seinem Puffer hat, diesen aber trotzdem abschicken soll.
Diese zu kurzen Reports empfange ich nicht mit dem JVHIDController. Mit dem USB Monitor von HDD Software kann ich diese Reports sehr wohl sehen.
Also habe ich mir den Quellcode angesehen, und gesehen, dass über folgenden Code das Lesen relaisiert ist
Delphi-Quellcode:
Device.ReadFileEx(Report[0], Device.Caps.InputReportByteLength, @Dummy)
Also habe ich das Device.Caps.InputReportByteLength durch 1 ersetzt in der Hoffnung bei jedem Byte eine Benachrichtigung zu bekommen. Es hatte aber zur Folge, dass ich jetzt gar keine Daten mehr empfange. Hat einer eine Idee, was ich noch probieren könnte ?

himitsu 16. Nov 2010 13:26

AW: Zu kurzen HID Report empfangen
 
Hattet ihr denn damals eine Lösung gefunden?

Also, soweit ich das jetzt gesehn hab, gibt es feste längen und vorallem beim Weg über ReadFile/WriteFile muß man diese einhalten,
sonst geht da garnichts.

Man hätte es aber auch mal über MSDN-Library durchsuchenWM_INPUT versuchen können,
bzw. (wenn diese API den funktioniert) über MSDN-Library durchsuchenHidD_GetInputReport.


PS: Gab es denn einen Weg dem Baustein zu sagen, er solle den Puffer vorher noch auf die volle Größe auffüllen, bevor er sendet?

(ja ich weiß, ist schon ätwas älter, aber falls nochwer diese Frage findet ... vielleicht hilft's ja)

v2afrank 17. Nov 2010 06:49

AW: Zu kurzen HID Report empfangen
 
Wenn ich das richtig in Erinnerung habe, haben die Kollegen auf der Hardwareseite es so abgeändert, dass ich immer 16 Byte empfange. Ist zwar nicht schön, hat bei uns aber zum Erfolg geführt

himitsu 17. Nov 2010 08:24

AW: Zu kurzen HID Report empfangen
 
Zitat:

Zitat von v2afrank (Beitrag 1062102)
Ist zwar nicht schön, hat bei uns aber zum Erfolg geführt

Na wenigstens ging es. :-D

Wobei ich es eher für die beste Lösung halten würde.
Falls man weniger Daten sendet, dann wäre ein kompletter Report (16 Byte), mit einer Längenangabe der genutzten Byte im Report praktisch gewesen.
Aber k.A. ob das eure Hardwäre direkt unterstützt hätte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 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