LabView и HID устройство

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
nae
user
user
Сообщения: 79
Зарегистрирован: 20 мар 2014, 14:21
Версия LabVIEW: 15
Откуда: Новосибирск
Благодарил (а): 5 раз
Контактная информация:

LabView и HID устройство

Сообщение nae »

Доброго дня!
Имеем юсб устройство ввода от tangent типа "мышь трёхголовая" с требя трекболами, тремя инкрементальными энкодерами и восемью кнопками. Хочется задействовать сей бесполезный в обычной жизни девайс в labview.
На сайте производителя пишут, что дров у них нет, это HID и ищите дрова HID в вашей операционке.
Подключем контроллер, на всякий случай подглядываем в сторонний HID монитор и видим, что девайс появляется (виды, пиды, стринги, всё как надо), при попытке что-то пошевелить в терминал монитора валится старничка с состояниями регистров девайса (видимо по прерыванию работает).
Включаем LV. Идем в User input, запрашиваем показать всё что есть и видим, что наш девайс попал в кагорту джойстиков. Звоним по его адресу а в ответ тишина. На библиотечку lvinput.dll документации я не нашел.
Как можно подключить горыныча?
Беглый поиск показал, что надо всего навсего через визу сгенерить псевдодрайвер (это легко), а потом его самоподписать и тогда можно будет звонить через визу. Но мне кажется это как-то крутовато самоподписывать драйверы. Тем более что в винде устройство-то уже работает.
Может у кого-то уже был опыт подключения того, что не даёт подключить lvinput.dll?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: LabView и HID устройство

Сообщение IvanLis »

nae писал(а): 13 июл 2022, 11:32 Как можно подключить горыныча?
Я давно правда, подключал XBox или PC используя стандартную палитру.
Снимок экрана от 2022-07-13 11-43-42.png
Снимок экрана от 2022-07-13 11-43-42.png (12.85 КБ) 1359 просмотров
По идее там все HID должны быть, другой вопрос, получится ли все функции использовать.
Аватара пользователя
nae
user
user
Сообщения: 79
Зарегистрирован: 20 мар 2014, 14:21
Версия LabVIEW: 15
Откуда: Новосибирск
Благодарил (а): 5 раз
Контактная информация:

Re: LabView и HID устройство

Сообщение nae »

IvanLis писал(а): 13 июл 2022, 11:48
nae писал(а): 13 июл 2022, 11:32 Как можно подключить горыныча?
Я давно правда, подключал XBox или PC используя стандартную палитру.
Снимок экрана от 2022-07-13 11-43-42.png
По идее там все HID должны быть, другой вопрос, получится ли все функции использовать.
Глянул это в первую очередь. Там в lvinput.dll больше функций, чем выведено на эту палитру, но прототипов к ним нет. А те функции, что есть - не выдают данных для рефа, в стринге которого написан производитель горыныча. Обычную мышку они видят.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: LabView и HID устройство

Сообщение IvanLis »

nae писал(а): 13 июл 2022, 12:16 Глянул это в первую очередь. Там в lvinput.dll больше функций, чем выведено на эту палитру, но прототипов к ним нет. А те функции, что есть - не выдают данных для рефа, в стринге которого написан производитель горыныча. Обычную мышку они видят.
А какие функции Вы там ожидаете?
Если не считать Инициализации и Отключения, то она всего одна - Чтение данных.

Вам нужно попробовать менять device index и найти именно джостик.
Дальше дергать чтение и определять кнопки (там их 32 возможно).
У меня например не совпадали направления, пришлось определять опытным путем.
Снимок экрана от 2022-07-13 15-41-57.png
joystick Test.vi
lv2015
(10.6 КБ) 447 скачиваний
Можно конечно попробовать Query Input Devices, покажет нам джостик или нет, посмотреть.
Аватара пользователя
nae
user
user
Сообщения: 79
Зарегистрирован: 20 мар 2014, 14:21
Версия LabVIEW: 15
Откуда: Новосибирск
Благодарил (а): 5 раз
Контактная информация:

Re: LabView и HID устройство

Сообщение nae »

IvanLis писал(а): 13 июл 2022, 15:46
nae писал(а): 13 июл 2022, 12:16 Глянул это в первую очередь. Там в lvinput.dll больше функций, чем выведено на эту палитру, но прототипов к ним нет. А те функции, что есть - не выдают данных для рефа, в стринге которого написан производитель горыныча. Обычную мышку они видят.
А какие функции Вы там ожидаете?
Если не считать Инициализации и Отключения, то она всего одна - Чтение данных.

Вам нужно попробовать менять device index и найти именно джостик.
Дальше дергать чтение и определять кнопки (там их 32 возможно).
У меня например не совпадали направления, пришлось определять опытным путем.

Снимок экрана от 2022-07-13 15-41-57.png
joystick Test.vi

Можно конечно попробовать Query Input Devices, покажет нам джостик или нет, посмотреть.
Первым делом Query Input Devices и включил - увидел только, что в одном из стрингов рефнума прописался лейбл производителя девайса. Этот рефнум в семействе джойстиков. Но при попытке получить данные от джойстика по этому рефнуму ни к чему не приводят - данные не меняются. Протестил горыныча на смартфоне - программы-тестеры геймпадов его игнорят (а другие геймпады показывают). Видимо драйвер HID имеет помимо основного способа опроса ещё какой-то, не реализованный в lvinput.dll.
Вложения
Вид окна стороннего HID-монитора, при вращении осей прилетают данные с координатами этих осей.
Вид окна стороннего HID-монитора, при вращении осей прилетают данные с координатами этих осей.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: LabView и HID устройство

Сообщение dadreamer »

Попробуйте запустить прогу отсюда: https://jstookey.com/multiple-mice-raw-input/ Она на две мыши, но третью можно прикрутить при желании. Есть исходники на C#, C/C++. В принципе, можно подключить в :labview: через узлы .NET, или же реализовать все WinAPI вызовы через стандартные CLFN. По "сырому" вводу можно почитать доки тут: https://docs.microsoft.com/en-us/window ... dfrom=MSDN

Ещё одним вариантом может быть установка девайса как USB RAW, после чего его данные можно вычитать через VISA: https://forums.ni.com/t5/LabVIEW/grabbi ... 24#M670331 Однако, это тоже не будет просто. Есть ещё куча сторонних HID-обёрток, в этой теме есть ссылки.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»