???
Математика на уровне МГУ

Страница 5 из 105 ПерваяПервая 1234567891555 ... КрайняяКрайняя
Показано с 101 по 125 из 2776

Тема: USB контроллер джойстика

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Ответ: USB контроллер джоистика

    В распайке вроди как уверен. Полярность питания поидееправильная. Контролер прошивается отлично, прошивка совпадает с оригиналом.
    Проверить частоту кварца возможности покачто нету никакой.
    Флажки установлены небыли , сейчас их поменял, тоесть установил только СКОРТ, но я про них нигде не прочитал .

    Такс выставил биты конфигурации и всё счастье заработало. Спасибо.

    Имею вопрос - где мона про них прочитать , так как чтото в спецификации контролера я их сразу не вижу.

    На данный момент наблюдаю дребезг на осях ,но это скорее всего из-за того что не подключены датчики

  2. #2

    Ответ: USB контроллер джоистика

    вот по ходу дела возник вопрос.
    У ЮСБ поидее есть экран, так вот у меня когда екран находится в болтающемся положении тоесть когда он не подключен никуда на выходах с АЦП наблюдается сильнейший дребезг , но когда я "подключаю" себя к экрану , тоесть как я понял свою ёмкость , то дребезг исчезает.
    Вопрос в следующем - куда подключить экран ЮСБ ???

  3. #3
    Пилот-Конструктор Аватар для MeanDog
    Регистрация
    04.02.2004
    Адрес
    Lithuania
    Возраст
    50
    Сообщений
    122

    Ответ: USB контроллер джоистика

    Цитата Сообщение от BAG
    Имею вопрос - где мона про них прочитать , так как чтото в спецификации контролера я их сразу не вижу.
    Читай на странице 24 документа ATMega8

    Цитата Сообщение от BAG
    Вопрос в следующем - куда подключить экран ЮСБ ???
    Подключай к земле. Это единственное хорошое место для его

  4. #4

    Ответ: USB контроллер джоистика

    уря. я его таки запустил нормально 8)

    ПС надеюсь что нормально

    Жаль только что в совте теста точности джоя нету возможности выбора номера девайса , ато у меня Мджой полюбому становиться девайсом 1 а не 0 .
    Хотя я в исходниках прошивки покачто не ковырялся , но поидее там этого быть не может.

    Буду искать автора проги и просить о нововведении или исходники проги 8)

  5. #5
    Инструктор
    Регистрация
    15.12.2000
    Адрес
    Togliatty
    Сообщений
    1,545

    Ответ: USB контроллер джоистика

    2 GO.
    Имхо нет. Тут (на этом алгоритме) получается другое, появляется виртуальное нажатие еще одной кнопки, если нажаты три в углах матрицы.

    2 MeanDOG.
    Тогда (для внешних 16-бит АЦП) придется освобождать SPI, заводить двухполярное +/- 12В и маньячить с разводкой и питанием. USB-шные +5В звенят сильно.

    2 ALL
    вот здесь
    http://www.gaw.ru/html.cgi/txt/app/micros/avr/index.htm
    и особенно вот здесь
    http://www.atmel.ru/Articles/Articles.htm
    есть русские доки связанные с АВРами.

    И еще http://home.tula.net/algrom/russian.html - супер! Графический ассемблер, прошивальщик,отладчик,симулятор. Больше года работаю с ним. Жаль для х86 ничего подобного нет.

    Вдогонку. Кстати, рекомендую посмотреть в сторону
    AtMega48-20PI(ai) - у них розница должна быть меньше 100 рублей, а так это функционально и по-пиново полные аналоги Мега8
    Крайний раз редактировалось LazyCamel; 28.07.2004 в 03:35.
    Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!

  6. #6
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    Ответ: USB контроллер джоистика

    Цитата Сообщение от LazyCamel
    2 GO.
    Имхо нет. Тут (на этом алгоритме) получается другое, появляется виртуальное нажатие еще одной кнопки, если нажаты три в углах матрицы ...
    Имхо, это как раз и значит, что независимого нажатия кнопок (больше двух, и то не во всех случаях), не получится без применения диодов!
    Однако, во многих клавах матрица пленочная и без диодов и распознают они гораздо большеее количество нажатых/отпущенных кнопок.. :confused: Im wondering какой алгоритм? :confused:
    Успехов!

  7. #7

    Ответ: USB контроллер джоистика

    Цитата Сообщение от GO!
    Имхо, это как раз и значит, что независимого нажатия кнопок (больше двух, и то не во всех случаях), не получится без применения диодов!
    Однако, во многих клавах матрица пленочная и без диодов и распознают они гораздо большеее количество нажатых/отпущенных кнопок.. :confused: Im wondering какой алгоритм? :confused:
    алгоритм очень простой - последовательный опрос а не паралельный. он состоит в том что на (например) строку матрицы (только одну) подается "1" и при этом считываются все столбцы которых не много (примерно 4 - 6).
    итого получаем дофигище кнопок.

    Таким алгоритмом я сейчас и планирую заняться. Тоесть реализовать на данной базе.

    Планирую сделать електронику : 12-18 осей , что с технической точки зрения вполне реально
    32 - 128 кнопок это сли не заниматься извращениями, Если немножко поизвращаться , то можно на этом контролере реализовать 256 или даже 512 кнопок. Но это всё только с хардовой части. Тут возникает загвоздка с временем обработки всего этого счастья и с перидачей и восприимчивости собсно винды к устройствам с таким не хилым количеством всяких кнопочек.

    Но впринципе никому такое счастье не нада. Пока я решил сделать вариант с 12 осей 28 кнопок 1 хат

    ПС я решил посмортеть на стоимость АЦП 12 14 и 16 разрядов , я просто ОФИГИНЕЛ !!!! это просто кАААшмААр !!! от 100 уе !!
    а мультиплексоры блин от 20 уе !!! просто маразм !! пришлось купить наши старые аж по 0.2 бакса за штуку

    вобщем вот пытаюсь вьехать сейчас в ХИД устройства и особенно есть ли у них ограничения на количество осей и кнопок так как не хотелось бы пролететь

    ППС впринципе можно сделать свой 12 максимум 14 разрядный АЦП на основе имеющегося 8ти разрядного АЦП и дето достать 8 розрядный ЦАП.

  8. #8
    JGr124_boRada Аватар для boRada
    Регистрация
    28.02.2002
    Адрес
    Южный Урал
    Возраст
    64
    Сообщений
    5,049

    Ответ: USB контроллер джоистика

    Цитата Сообщение от GO!
    Имхо, это как раз и значит, что независимого нажатия кнопок (больше двух, и то не во всех случаях), не получится без применения диодов!
    Однако, во многих клавах матрица пленочная и без диодов и распознают они гораздо большеее количество нажатых/отпущенных кнопок.. :confused: Im wondering какой алгоритм? :confused:
    Там матрица большая.. где-то есть у меня зарисовка

  9. #9
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    Ответ: USB контроллер джоистика

    Цитата Сообщение от LazyCamel
    Вдогонку. Кстати, рекомендую посмотреть в сторону
    AtMega48-20PI(ai) - у них розница должна быть меньше 100 рублей, а так это функционально и по-пиново полные аналоги Мега8
    Интересно, AtMega48-20PI прошьется без ошибок на программаторе, который его не знает (в частности PicProg - он знает только ATmega8)?
    Успехов!

  10. #10
    Конструктор Аватар для UIV
    Регистрация
    08.07.2003
    Адрес
    ВКБ
    Сообщений
    3,429

    Ответ: USB контроллер джоистика

    Ограничение по осям и кнопкам в ДиректХ - 8 осей, 128 кнопок. Если через WinAPI работать, то 6 осей.
    Можно оси на разные джои замапить, тогда ограничение по осям и кнопкам обойдешь.
    Но нафига 12 осей???
    Виртуальное Конструкторское Бюро
    http://www.vkb-pro.ru

  11. #11

    Ответ: USB контроллер джоистика

    Цитата Сообщение от UIV
    Ограничение по осям и кнопкам в ДиректХ - 8 осей, 128 кнопок. Если через WinAPI работать, то 6 осей.
    Можно оси на разные джои замапить, тогда ограничение по осям и кнопкам обойдешь.
    Но нафига 12 осей???
    Про ограничения пасиба.

    А зачем 12 , так это очень просто - для ИЛ2 поидее нужно 10 ну а 12 - так получается 8) можно конечно оставить только 10 , но както обидно чтоли , что максимум всего только 8

    буду смотреть . Но во всяком случае , почему если можно сделать больше - делать меньше ??? Ведб помоему чем больше осей , тем больше функций на них можно повесить.

  12. #12
    Пилот Аватар для schuss
    Регистрация
    28.03.2003
    Адрес
    Большая Деревня
    Возраст
    53
    Сообщений
    1,031

    Ответ: USB контроллер джоистика

    Цитата Сообщение от UIV
    Ограничение по осям и кнопкам в ДиректХ - 8 осей
    На устройство или вообще? Если вообще, то мне очень интересно, как в Ил-2 работают 10 осей. А они работают - проверено.

  13. #13

    Ответ: USB контроллер джоистика

    вот возник вопрос.

    где найти описания ко всем устройствам и параметрам состояния которых можно перидавать с помошью рапортов ХИД устройств.

    однако 8) зашел на сайт ХИД устройств , кажется чтото подобное нашел , но чот у меня не качается 8( "HID Usage Tables" это оно ????

  14. #14
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Ответ: USB контроллер джоистика

    BAG
    Сайт - это www.usb.org? Вроде там все качалось.
    Если хочешь, я тебе на мыло могу скинуть "Введение в разработку HID устройств" (360к) и "Описание USB шины" (450 к) - оба на русском, в pdf - только там не очень много информации.
    ...чего уж тигру лишняя полосочка... (© - не помню)

  15. #15

    Ответ: USB контроллер джоистика

    Rik если не влом выложи их на форум pls.)

  16. #16
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Ответ: USB контроллер джоистика

    Вот один, второй не влезает, млин. Завтра или раром запакую, или разрежу надвое.
    Вот, добавил.
    Вложения Вложения
    Крайний раз редактировалось USSR_Rik; 31.07.2004 в 20:04.
    ...чего уж тигру лишняя полосочка... (© - не помню)

  17. #17
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Ответ: USB контроллер джоистика

    Кстати, сегодня мне достался контроллер - спасибо Максу и Илье. Только и успел, что спаять, запрограммировать и проверить 2 оси и несколько кнопок - все ОК, только хатка вместо "вниз" отрабатывает "влево-вниз", наверное, где-то соплю припоя повесил. Завтра продолжу танцы.
    ...чего уж тигру лишняя полосочка... (© - не помню)

  18. #18

    Ответ: USB контроллер джоистика

    Рик спасибо.
    Да контролер работает , вот сейчас читаю ... прсвещаюсь по поводу улучшений.
    Вот надыбал такую штучку AT43USB351M , но таких в Киеве нету (( я смотрел - не нашёл.

    Если не тяжело , можешь мне отправить на емейл , так как я имею очень ограниченный доступ сюда на форум , и качать сейчас не могу .. а до среды ждать чтото не хочеться. Только тогда у меня будет возможность скачать (((

    мой емейл. buddy_bag@ipnet.kiev.ua

  19. #19
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Ответ: USB контроллер джоистика

    Смотри почту.
    ...чего уж тигру лишняя полосочка... (© - не помню)

  20. #20

    Ответ: USB контроллер джоистика

    Большое спасибо

  21. #21
    Инструктор
    Регистрация
    15.12.2000
    Адрес
    Togliatty
    Сообщений
    1,545

    Ответ: USB контроллер джоистика

    По поводу меги 48. На самом деле это обычная мега8 сделаная по новому тех.процессу(0.25 вместо 0.35), с отбракованной половиной памяти.
    Поэтому дешевле. Все программаторы что умеют програмить Мега8, апвтоматически умеют програмить и Мега88/48. Только для Мега48 надо самому следить за памятью, чтобы предел не привысить.
    http://efo.ru/components/atmel/tables/avr.htm

    Цены:
    http://efo.ru/doc/Atmel/Atmel.pl?530

    По поводу осей и кнопок.
    Имхо больше 6-8 осей в одном устройстве извращаться не сильно-то эффективно.
    Дешевле повесить еще одно устройство на УСБ.
    Второе - по кнопкам. Любой 8-10 битный АЦП легко превращается в 16 кнопок.
    Достаточно собрать последовательно цепь из резисторов каждый из которых вдвое больше предыдущего. А кнопки будут просто его шунтированть(закорачивать) вот тебе и минимум 8 независимых кнопок на 1-ой ноге джоя.

    Про направление развития/удешевления/унификации.
    Есть такой хороший АВР - Attiny26. Если у него перепрограмить ногу РВ1 как ИНТ0, то получается контроллер УСБ с 8 АЦП. А это 5 осей (тангаж,крен,раддер,2газа или шаг/газ)+2 хатки+16 кнопок. В 20-ногом корпусе. 8 байт дескриптор.
    Легко поместится в спичечном коробке :-)

    Про средства отладки для АВР - симулятор, с возможностью эмуляции внешних деталей (включая виртуальные осицилограф и генераторы сигналов) :
    http://www.amctools.com/
    если кто хочет ковыряться для себя для дома в АВР - маст хэв однозначно.
    Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!

  22. #22

    Ответ: USB контроллер джоистика

    вот блин фигня , !! я писал ответ примерно минут 15 и тут зараза експлорер закрылся !! вот гадёныш !!

    в кратце что я хотел сказать ..

    исспользовать вход АЦП для кнопок это всёравно что фотоаппаратом гвозди забивать !! просто бред так как с помошью 2х портов можно реализовать сдоровую матрицу кнопок.
    если например порт А - 4 бита порт В 6 бит

    не исспользуя внешних микросхем имеем матрицу 6*4= 24 кнопки (опрос строк последовательный, что даёт возможность ликвидировать неоднозначности при нажатии комбинаций кнопок)

    при исспользовании внешнего мультиплексора 1 на 8 .
    К входу подключаем "1" , к адресным входам 3 бита порта В . В такм случае получаем матрицу уже размеро 8*(3+4)=56 независимых кнопок

    Если в обеих случаях посмотреть время приобразования , то оно будет меньше чем время необходимое АЦП на оцифровку аналогового сигнала.

    вобщем забивать гвозди фотоаппаратом это маразм.

  23. #23

    Ответ: USB контроллер джоистика

    имею вопрос к создателю САБЖА.

    Скажи пожалуйста , сбор информации с датчиков (входов контролера) джоя идёт во время промежутков ожидания запроса от ЮСБ ХОСТа на поставку информации (для каждого пакета отдельно или нет) , или уже после полученя запроса контролер начинает этот сбор ??

    тоетсь к чему я это : будет ли кртично если время сбора информации возрастёт с максимума сейчас возможного и равного 1.5мс до максимально возможного промежутка например в 3 мс ??

    откуда эти цифры: взяты на сонове того что написано , что приобразовние АЦП максимум 250мкс .... хм ... но если посмотреть что получается.....


    У тебя 6 осей каждая из них обрабатывается в режиме единичного опроса входов , тоесть на такой опрос нужно 25 тактов АДС

    после подсчётов получилос что на опрос 6ти осей нужно 825мкс

    так вот всётаки этот опрос как я понял ведётся после того как был получен запрос на информацию , или всётаки в промежутках между опросами ???

    просто например в опосе есть такой фрагмент

    out ADMUX, temp0
    sbi ADCSRA, ADSC ; start conversion
    WaitForADC_10:
    sbic ADCSRA, ADSC
    rjmp WaitForADC_10

    in temp0,ADCL
    in temp1,ADCH

    так вот в промежутке
    WaitForADC_10:
    sbic ADCSRA, ADSC
    rjmp WaitForADC_10
    наблюдается явный простой , так как АЦП работает как независимое устроёство поралельно всем контролеру , так в эти промежутки времени можно внести например другую обработку чего либо , так как они состовляют примерно 135 микросекунд , а это 1680 тактов при частоте 12МГц .. впринципе достаточно сУрьёзный промежуток

    я вот просто собираюсь добавить осей и мне эта информация очень и очень нужна


    Я просто не смог точно покачто понять механизм общения по ЮСБ , из твоего кода.
    Крайний раз редактировалось BAG; 02.08.2004 в 13:42.

  24. #24
    Пилот-Конструктор Аватар для MeanDog
    Регистрация
    04.02.2004
    Адрес
    Lithuania
    Возраст
    50
    Сообщений
    122

    Ответ: USB контроллер джоистика

    Цитата Сообщение от BAG
    имею вопрос к создателю САБЖА.

    Скажи пожалуйста , сбор информации с датчиков (входов контролера) джоя идёт во время промежутков ожидания запроса от ЮСБ ХОСТа на поставку информации (для каждого пакета отдельно или нет) , или уже после полученя запроса контролер начинает этот сбор ??
    Сбор ведется в промежутках между запросами. Я кажется писал об этом. В цикле Main вызывается процедура ProcJoystickRequest, которая опрашивает входы. Она вызывается по установке флага JoystickDataRequestBit. Этот флаг устанавливается в процедуре ProcessEndpoint1 когда закончена пересылка ответа на USB запрос. Эта процедура вызывается из INT0handler по получении пакета данных для опроса Endpoint1 по USB.

  25. #25

    Ответ: USB контроллер джоистика

    Цитата Сообщение от MeanDog
    Сбор ведется в промежутках между запросами. Я кажется писал об этом. В цикле Main вызывается процедура ProcJoystickRequest, которая опрашивает входы. Она вызывается по установке флага JoystickDataRequestBit. Этот флаг устанавливается в процедуре ProcessEndpoint1 когда закончена пересылка ответа на USB запрос. Эта процедура вызывается из INT0handler по получении пакета данных для опроса Endpoint1 по USB.
    Спасибо. Ты мне очень помог.

    Такой еще вопрос.

    если создавать репорт дескриптор с помошью изнего тула , то он не пашет вообще 8)))

    а также было замечено что дравами поддерживаются только некоторые оси ... большинство осей не поддерживаетс (( с чем это может быть связанно ??? вот например с страницы Simulation Controls пашут только Газ и Рудер , а остальные просто не хотят восприниматься !!! или может я чтото не так делаю ??? Хотя очень всё это странно... я всё по спецификации делал.

    вот собственно при описании твоей структуры таким дескриптором
    пашут только оси Х У и Газ с Рудом ....

    пробовал вместо газа и руда подставлять другие с тойже страницы - ФОНАРЬ !!!! не работают ((( меня это сильно огорчает. В чём тут ошибка ??

    пытался обьединять проблемные оси в разнообразные колекции - не помогает - не пашут всёравно ((

    db 5h, 1h ; USAGE_PAGE (Generic Desktop)
    db 15h, 0h ; LOGICAL_MINIMUM (0)
    db 9h, 4h ; USAGE (Joystick)
    db a1h, 1h ; COLLECTION (Application)
    db 5h, 2h ; USAGE_PAGE (Simulation Controls)
    db 85h, 1h ; REPORT_ID (1)
    db 9h, bah ; USAGE (Rudder)
    db 9h, bbh ; USAGE (Throttle)
    db 9h, b1h ; USAGE (Aileron Trim)
    db 9h, b9h ; USAGE (Elevator Trim)
    db 15h, 81h ; LOGICAL_MINIMUM (-127)
    db 25h, 7fh ; LOGICAL_MAXIMUM (127)
    db 75h, 8h ; REPORT_SIZE (8)
    db 95h, 4h ; REPORT_COUNT (4)
    db 81h, 2h ; INPUT (Data,Var,Abs)
    db 5h, 1h ; USAGE_PAGE (Generic Desktop)
    db 9h, 1h ; USAGE (Pointer)
    db a1h, 0h ; COLLECTION (Physical)
    db 9h, 30h ; USAGE (X)
    db 9h, 31h ; USAGE (Y)
    db 16h, 0h, feh ; LOGICAL_MINIMUM (-512)
    db 26h, ffh, 1h ; LOGICAL_MAXIMUM (511)
    db 75h, ah ; REPORT_SIZE (10)
    db 95h, 2h ; REPORT_COUNT (2)
    db 81h, 2h ; INPUT (Data,Var,Abs)
    db c0h ; END_COLLECTION
    db 9h, 39h ; USAGE (Hat switch)
    db 35h, 0h ; PHYSICAL_MINIMUM (0)
    db 46h, 3bh, 1h ; PHYSICAL_MAXIMUM (315)
    db 15h, 0h ; LOGICAL_MINIMUM (0)
    db 25h, 7h ; LOGICAL_MAXIMUM (7)
    db 65h, 14h ; UNIT (Eng Rot:Angular Pos)
    db 75h, 4h ; REPORT_SIZE (4)
    db 95h, 1h ; REPORT_COUNT (1)
    db 81h, 2h ; INPUT (Data,Var,Abs)
    db 85h, 2h ; REPORT_ID (2)
    db 5h, 9h ; USAGE_PAGE (Button)
    db 19h, 1h ; USAGE_MINIMUM (Button 1)
    db 29h, 18h ; USAGE_MAXIMUM (Button 24)
    db 15h, 0h ; LOGICAL_MINIMUM (0)
    db 25h, 1h ; LOGICAL_MAXIMUM (1)
    db 75h, 1h ; REPORT_SIZE (1)
    db 95h, 18h ; REPORT_COUNT (24)
    db 55h, 0h ; UNIT_EXPONENT (0)
    db 65h, 0h ; UNIT (None)
    db 81h, 2h ; INPUT (Data,Var,Abs)
    db c0h ; END_COLLECTION


    Ах да , чуть не забыл.

    С окончанием коллекции тоже пришлось помучаться ... просто стандартный конец С0 приходиться заменять пустышками как и у тебя .... Это просто взято сразу из едитора....

Страница 5 из 105 ПерваяПервая 1234567891555 ... КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •