Hey, arbeite mich grad in das USB-Thema ein: HID mit Interrupt-Endpoints funktioniert bereits. Allerdings sieht es so aus, als ob HID immer Reports versendet; entweder an den Control Endpoint oder an den Interrupt-Out-Endpoint wenn dieser vorhanden ist. Um Bulk- oder Isochrone-Transfers benutzen zu können, muss anscheinend einen eigenen Treiber schreiben. Ist sowas schwierig, wenn man ansonsten mit der Funktionalität des HID-Treibers von Windows zufrieden ist? Ich möchte lediglich Bulk und Isochron auswhählen können als Transferart. Vielleicht hat jmd von euch sowas schon geschrieben oder/und weiß eien sehr gute Quelle mit Beispielen im Netz. Besten Dank Jan
:
Verschoben durch Moderator
HID war eigentlich für Tastaturen, Mäuse, Joysticks gedacht, und dafür wären Bulk/Iso Transfers doch etwas overkill. Wenn du keinen Windows-Treiber schreiben willst, bleiben noch andere Geräte-Klassen, wie Audio und MSD. Die funktionieren auch mit den Windows-Eigenen Treibern. Oder du schaust dir die LibUSB an, dort ist der "Treiber" nachher im Userspace, also deiner Anwendung. Der LibUSB-Teil reicht praktisch einfach alles durch...
Oder einen generischen Treiber: Beitrag "Generischer USB Treiber für Windows mit C++ API" oder gleich den WinUSB aus dem WDK, der geht auch für alle USB Devices.
Mit HID kommt man da auf jedenfall nicht weiter: "Other types of pipes include Bulk and Isochronous. These two types of pipes are not used by HID class devices and are therefore not defined for use within this specification." ("HID Device Class Definition"-PDF auf usb.org)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.