Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Драйвер джойстика для C8051F320 (что-то похожее на USBXpress)
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Dmitriy_V
Хотел сделать джойстик из велотренажера (и поиграться и здоровью польза).
Но как влез в документацию по USB и драйверам, то стало тошно. (До этого для передачи использовал USBXpress)
Если кто уже делал подобные устройства, то поделитесь исходниками (желательно с
комментариями).
Я в свою очередь, если это устройство заработает, выложу результаты разработки.
Kitsok
Цитата(Dmitriy_V @ Feb 16 2007, 22:08) *
Хотел сделать джойстик из велотренажера (и поиграться и здоровью польза).
Но как влез в документацию по USB и драйверам, то стало тошно. (До этого для передачи использовал USBXpress)
Если кто уже делал подобные устройства, то поделитесь исходниками (желательно с
комментариями).
Я в свою очередь, если это устройство заработает, выложу результаты разработки.


У меня есть исходники для AT91SAM7S, но если вас затошнило от документации по USB, то они вам, скорее всего, не помогут.

Мой совет - вооружайтесь ведром и читайте для начала документацию на HID. По-моему, в книжке Агурова как раз под ваш контроллер есть примеры, тоже почитайте. Еще рекомендую USB Design by example, USB complete. Последние две гораздо лучше Агурова ИМХО. Еще www.lvr.com, там тоже код лежит.

В общем, как это ни банально звучит, поиск рулит!
Dmitriy_V
Цитата(Dmitriy_V @ Feb 16 2007, 22:08) *
Хотел сделать джойстик из велотренажера (и поиграться и здоровью польза).
Но как влез в документацию по USB и драйверам, то стало тошно. (До этого для передачи использовал USBXpress)
Если кто уже делал подобные устройства, то поделитесь исходниками (желательно с
комментариями).
Я в свою очередь, если это устройство заработает, выложу результаты разработки.


Спасибо за большое количество ответов и желание помочь biggrin.gif .
Поскольку, как уже говорилось выше, вникать во все тонкости разработки HID устройств ни времени, ни желания у меня не было, а типовые примеры разобраны недостаточно подробно (и не всегда работают), то пришлось находить более простое решение данной проблемы.

1. Существует драйвер виртуального джойстика PPJOY. Данный драйвер создает виртуальный джойстик с 10 осями и 16 кнопками, что более чем достаточно для любых применений.
2. На данный джойстик программно можно передавать желаемое состояние осей и кнопок.
3. Передачу данных с устройства на микроконтроллере С8051F320 в программу установки состояния виртуального джойстика можно осуществлять с помощью USBXpress.

Таким образом, в результате применения двух готовых драйверов PPJOY и USBXpress можно, не сильно разбираясь в работе USB протокола и HID устройствах, построить весьма работоспособный джойстик. При этом необходимо написать промежуточную компьютерную программу по передаче данных из микроконтроллера на оси виртуального джойстика, которая дополнительно нагружает ЦП. Однако для первоначального опробования джойстика мне кажется это не критично.

Драйвер PPJOY не прикрепляется, хотя весит всего 1.495 мб.
Kitsok
Поздравляю с решением первой проблемы!

Желаю мужества при решении следующей тысячи проблем, которые возникнут у вас при такой архитектуре wink.gif

P.S. маленькая поправка. PPJoy создает виртуальный джойстик с любым количеством осей и кнопок, а вот DirectInput поддерживает 8 осей и 128 кнопок, чего далеко не всегда достаточно.
anton
Цитата
Передачу данных с устройства на микроконтроллере С8051F320 в программу установки состояния виртуального джойстика можно осуществлять с помощью USBXpress.


А не проше тогда с МК по 232 связатся.
Dmitriy_V
Цитата(anton @ Mar 14 2007, 19:31) *
А не проше тогда с МК по 232 связатся.


Проще, но у меня на ноуте нет RS232 sad.gif .
Конечно, хотелось бы работать через драйвер, но поскольку разработка собственного вещь достаточно муторная, делиться исходниками никто не хочет, времени на изучение этого нет (задача не коммерческая, а ради развлечения слишком много времени убьет), то пришлось пойти по пути наименьшего сопротивления.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.