Доступ к библиотеке HIDAPI в python

Я пытаюсь использовать python для связи с обычным HID-устройством.

Я читал, что библиотека HIDAPI, написанная на C, превосходит libusb1.0 для простой и стабильной межплатформенной связи HID. Однако, никто никогда не потрудился показать, как вызывать функции HIDAPI из сценария python, и именно здесь у меня возникают проблемы.

Я понимаю достаточно ctypes, чтобы вызывать действительно простые функции C, такие как:

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

Проблема в том, что функции HIDAPI более сложны, например (в заголовочном файле HIDAPI ):

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

, который указывает на эту структуру (в файле C ветви Mac ):

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

где '...' - это большой объем кода уровня ОС, который в конечном итоге возвращает «указатель на связанный список типа struct #hid_device, содержащий информацию об устройстве HID»

Как бы вы поступили с использованием ctypes или любой другой инструмент для вызова такой функции в скрипте Python? Я надеюсь, что эта страница stackoverflow будет служить руководством для всех других людей, которые хотели бы решить ту же проблему, так что, пожалуйста, опишите подробно, спасибо.

5
задан Ken 5 April 2011 в 19:42
поделиться