USB HID und Python



Downloads



Applikation


Die Demo besteht aus zwei Dateien. Der Funktionen-Wrapper, der die AHid.dll in einer .py-Datei kapselt ist in Bild 1 zu sehen.

Bild 1: ahid.py mit den Funktionen der AHid.dll.



Bild 2 und 3 zeigen die eigentliche Demo-Applikation. Hier wird zuerst das HID-Gerät in der DLL angemeldet und danach in einer Endlosschleife die Tastatur abgefragt. Das Programm wird mit der Eingabe von 'x' und 'Return' beendet.

Bild 2: Initialisierung der DLL und Definition von Konstanten und Variablen.



Bild 4 zeigt die Ausgabe des Programms.

Bild 3: Die Hauptschleife mit den Lese- und Schreibzugriffen.



Die Funktionen geben bei fehlerfreier Ausführung immer 0 zurück (Bild 4). Bei einem Fehler ist der Rückgabewert -1. Fehler entstehen eigentlich nur, wenn die Parameter des HID-Gerätes nicht stimmen. Vor allem VID und PID, sowie die Werte des Reports müssen den Geräte-Daten entsprechen.

Bild 4: Die Ausgabe des Programms nach erfolgreicher Initialisierung.



Man seht, dass zunächst die DLL erfolgreich initialisiert wird (init library = 0). Danach werden die Handles zum Senden und Empfangen registriert. Der Zähler für die Handles beginnt immer bei 1 und erhöht sich danach entsprechend.

Das Gerät wurde am USB gefunden (find device = 0) und beginnt mit dem Senden und Empfangen. Die Demo sendet 32 Bytes und empfängt 64. Das variiert je nach den Einstellungen, die im Report-Deskriptor des HID-Gerätes festgelegt sind.