1nd1g0 писал(а):
LastLeader, да не один Вы, просто формулировать надо так, чтобы сразу хотелось сорваться и бежать делать Вам компонент) Например, пообещать джойстик иили термометр подарить)[flood]Понял, возьму на заметку [/flood]
Ответов: 316
Рейтинг: 21
|
|||
1nd1g0 писал(а): LastLeader, да не один Вы, просто формулировать надо так, чтобы сразу хотелось сорваться и бежать делать Вам компонент) Например, пообещать джойстик иили термометр подарить)[flood]Понял, возьму на заметку [/flood] |
|||
карма: 1 |
|
Ответов: 3889
Рейтинг: 362
|
|||
LastLeader писал(а): ------------ Дoбавленo в 20.18: Итак, уважаемые коллеги, начинаем собирать информацию по дружбе HID и Delphi. До нас не одно поколение программистов освоило работу с всевозможными USB-манипуляторами и датчиками, прикрепляю компромат: hidkomponente.zip - исходный код делфи компонент для работы с HID hidtestsource.zip - исходный код тестового приложения, дружащего с HID ------------ Дoбавленo в 20.41: И немного теории... По предварительным данным, собранным за последние десять минут)) В массе своей работа с любыми HID устройствами (а их тысячи, даже USB-HID микрофоны есть, как оказалось) суть работа с API, предоставляемым hid.dll (непросредственно HID) и setupapi.dll (предварительная работа с устройствами). Документация в Windows DDK, говорят форумы, не совсем точная и полная, больше всего полезного можно найти прямо во входящих в этот DDK файлах заголовков hidpi.h и hidsdi.h, ну и setupapi.h не помешает. Братья китайцы поделились со мною выдранными из старенького мелкософтовского DDK файлами заголовков с описанием API - ntddk.rar Помимо всего, в MSDN нашлась статья, утверждающая, что приложения могут принимать сообщения WM_INPUT, содержащие не декодированный бинарный поток с HID устройств. Для этого надо сообщить системе, какие и откуда сообщения ты хочешь принимать своей формой. Очень подробно об этом рассказывают тут. |
|||
карма: 1 |
|
Ответов: 316
Рейтинг: 21
|
|||
[url]http://avrhobby.ru/index.php?option=com_content&view=article&id=84:usbbegin1&catid=40:vusbpages[/url] - начинаем от сель
http://avrhobby.ru/index.php?option=com_content&view=category&id=40&Itemid=66 и по порядку по примерам. Примеры вроде на делфи http://www.osp.ru/pcworld/2008/02/4884366/ |
|||
карма: 1 |
|
Ответов: 3889
Рейтинг: 362
|
|||
Продолжаю тему, собираем всё больше полезной информации. Того и гляди 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 |
| ||
файлы: 2 | jvcl_hid_extract.7z [653.4KB] [714], hid.7z [1.1MB] [779] |
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
1nd1g0, и кто тебе мешает заняться реализацией
|
|||
карма: 22 |
|
Ответов: 3889
Рейтинг: 362
|
|||
[offtop]nesco, религия
Будь у меня груз (нигде более не нужных) знаний по местным версиям ObjPas, KOL и специфике окружения конструктора, я бы давно написал и слова не сказал)[/offtop] |
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
[offtop]А у меня, увы, это совсем не интересно, да и устройств у меня таких нет, и не нужны они мне. Я придерживаюсь тенденции, что самая лучшая рыба -- это колбаса, а самый лучший джойстик -- это мышь и клавиатура[/offtop]
|
|||
карма: 22 |
|
Ответов: 3889
Рейтинг: 362
|
|||
nesco, мышь и клавиатура, если они USB, тоже HID и могут приниматьпередавать что-то, не реализованное обычными драйверами HID->мышь)) Например, принимать частоту опроса датчика, разрешение в DPI, передавать состояние боковых доп. кнопок или доп. колеса.
А если бы у Вас всё-таки был USB джойстик? Скажем, геймпад от Sony Playstation |
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
1nd1g0 писал(а): А если бы у Вас всё-таки был USB джойстик? Скажем, геймпад от Sony Playstation 3)Терьпеть не могу джойстики Мне кажется, что надо привлечь молодых, а мне, как я уже сказал nesco писал(а): увы, это совсем не интересно------------ Дoбавленo в 18.01: 1nd1g0, мне так кажется, что никто на это не подпишется, только потому, что делать надо это сообща, в одной конторе, которая потом заработает себе на колбасу общими усилиями (одни разрабатывают устройство, другие ПО), а не общаясь виртуально, и совсем непонятно, за какие ништяки. Приносить просто так кому-то прибыль мне совсем не интересно, да и желания никакого нет |
|||
карма: 22 |
|
Ответов: 3889
Рейтинг: 362
|
|||
nesco, честно говоря, мне - тоже. Беру у китайца килограмм геймпадов, распаиваю, получаю с каждого без заморочек с драйверами на шине USB (то есть - почти на любом компьютере) 18 независимых цифровых входов, 4 аналоговых и 2 ШИМ выхода)) А дальше зависит от фантазии)
|
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
1nd1g0, у меня работа совсем не связана с такого типа устройствами. Если мне что-то было и нужно, то не более одного устройства, и взял бы я его только с драйверами производителя.
Да и ушел я уже давно от разработок на коленках, лет десять этим уже не занимаюсь, проще и дешевле купить готовое. И то, что делает LastLeader должен делать не один человек, а несколько, постоянно общаясь друг с другом, и имея полный доступ к разрабатываемым устройствам. |
|||
карма: 22 |
|
Ответов: 3889
Рейтинг: 362
|
|||
[offtop]LastLeader, слышали? Готовьте свои системы "Умный Дом" с полной документацией и акциями собственной компании))[/offtop]nesco, HID вообще много где нужен, коммерческое применение скорее исключение, чем правило. Если забыть на секунду про ТС, я бы не против свои конверторы с геймпада в MIDI сделать и бесплатно народу выложить, авось музыкантов прибавится нормальных, свои действия на наклон колеса в мышке, стандартный менеджер не устраивает совсем, свой обработчик доп. кнопок на ноутбуке... Многим сразу придёт в голову масса идей, если будет на чём их реализовать)
|
|||
карма: 1 |
|
Ответов: 316
Рейтинг: 21
|
|||
nesco писал(а): Да и ушел я уже давно от разработок на коленках, лет десять этим уже не занимаюсь, проще и дешевле купить готовое. И то, что делает LastLeader должен делать не один человек,так можно и обидите. Я начинающий конструктор а не любитель самоучка. Про жменю деталей сказал только потому что я могу собрать устройство для отладки за короткий промежуток времени. Я учился на конструктора и но собираюсь быть никем другим. Чтоб все понять нужно хоть один раз сделать а это у меня первый раз (после первого раза меня не остановить). |
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
LastLeader писал(а): так можно и обидитеЧем, тем, что я сказал, что делать серьезные разработки не под силу одному человеку. И я совершенно не отнимал у тебя звание конструктора. Но ведь согласись, что ты уже столкнулся с трудностями программирования, сам же об этом писал. И что я такого сказал, я просто выразил свое мнение |
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 12 раз(а), последний 2025-01-08 06:05:09 |
|||
карма: 0 |
|