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

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

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

Сообщение demson »

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

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

Сообщение demson »

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

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

Сообщение PB_EXPERT »

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

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

Сообщение demson »

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

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

Сообщение PB_EXPERT »

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

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

Сообщение PB_EXPERT »

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

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

Сообщение demson »

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

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

Сообщение 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.
PB_EXPERT
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

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

Сообщение PB_EXPERT »

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

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

Сообщение 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 раз.
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

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

Сообщение demson »

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

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

Сообщение PB_EXPERT »

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

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

Сообщение demson »

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

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

Сообщение urry »

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

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

Сообщение demson »

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

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

Сообщение demson »

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

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

Сообщение PB_EXPERT »

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

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

Сообщение demson »

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

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

Сообщение PB_EXPERT »

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

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

Сообщение 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.
Ответить

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