Всем привет! Есть проект, нужно из под Линукс соединиться с контроллером, контроллер изначально настроен как hid-устройство. Для этих целей я взял библиотеку hidapi отсюда https://github.com/signal11/hidapi по инструкции собрал, подключил либы в Qt, все компилится, вначале проги получаю список всех хид-устройств с пидами и вендорами, но я ничего не могу отправить, код ниже:
#include <QCoreApplication>
#include <hidapi/hidapi.h>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int res;
unsigned char buf[65];
wchar_t wstr[MAX_STR];
hid_device *handle;
// Enumerate and print the HID devices on the system
struct hid_device_info *devs, *cur_dev;
devs = hid_enumerate(0x0, 0x0);
cur_dev = devs;
while (cur_dev) {
qDebug() << "vendor_id: " << cur_dev->vendor_id;
qDebug() << "product_id: " << cur_dev->product_id;
qDebug() << "path: " << QString(cur_dev->path);
qDebug() << "serial_number: " << cur_dev->serial_number;
qDebug() << "manufacturer_string: "
<< cur_dev->manufacturer_string;
qDebug() << "product_string: "
<< cur_dev->product_string << "\n";
cur_dev = cur_dev->next;
}
hid_free_enumeration(devs);
unsigned char buf[2];
hid_device *handle;
handle = hid_open(0x4C53, 0x0007, NULL);
qDebug() << "handle is: " << handle;
buf[0] = 0x01;
buf[1] = 0x01;
res = hid_send_feature_report(handle, buf, 2);
qDebug() << "hid_send_feature_report :" << res;
res = hid_exit();
qDebug() << "hid_exit :" << res;
return a.exec();
}
начиная со строчки handle = hid_open(0x4C53, 0x0007, NULL); хендл становится нулем - и все, я пробовал пересобирать библиотеку, ставить более раннюю версию - ничего не помогает, хендл становится нулем. Что я делаю не так, подскажите, пожалуйста