Я пытаюсь использовать 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);
, который указывает на эту структуру (в mac ветвь C файл ):
struct hid_device_info HID_API_EXPORT *hid_enumerate(unsigned short vendor_id, unsigned short product_id)
{
...
}
где '...' - это много кода на уровне ОС, который в итоге возвращает «указатель на связанный список типаstruct #hid_device, содержащая информацию об устройстве HID "
Как бы вы использовали ctypes или любой другой инструмент для вызова такой функции в скрипте Python?Я надеюсь, что эта страница stackoverflow послужит руководством для всех других людей, которые хотели бы решить ту же проблему, поэтому, пожалуйста, дайте много подробностей, спасибо.