Russian Qt Forum
Октябрь 18, 2018, 22:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: настройка HIDAPI  (Прочитано 939 раз)
Tumyq
Новичок

Offline Offline

Сообщений: 12


Просмотр профиля
« : Апрель 24, 2018, 17:01 »

Всем здравствуйте, товарищи! Всем хорошего настроения!)
Посмотрел подобные темы, но не нашел ответа , ситуации оличающиеся..

Cкачал и установил библиотеку «hidapi-0.7.0.zip» по этой ссылке https://github.com/signal11/hidapi/downloads

т.е. скопировал папки «linux, windows, mac, hidapi» в свой проект, прописал к ним путь в .pro файле

Код:
macx:  SOURCES += mac/hid.c
unix: !macx:  SOURCES += linux/hid-libusb.c
win32: SOURCES += windows/hid.c
macx: LIBS += -framework CoreFoundation -framework IOkit
unix: !macx: LIBS += -lusb-1.0
win32: LIBS += -lSetupAPI

соответственно, прописал

Код:
#include <hidapi/hidapi.h>

Далее делаю все как батюшка прописал: отсюда: http://microsin.net/programming/pc/multi-platform-hid-api.html

Код:
#define MAX_STR 255

int main(int argc, char* argv[])
{
int res;
unsigned char buf[65];
wchar_t wstr[MAX_STR];
hid_device *handle;
int i;

// Initialize the hidapi library
res = hid_init();

// Open the device using the VID, PID,
// and optionally the Serial number.
handle = hid_open(0x4d8, 0x3f, NULL);

// Read the Manufacturer String
res = hid_get_manufacturer_string(handle, wstr, MAX_STR);
wprintf(L"Manufacturer String: %s\n", wstr);

// Read the Product String
res = hid_get_product_string(handle, wstr, MAX_STR);
wprintf(L"Product String: %s\n", wstr);

// Read the Serial Number String
res = hid_get_serial_number_string(handle, wstr, MAX_STR);
wprintf(L"Serial Number String: (%d) %s\n", wstr[0], wstr);

// Read Indexed String 1
res = hid_get_indexed_string(handle, 1, wstr, MAX_STR);
wprintf(L"Indexed String 1: %s\n", wstr);

// Toggle LED (cmd 0x80). The first byte is the report number (0x0).
buf[0] = 0x0;
buf[1] = 0x80;
res = hid_write(handle, buf, 65);

проблема начинается (здесь с последней) со строчки отправки данных res = hid_write(handle, buf, 65);
res равен -1

Стоит Винда 10. Где-то вычитал, что для операций с хидом нужно выставлять права, как не знаю
Вендоры и пиды считываются, отправить - никак....
Записан
AlexEx
Новичок

Offline Offline

Сообщений: 37


Просмотр профиля
« Ответ #1 : Апрель 26, 2018, 15:28 »

А если запустить от имени администратора? Ежели удачно, то потом можно и соответствующий манифест встраивать.
Записан
Tumyq
Новичок

Offline Offline

Сообщений: 12


Просмотр профиля
« Ответ #2 : Апрель 27, 2018, 15:44 »

а что именно запускать от администратора?
готовую сборку?
если так - то мне это не нужно, мне надо для отладки
Записан
AlexEx
Новичок

Offline Offline

Сообщений: 37


Просмотр профиля
« Ответ #3 : Апрель 28, 2018, 09:47 »

Можно готовую сборку с отладочными печатями, можно всю среду разработки.
Записан
Tumyq
Новичок

Offline Offline

Сообщений: 12


Просмотр профиля
« Ответ #4 : Май 04, 2018, 10:43 »

не помогло. уже много чего попробовал. пока занимался другой работой, но к этому скоро вернусь. есть шанс, что это заработает на другой операционке
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.164 секунд. Запросов: 22.