Вверх ↑
Этот топик читают: Гость
Ответов: 316
Рейтинг: 21
#31: 2011-04-24 20:03:12 ЛС | профиль | цитата
1nd1g0 писал(а):
LastLeader, да не один Вы, просто формулировать надо так, чтобы сразу хотелось сорваться и бежать делать Вам компонент) Например, пообещать джойстик иили термометр подарить)

[flood]Понял, возьму на заметку [/flood]

карма: 1

0
Ответов: 3889
Рейтинг: 362
#32: 2011-04-24 20:41:39 ЛС | профиль | цитата
LastLeader писал(а):
Давайте так, я буду собирать тут материал по теме, а Вы держите в курсе, как у Вас продвигается. Глядишь, кто из гуру подключится и поможет оформить в рамках компонента HiAsm4.
------------ Д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

0
Ответов: 316
Рейтинг: 21
#33: 2011-04-24 21:24:03 ЛС | профиль | цитата
[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

0
Ответов: 3889
Рейтинг: 362
#34: 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] [671], hid.7z [1.1MB] [740]
Разработчик
Ответов: 26066
Рейтинг: 2120
#35: 2011-04-25 16:31:24 ЛС | профиль | цитата
1nd1g0, и кто тебе мешает заняться реализацией
карма: 22

0
Ответов: 3889
Рейтинг: 362
#36: 2011-04-25 16:57:42 ЛС | профиль | цитата
[offtop]nesco, религия
Будь у меня груз (нигде более не нужных) знаний по местным версиям ObjPas, KOL и специфике окружения конструктора, я бы давно написал и слова не сказал)[/offtop]
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#37: 2011-04-25 17:01:08 ЛС | профиль | цитата
[offtop]А у меня, увы, это совсем не интересно, да и устройств у меня таких нет, и не нужны они мне. Я придерживаюсь тенденции, что самая лучшая рыба -- это колбаса, а самый лучший джойстик -- это мышь и клавиатура[/offtop]
карма: 22

0
Ответов: 3889
Рейтинг: 362
#38: 2011-04-25 17:55:53 ЛС | профиль | цитата
nesco, мышь и клавиатура, если они USB, тоже HID и могут приниматьпередавать что-то, не реализованное обычными драйверами HID->мышь)) Например, принимать частоту опроса датчика, разрешение в DPI, передавать состояние боковых доп. кнопок или доп. колеса.

А если бы у Вас всё-таки был USB джойстик?
Скажем, геймпад от Sony Playstation
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#39: 2011-04-25 18:01:46 ЛС | профиль | цитата
1nd1g0 писал(а):
А если бы у Вас всё-таки был USB джойстик? Скажем, геймпад от Sony Playstation 3)

Терьпеть не могу джойстики
Мне кажется, что надо привлечь молодых, а мне, как я уже сказал
nesco писал(а):
увы, это совсем не интересно

------------ Дoбавленo в 18.01:
1nd1g0, мне так кажется, что никто на это не подпишется, только потому, что делать надо это сообща, в одной конторе, которая потом заработает себе на колбасу общими усилиями (одни разрабатывают устройство, другие ПО), а не общаясь виртуально, и совсем непонятно, за какие ништяки. Приносить просто так кому-то прибыль мне совсем не интересно, да и желания никакого нет
карма: 22

0
Ответов: 3889
Рейтинг: 362
#40: 2011-04-25 18:02:12 ЛС | профиль | цитата
nesco, честно говоря, мне - тоже. Беру у китайца килограмм геймпадов, распаиваю, получаю с каждого без заморочек с драйверами на шине USB (то есть - почти на любом компьютере) 18 независимых цифровых входов, 4 аналоговых и 2 ШИМ выхода)) А дальше зависит от фантазии)
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#41: 2011-04-25 18:05:06 ЛС | профиль | цитата
1nd1g0, у меня работа совсем не связана с такого типа устройствами. Если мне что-то было и нужно, то не более одного устройства, и взял бы я его только с драйверами производителя.

Да и ушел я уже давно от разработок на коленках, лет десять этим уже не занимаюсь, проще и дешевле купить готовое. И то, что делает LastLeader должен делать не один человек, а несколько, постоянно общаясь друг с другом, и имея полный доступ к разрабатываемым устройствам.
карма: 22

0
Ответов: 3889
Рейтинг: 362
#42: 2011-04-25 18:43:59 ЛС | профиль | цитата
[offtop]LastLeader, слышали? Готовьте свои системы "Умный Дом" с полной документацией и акциями собственной компании))[/offtop]nesco, HID вообще много где нужен, коммерческое применение скорее исключение, чем правило. Если забыть на секунду про ТС, я бы не против свои конверторы с геймпада в MIDI сделать и бесплатно народу выложить, авось музыкантов прибавится нормальных, свои действия на наклон колеса в мышке, стандартный менеджер не устраивает совсем, свой обработчик доп. кнопок на ноутбуке... Многим сразу придёт в голову масса идей, если будет на чём их реализовать)
карма: 1

0
Ответов: 316
Рейтинг: 21
#43: 2011-04-25 19:42:07 ЛС | профиль | цитата
nesco писал(а):
Да и ушел я уже давно от разработок на коленках, лет десять этим уже не занимаюсь, проще и дешевле купить готовое. И то, что делает LastLeader должен делать не один человек,

так можно и обидите. Я начинающий конструктор а не любитель самоучка. Про жменю деталей сказал только потому что я могу собрать устройство для отладки за короткий промежуток времени. Я учился на конструктора и но собираюсь быть никем другим. Чтоб все понять нужно хоть один раз сделать а это у меня первый раз (после первого раза меня не остановить).
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#44: 2011-04-25 19:51:13 ЛС | профиль | цитата
LastLeader писал(а):
так можно и обидите

Чем, тем, что я сказал, что делать серьезные разработки не под силу одному человеку. И я совершенно не отнимал у тебя звание конструктора. Но ведь согласись, что ты уже столкнулся с трудностями программирования, сам же об этом писал.
И что я такого сказал, я просто выразил свое мнение
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#45: 2011-04-25 21:08:26 правка | ЛС | профиль | цитата


Редактировалось 11 раз(а), последний 2021-06-21 03:49:15
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)