Простейший код HID. Везде только слова, мыши и джойстики...

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

ага GetFeature уже проходит без ошибок но еще не работает.
в общем даю на вход массив 128 элементов, все нули, длина соответственно 128.
Функция мгновенно отрабатывает, в массиве остается 1 элемент, тоже ноль. сама функция возвращает 0.
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Реклама
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

urry писал(а):И с чего оно работает, ума не приложу .... :)
может по тому что у нас в одном символе
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Реклама
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

urry писал(а): И с чего оно работает, ума не приложу .... :)
Может это "прокатывает" с FEATURE (не приходилось с ним работать), но с конечными точками INPUT и OUTPUT этот номер не пройдёт.
Если размер буфера будет хоть на байт отличатся от того, что задан в HID репорте, передача завершится с ошибкой ERROR_INVALID_PARAMETER (87) - The parameter is incorrect, а функция приёма "завешает" прогу.
Функция мгновенно отрабатывает
Устройство данные принимает?
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

нет, функция должна получить массив из устройства, чего не происходит. может из -за дескриптора так?
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

А что будет если размер буфера сделать 129 байт?
Реклама
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

У устройства какие PID VID?
Ща будет инфу из него выуживать! :)
Реклама
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

та же картина при 130 129 128 127
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

Код: Выделить всё

 Dim vid As Integer = 5824
        Dim pid As Integer = 1503


        Dim ver As Integer = -1
        Dim ind As Integer = 0
        Dim Handle As Integer
        Dim res
        Dim CountInputBuffers
        Handle = HID_OpenDevice(pid, vid, ver, ind)
        Dim Buffer(127) As Integer     с ноликом 128

        res = HID_GetFeature(Handle, Buffer, Buffer.Length)  длина 128
vid 16c0
pid 05df
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

Странно!
А какие данные выдаст эта прога?
Вложения
HID_DeviceInfo.rar
(15.36 КБ) 390 скачиваний
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

demson писал(а):

Код: Выделить всё

 .........
        Dim Buffer(127) As Integer     с ноликом 128

        res = HID_GetFeature(Handle, Buffer, Buffer.Length)  длина 128
Integer это 2 байта, т. е. массив будет имеет размер 256 байт!
Думаю что лучше использовать тип Byte.
Функции HID_GetFeature точно передаётся указать на массив?
Последний раз редактировалось PB_EXPERT Вс апр 18, 2010 14:21:17, всего редактировалось 1 раз.
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

странно. в проге проверки пусто. ни одного устройства.
но раз у меня хендл есть значит устройство найдено.
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

demson писал(а):странно. в проге проверки пусто. ни одного устройства.
но раз у меня хендл есть значит устройство найдено.
Ну прям, чудеса творятся! :shock:
Как такое вообще возможно? :(
У меня эта прога обнаруживает все HID устройства, которые я подключаю к компу.
Изображение
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

чудеса.
интересно с чем это может быть связано.
1111.gif
(43.11 КБ) 551 скачивание
11111.gif
(50.14 КБ) 494 скачивания
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

у меня показало - я перешил свое под Ваш класс.
На несколько часов убегаю - на всякий случай прикрепляю проект.
Вложения
hid_data.rar
(123 КБ) 380 скачиваний
re.jpg
(35.12 КБ) 546 скачиваний
Контактная информация:
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

вот сейчас подключил к ноуту (под вистой) программа показала все как надо.
сейчас посмотрю что с библиотекой будет
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

нет тоже самое возвращает ноль.
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

demson писал(а):вот сейчас подключил к ноуту (под вистой) программа показала все как надо.
В колонке FEATURE какое число?
Это и есть требуемый размер массива
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

129.
если в проге буфер на 129 поставить то результат тот-же
Вложения
111.gif
(73.5 КБ) 572 скачивания
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

DLLке точно передаётся указатель на массив (который должен быть типа Byte)?
Устройство отсылает данные компу?
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

Public Declare Function HID_GetFeature Lib "HID_Lib_PB.dll" (ByVal Handle As Integer, ByRef buffer() As Byte, ByVal LenBuffer As Integer) As Integer
передается все правильно, устройство должно отослать обратно значения ячеик памяти. вроде как должно работать, все таки официальный пример.
кругом одни грабли...
вот ради интереса запустил прогу хид тест он библиотеки другой (libusb) на ноуте, тот же чистый лист. :shock:
на одном компе неидет одна прога на другом другая.
в спорах рождается ИСТИНА [AND] flud.
Контактная информация:
Ответить

Вернуться в «Периферия»