5 Stimmen

Zugriff auf die HIDAPI-Bibliothek in Python

Ich versuche, Python zu verwenden, um mit einem generischen HID-Gerät zu kommunizieren.

Ich habe gelesen, dass die in C geschriebene HIDAPI-Bibliothek die libusb1.0 in Bezug auf einfache und stabile plattformübergreifende HID-Kommunikation übertrifft. Allerdings hat niemand jemals die Mühe gemacht, zu zeigen, wie die HIDAPI-Funktionen aus einem Python-Skript aufrufen, und das ist, wo ich Probleme habe.

Ich verstehe genug ctypes, um wirklich einfache C-Funktionen aufzurufen wie:

int add(int n1, int n2) {
    return n1 + n2;
    }

Das Problem ist, dass die HIDAPI-Funktionen komplizierter sind, wie zum Beispiel (in der HIDAPI-Header-Datei ):

struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_enumerate(unsigned short vendor_id, unsigned short product_id);

die auf diese Struktur verweist (in der mac-Zweig C-Datei ):

struct hid_device_info  HID_API_EXPORT *hid_enumerate(unsigned short vendor_id, unsigned short product_id)
{
...
}

wobei "..." eine ganze Menge Code auf Betriebssystemebene ist, der am Ende "einen Zeiger auf eine verknüpfte Liste vom Typ struct #hid_device, die Informationen über das HID-Gerät enthält" zurückgibt

Wie würden Sie ctypes oder ein anderes Tool verwenden, um eine Funktion wie diese in einem Python-Skript aufzurufen? Ich hoffe, dass diese Stackoverflow-Seite als Leitfaden für alle anderen Leute dienen wird, die das gleiche Problem lösen möchten, also geben Sie bitte viele Details an, danke.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X