Вверх ↑
Ответов: 3889
Рейтинг: 362
#1: 2011-04-25 15:10:06 ЛС | профиль | цитата
Продолжаю тему, собираем всё больше полезной информации. Того и гляди HiAsm научится работать с большинством современных низко скоростных USB. В opensource Delphi - библиотеке JEDI VCL (JVCL)нашлось немного справочного материала и оболочка hid.pas.

Прилагаю вырезанную из JVCL справку по HID, исходники враппера и небольшого примера работы с HID. Там же бонусом лежит pdf-статья на русском языке, объясняющая, насколько крут HID и как с ним работать в Delphi посредством приложенных мною исходных файлов ;)
------------ Дoбавленo в 10.03:
Добавляем документацию по HID, В файле hid.7z лежит официальная документация на Human Interface Devices (HID - устройства взаимодействия ПК с человеком, чаще - посредством USB), которая Вам понадобиться для:

1) Принятия решения о создании компонента под HiAsm ;)
2) Изучении невероятного многообразия существующих HID устройств, которыми Вы, скорее всего, даже пользуетесь
3) Разработки собственных стандартных и нестандартных HID устройств, совместимых с приложениями на HiAsm

Содержимое архива hid.7z:

HID1_11.pdf - спецификация HID
Hut1_12.pdf - таблицы уже реализованных классов HID устройств с подробной информацией о стандартных протоколах (самый интересный документ, тут можно узнать, как программно отличать сканер штрихкодов от станка ЧПУ или мультимедийной клавиатуры ))

------------ Дoбавленo в 11.04:
Небольшой дополненный экскурс на тему "С чем же мы сможем легко работать чз компонент HID в HiAsm?" (когда такой компонент появится). Вокруг нас тысячи уже совместимых с HID устройств, иногда это не афишируется и к устройству прилагаются "драйвера", которые на деле являются прослойкой между обычным HID и приложениями. Но никто не мешает работать напрямую с HID, а при установленном виртуальном джойстике, например, даже делать свои "прослойки". Например, изменить логику работы вибратора и системы затруднения прокрутки в руле, инвертировать вертикальную ось в штурвале и т.п.

Итак, что же из уже сейчас лежащих вокруг нас предметов с USB шнурамиразъёмами](при условии реализации HID, естественно, который всё чаще реализуют аппаратно прямо в чипах) ждёт, когда же мы считаем данные или отправим команду из HiAsm?:
Развернуть примерный список классов уже существующих HID-устройств

1) Обычные настольные устройства управления (мышки, клавиатуры)
2) Устройства симуляции (типа рулей, штурвалов)
3) Устройства управления виртуальной реальностью (перчатки, шлемы с датчиками и т.п.)
4) Спортивные контроллеры (коврики, беговые дорожки, виртуальный спорт. инвентарь типа ракеток)
5) Игровые контроллеры (джойстики, геймпады)
6) Светодиодные панели и индикаторы
7) Концевые переключатели и кнопки (например, датчики открытия корпуса ПК, спец. кнопки ноутбуков и т.п.)
8) Цифровые панели (а-ля телефондомофон)
9) Телефонные аппараты
10) Бытовая техника
11) Графические планшеты, тачпады и сенсорные экраны
12) Устройства обратной связи с человеком: вибромоторы, электромагниты, динамики
13) Дополнительные средства текстового ввода (например, мини-распознаватели почерка)
14) Внешние алфавитно-цифровые и графические дисплеи
15) Медицинские приборы
16) Современные мониторы
17) Источники бесперебойного питания и модули управления питанем блоков внутри ПК, например, отключалки WiFi в некоторых ноутбуках
18) Сканеры штрихкодов и ярлыков
19) Устройства работы с магнитными и чиповыми картами
20) Сканеры отпечатков пальцев
21) Видео и фотокамеры (с элементами управления иили моторами фокусировки и поворотов)
22) Игровые и платёжные автоматы, банкоматы (монетоприёмники, купюроприёмники, элементы управления и индикации)
23) Сотни аналогово-цифровых датчиков, приводов, индикаторов...

Масса, просто масса всего вокруг. При наличии полноценного интерфейса с HID, Вам будет достаточно знать несколько чисел характеристик интересующего прибора и несколько строчек протокола работы с ним, благо, в 90% случаев ничего не шифруется и не усложняется.


Для многих мудрее отдать $10 за не требующий драйверов и особого изучения протоколов готовый USB-геймпад с 4 АЦП, 18 кнопками и 2-мя раздельно управляемыми ШИМ (вибромоторы), чем $40 - $200 за проприетарный KernelChip со всеми вытекающими "радостями".
------------ Дoбавленo в 15.10:
Как мы помним, HiAsm5 приоритетно разрабатывается на ОС Linux, так вот HID прекрасно поддерживается и там, как помню, с 2.4.2 ядра (могу приврать в подверсии). Это тот редкий случай, когда проекты, связанные с редкимсамодельным железом, можно сделать мультиплатформенными без особых усилий. Даже в одиночку. HiAsm + (пока ещё не реализованный) HID дадут Вам скорость разработки, наглядность и единый программный интерфейс на многих платформах. А в перспективе... В наше время HID поддерживают даже смартфоны и КПК, не только как клиенты, но и как хосты.
карма: 1

0
файлы: 2jvcl_hid_extract.7z [653.4KB] [442], hid.7z [1.1MB] [483]