Страница 1 из 1

usb hid Джойстик на atmega16

Добавлено: Пт окт 22, 2010 18:36:41
romazan
Задумал я сварганить пульт для симулятора полётов X-plane. Нужно сделать джойстик с 16 осями и кнопками. Для реализации этого есть atmega16 и мультиплексор. Начал рыскать по инету, нашёл проект Mjoy16, но вот исходников нет. Вообщем нужна помощь в написании кода.

Re: Джойстик на atmega16

Добавлено: Пн окт 25, 2010 17:48:26
GRAF
Ищите исходники MJoy8, по ним можно свою прогу составить. Исходники на ассемблере.

Re: Джойстик на atmega16

Добавлено: Пн окт 25, 2010 20:42:58
romazan
Вообщем разобрался немного с библиотекой V-USB, создал дескриптор устройства, понял как отправлять данные, НО в каком виде незнаю, тут получалось поуправлять осями Х и У, но мне надо Throttle

Re: usb hid Джойстик на atmega16

Добавлено: Вт ноя 02, 2010 18:48:25
Томатный
Посмотри файло в аттаче, мб поможет. Разбирался два года назад: переделывал прошивку из статьи Сергея Рюмика про то как подключить старые джойстики Sega по USB.
В прошивке были ось X и Y, но работали как кнопки. я сделал их пропорциональными, добавил ещё ось Z, потом добавил ещё оси Rx и Ry итого 5 степеней свободы. Осилил только 8 кнопок, хотя планировал больше, но почему-то не вышло :(
Честно говоря даже не помню как разобрался так что даже врятли смогу помочь, хорошо что хотябы исходники нашел :)

Схемы нету, но из прошивки думаю станет ясно, что там нужно поменять, чтобы сделать свои изменения
Фотки: http://img808.imageshack.us/gal.php?g=73445649.jpg

Re: usb hid Джойстик на atmega16

Добавлено: Вт ноя 02, 2010 22:14:30
romazan
Да в том-то и прикол, что как управлять основными осями понятно, но есть такая ось Trothle, вот как ей. ума не приложу
Изображение

Re: Джойстик на atmega16

Добавлено: Вт ноя 02, 2010 22:50:53
codenamehawk
GRAF писал(а):Ищите исходники MJoy8, по ним можно свою прогу составить. Исходники на ассемблере.
Исходники asm для меги8 есть.

Re: usb hid Джойстик на atmega16

Добавлено: Вт ноя 02, 2010 22:59:13
Томатный
romazan писал(а):Да в том-то и прикол, что как управлять основными осями понятно, но есть такая ось Trothle, вот как ей. ума не приложу
я видимо не так понял, я думал именно с исходниками трабл - не получилось степени свободы добавить.
Трофл - сцепление, тут значения от нуля до предела, а не с центром как у оси X например
То же самое с газом и тормозом. просто используйте другие оси: X,Y,Z,Rx,Ry,Rz - это уже 6ть, остальные не знаю, нужно искать.
Кстати можно также сделать два логических джойстика в одном девайсе и это даст уже 12 степеней

Re: usb hid Джойстик на atmega16

Добавлено: Ср ноя 03, 2010 15:25:58
Pe3ucTop
Сделать что-бы от 0-до-255 не так сложно, наизусть не помню - но тип передаваемых данных и макс/мин значения - всё задаётся в дескрипторе..
Попробуйте просто поменять :
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
0x15, 0x81, // LOGICAL_MINIMUM (-127)
# На
# 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
# 0x15, 0x00, // LOGICAL_MINIMUM (0)

Поглядел и подумал, не надо, исправьте то что вы передаёте - не 0, а -127... А это уже не в дескрипторе..
Хотя нашел вариант:
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)

Re: Джойстик на atmega16

Добавлено: Чт ноя 04, 2010 11:58:15
Satyr
romazan писал(а):Вообщем разобрался немного с библиотекой V-USB
Делал несколько чтук на V-USB. Впринципе работает, но не особо стабильно. И с прерываниями надо быть очень осторожно.
Ну а главное, смысл какой ? сейчас at90usb162 стоит почти как атмега16. Памяти поменьше, но для джойстика должно хватить.
Зато аппаратный и беспроблемный USB контроллер. Под at90usb* есть отличная библиотека УСБ + куча примерров, включая джойстики - LUFA.

Re: usb hid Джойстик на atmega16

Добавлено: Чт ноя 04, 2010 17:17:30
romazan
Короче просто создам стандартные оси и не буду больше "парить" мозг. Щас занят поиском 16 штук переменных одинаковых резисторов и черчу конструкцию рычагов газа.
Satyr писал(а): Делал несколько чтук на V-USB. Впринципе работает, но не особо стабильно. И с прерываниями надо быть очень осторожно.
Ну а главное, смысл какой ? сейчас at90usb162 стоит почти как атмега16. Памяти поменьше, но для джойстика должно хватить.
Зато аппаратный и беспроблемный USB контроллер. Под at90usb* есть отличная библиотека УСБ + куча примерров, включая джойстики - LUFA.
Я тоже общал внимание на этот проц, но есть одно НО: мне чтобы его купить надо пилить 100км до москвы или недели 3 ждать по почте, так что пока использую то что есть

Re: usb hid Джойстик на atmega16

Добавлено: Пт ноя 05, 2010 00:55:32
Satyr
Тогда лишь посоветую не наступать на мои грабли - кроилово с керамическим резанатором вместо кварца приводит V-USB девайс в части работоспособности в лоттерею -)))