AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) USB / HID in einem Thread - TJvHidDeviceController.OnDeviceData kommt nicht an
Thema durchsuchen
Ansicht
Themen-Optionen

USB / HID in einem Thread - TJvHidDeviceController.OnDeviceData kommt nicht an

Ein Thema von grl · begonnen am 1. Sep 2011 · letzter Beitrag vom 1. Sep 2011
 
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#1

USB / HID in einem Thread - TJvHidDeviceController.OnDeviceData kommt nicht an

  Alt 1. Sep 2011, 00:02
Schönen guten Abend!

In einem mittlerweile sehr komplexen und umfangreichen Projekt (D7/WinXP) hab ich einen Thread, der unter anderem für die Abwicklung einer Kommunikation mit einem Gerät über HID zuständig ist.
Dafür wird in dem Thread eine Instanz von TJvHidDeviceController (von Robert Marquardt) angelegt. Der Thread kümmert sich auch um die gesamte Ereignisbehandlung.

Das funktioniert so weit auch sehr gut - wenn denn die entsprechenden Ereignisse auch ausgelöst werden.

Das Problem ist, daß bei sehr hoher Last im Main-Thread das Ereignis "OnDeviceData" des HIDDeviceController nicht mehr ausgelöst wird, bzw. extrem verzögert ausgelöst wird. Das führt aber im USB-Gerät zu einem Überlauf des Sendepuffers und damit zu einem Verlust von Daten.

Mein Verdacht ist folgender:
TJvHidDeviceController verwendet zum Auslesen der Daten einen eigenen Thread, den TJvHidDeviceReadThread. In seinem Execute verwendet der ein Synchronize. Das aber wartet auf den Main-Thread und könnte daher Ursache der nicht mehr auftretenden OnDeviceData-Events sein.

Weiß jemand, warum hier ein Synchronize verwendet wird? Nur damit in der Ereignisbehandlung kein "Blödsinn" passieren kann?

Für jeden Tip dankbar,

Luggi
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 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