Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Вектор-06Ц. подключение USB-мыши.

  1. #1
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Вектор-06Ц. подключение USB-мыши.

    Я всё думаю, как мышь прицепить...
    PS/2 - просто, но получение данных занимает очень много времени, и реализация на эмуляторах не очевидна, в виду малого количества реалов и большей доступности эмулятора - такой вариант подключения не очень практичен.
    Нашел USB-хост на stm32f103, в продаже есть готовые платы, не очень дорогие. Да USB-хост есть на stm32f4 - но глянул цены на платы... я чего-то не понял...
    Возвращаемся к stm32f103, по цене доступна (да и просто у меня без дела лежит, глаза мозолит), хотелось-бы подключить её к "ПУ", для простоты получения данных - на все 3 порта, типа "А" - X, "B" - Y, "C" - разделить пополам, 4 бита на вход под кнопки, 4 бита на выход для управления.
    Для начала вполне достаточно даже без получения данных с колеса прокрутки.
    В таком варианте в программах опрос мыши - проще не придумать, вот про реализацию в эмуляторах - ни чего сказать не смогу.
    Думал про опрос мыши через порт "ПУ", и вспомнил, что слышал про отражение портов на память...
    Если данные мыши будут отображаться в ячейках памяти, то "опрос мыши" будет ещё проще и быстрее, ведь "MVI" быстрее чтения порта, и "принять" данные можно сразу в "нужный" регистр, для хранения/использования.
    А поскольку в Векторе это мне кажется вполне реализуемо, то идея показалась очень интересной.
    Есть у неё некоторая проблема, если пробовать отобразить в адреса экранного ОЗУ, возможен конфликт с КД это если применять такой метод в ДОСах, они ведь (на сколько я помню) хранят исполняемый код на КД, подменяя экран.
    Досадно, только что такой контроллер (отражения портов на ОЗУ) на рассыпухе собирать замаисся, тут уже ПЛИС нужна.
    С другой стороны, есть ведь проект "Комбо" и аналогичные, возможно в них найдётся местечко для контроллера "ПДП"
    Ну, не всё сразу, сначала нужно собрать простой контроллер USB-мыши, и подключить его к "ПУ". А потом можно будет начать экспериментировать с "ПДП" и перебросить мышь на "ВУ", там выделить для неё пару адресов, думаю этого (ПДП) будет вполне достаточно.
    Последний раз редактировалось KTSerg; 26.03.2024 в 05:47.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, думаю, лучше начать с простого, а если тема пойдёт, то и ПДП можно, и колесо добавить... Хотя, отражение портов на память -- не Векторовский метод.

  4. #3
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Да, думаю, лучше начать с простого, а если тема пойдёт, то и ПДП можно, и колесо добавить... Хотя, отражение портов на память -- не Векторовский метод.
    Колесо добавить, даже на "ПУ" - не проблема, 4 бита управления, один можно использовать для замены данных "Y" на данные о состоянии колеса.
    Мысль о ПДП прицепилась случайно, при обдумывании возможности переноса контроллера с "ПУ" на "ВУ", и упрощении опроса мыши.

  5. #4
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Колесо добавить, даже на "ПУ" - не проблема
    Да, не проблема, но не в этом дело... Если мышь будет подключена, "пойдёт в народ", появится под неё хотя бы с десяток программ (новых и/или адаптированных старых), то потом можно и усложнять -- добавлять колёса, настройки... На первых порах пусть будет хотя бы просто координаты и две кнопки, а так тут уже не раз обсуждалось подключение мыши, только пока результата нет.

  6. #5
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    ... На первых порах пусть будет хотя бы просто координаты и две кнопки,...
    Я пока думал для начала действительно сделать чтение с контроллера текущих координат. Но потом задумался, как адаптировать Арканоид?
    Если мышь достигла крайней координаты, а каретка ещё нет (она ведь сдвигается направлением/смещением), то её не возможно будет сдвинуть дальше. Нужно будет полностью переделывать управление кареткой, привязывать его не к "нажатию клавиш курсора" а к координатам положения мышки. Над этим нужно будет думать отдельно, адаптация будет сложнее, чем в случае чтения с контроллера смещений мыши.

  7. #6
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,115
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    655
    Поблагодарили
    402 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ломать копья я не стану, но на всякий случай напомню с нехарактерной для меня категоричностью, что передавать от мыши абсолютные координаты -- гнилая идея.

    Если реализовывать мышь на микроконтроллере, что по-моему правильно, нельзя ли сделать в нем внутреннюю очередь? Пусть копит буфер, а программа на Векторе будет читать данные, пока они есть. В контроллере можно сделать промежуточное накопление, чтобы без потерь отдавать в Вектор накопленные данные меньшим количеством пакетов. То есть например, если пришло 1, 1, 3, а Вектор в это время делал что-то еще, когда он спросит можно отдать сразу 5. Если накопилось больше 127, отдавать по частям.
    Больше игр нет

  8. Этот пользователь поблагодарил svofski за это полезное сообщение:

    ivagor (26.03.2024)

  9. #7
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    адаптация будет сложнее, чем в случае чтения с контроллера смещений мыши.
    В любом случае, на Векторе нет программ, в которых внедрение мышки было бы простым, все в той или иной степени адаптированы к кнопкам. Но если преодолеть эти сложности, то мышка тогда не превратиться в унылый эмулятор джойстика/клавиатуры.

  10. #8
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    ...
    Если реализовывать мышь на микроконтроллере, что по-моему правильно, нельзя ли сделать в нем внутреннюю очередь? Пусть копит буфер, а программа на Векторе будет читать данные, пока они есть. В контроллере можно сделать промежуточное накопление, чтобы без потерь отдавать в Вектор накопленные данные меньшим количеством пакетов. То есть например, если пришло 1, 1, 3, а Вектор в это время делал что-то еще, когда он спросит можно отдать сразу 5. Если накопилось больше 127, отдавать по частям.
    Я размышлял аналогично.
    Пусть контроллер суммирует все перемещения между запросами, и выдаёт уже итоговое значение перемещения.
    Думаю, что если перемещение было больше чем 127 (половина экрана), этого вполне достаточно. Но отдать 127 из большего перемещения, тоже не проблема.

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

    - - - Добавлено - - -

    Цитата Сообщение от Improver Посмотреть сообщение
    В любом случае, на Векторе нет программ, в которых внедрение мышки было бы простым, все в той или иной степени адаптированы к кнопкам. Но если преодолеть эти сложности, то мышка тогда не превратиться в унылый эмулятор джойстика/клавиатуры.
    Воткнуть в контроллер оба режима смещение/координаты, не проблема. Подозреваю, что свои "плюсы" можно найти в обоих режимах (если поискать).
    Главное, что-бы в контроллере вообще режим usb-хост заработал.

  11. #9
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, интересная идея: а что если для мышки использовать магнитофонный вход? При работе Вектора он практически всегда свободен, поддерживает горячее подключение/отключение, есть подпрограммы по чтению байтов с него, скорости должно хватить... Да, туда идёт и музыка с ВИ, но писать на мышку надо гораздо меньше, чем читать.

  12. #10
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,115
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    655
    Поблагодарили
    402 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Для начала нужно со средой разработки для stm32 разобраться, установлена древняя версия, а свежую скачать не могу, хоть она и бесплатная.
    Ты твердо определился с выбором контроллера? Популярный молодежный тренд сейчас ch32x035.
    Больше игр нет

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 551
    Последнее: 11.03.2023, 01:15
  2. Ответов: 82
    Последнее: 04.07.2022, 12:10
  3. Ответов: 1
    Последнее: 27.04.2022, 11:52
  4. Ответов: 15
    Последнее: 20.01.2022, 17:03
  5. Ответов: 4
    Последнее: 23.06.2016, 00:02

Ваши права

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