User Tag List

Страница 2 из 11 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 107

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

  1. #11

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Ты твердо определился с выбором контроллера? Популярный молодежный тренд сейчас ch32x035.
    Пока да. Буду пробовать на stm32.
    Если молодёжь будет использовать ch32x035, буду только рад.

  2. #12

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Если молодёжь будет использовать ch32x035, буду только рад.
    CityAceE учит программировать RISC-V, bitluni запилил самодельный ассемблер для ch32x035. Жизнь проносится мимо.
    Больше игр нет

  3. #13

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подключил USB-мышь к "ПУ" Вектора.
    Подробности в первом сообщении темы.
    Последний раз редактировалось KTSerg; 05.08.2024 в 20:00.

  4. #14

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подключил USB-мышь через "ВУ" Вектора.
    Подробности в первом сообщении темы.

  5. #15

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    (Затаив дыхание жду, что же будет, когда в третий раз закинет старик невод).
    Больше игр нет

  6. #16

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    (Затаив дыхание жду, что же будет, когда в третий раз закинет старик невод).
    Кроме мыши, я ни чего не планировал подключать.
    Хотя судя по описанию:
    USB Host Shield 2.0 построен на микросхеме MAX3421E, которая может выступать в роли хоста USB-соединения. Общение её с основным микроконтроллером происходит по интерфейсу SPI (на скорости до 26 Мбит/с). В режиме хоста микросхема поддерживает USB 2.0 Full и Low Speed (12 Мбит/с и 1.5 Мбит/с).

    Библиотека поддерживает следующие внешние устройства:

    устройства Android (в режиме «периферии», ADK)
    HID-совместимые устройства, такие как клавиатура, мышь и т.д.
    CDC-устройства – эмуляторы COM-портов
    Геймпады от PS3, PS4, Nintendo Wii, Xbox One и Xbox 360
    Цифровые зеркальные камеры, такие как Canon, Nikon, Powershot и т.д.
    Устройства Mass Storage хранения данных, такими как USB-накопители, устройства чтения карт памяти, внешние жесткие диски
    Некоторые адаптеры Bluetooth
    Другие устройства последовательной связи USB, такие как GPS, FTDI и т. д
    Можно даже флешку подцепить, и вроде как уже даже готовая библиотека имеется.

    Как я уже писал, реальных Векторов мало, и я не уверен, что кто-то повторит в железе мой "контроллер usb-мыши для ПУ" и его "адаптер для ВУ".
    Но я предложил работающий вариант для реализации "адаптера" в эмуляторах.
    Если эмулятор предоставит данные о положении мыши через порт "D4", то даже программы на Бейсике смогут этим пользоваться
    Какое раздолье для фантазии, при реализации пользовательского интерфейса в потенциальных (программах) игрушках
    Только над идентификатором подключения контроллера, нужно подумать.
    Последний раз редактировалось KTSerg; 06.08.2024 в 03:57.

    Эти 3 пользователя(ей) поблагодарили KTSerg за это полезное сообщение:

    Improver(06.08.2024), Pyk(06.08.2024), svofski(06.08.2024)

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

  8. #17

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я подключаю к FPGA, но проблема та же. Текущий план использовать для этого Pi Pico (в моем случае rp2040-zero, но разницы нет). Пока только смотрел примеры от TinyUSB. Тоже обратил внимание на то, что бесплатно можно подключить mass storage на тот же usb порт. Пока не придумал зачем, но прикольно, когда можно.

    Геймпад 8bitdo SN30Pro зацепился, но требует чего-то еще, пока не разобрался. Клавиатура одна завелась, вторая нет.

    Еще есть адаптеры из USB в последовательный порт на CH9350DS. Они удобные, потому что вообще ничего делать не надо. Просто выдают HID пакеты на последовательный порт. Но там если что-то не поддержалось, то уж точно никаких шансов исправить положение нет. Поэтому я пока решил что на Пипико более перспективно.
    Больше игр нет

  9. #18

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ... Текущий план использовать для этого Pi Pico (в моем случае rp2040-zero, но разницы нет). ...
    rp2040-zero - выглядит интересно, правда как по мне, выводов GPIO маловато... "не развернёшься"

    Сначала не обратил внимания, почему ни в одном из примеров "USB-мыши" не юзают колесо прокрутки, только 3 кнопки и X/Y, хотя по протоколу от мыши приходит пакет из 8 байт.
    Начал кидать все 8 байт на экран... а колесо не активно!!!
    Получается так-же как и у ps/2 мыши его включать нужно... а это не гуглится.
    Если сильно "зачешется" разобраться, нужно будет запускать на компе прогу с логгером USB-порта, подключать мышь и смотреть обмен, может команда включения колеса найдётся...

  10. #19

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Протокол при инициализации выбирается Boot. На Report он переключается так из колбаска tuh_hid_mount_cb():
    Код:
    tuh_hid_set_protocol(dev_addr, instance, HID_PROTOCOL_REPORT)
    Репорты тогда будут приходить в таком формате. Поскольку hid_mouse_report_t TinyUSB как-то сразу узурпировало под BOOT, пришлось назвать его hid_wheelmouse_report_t:
    Код:
    typedef struct TU_ATTR_PACKED
    {
        uint8_t report_id;   // mouse=1 
        uint8_t buttons;
        int8_t x;
        int8_t y;
        int8_t wheel;
    } hid_wheelmouse_report_t;
    Соответственно надо подменить этот тип в колбасках, которые обрабатывают мышиные репорты и будет хорошо. У меня колесо ожило.

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

    P.S. попробовал другую мышь и она шлет колесо в BOOT протоколе. А первая вот не слала.
    Больше игр нет

  11. #20

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Нагуглилось на самом деле. Я правда не нашел твоих исходников для stm32, поэтому не уверен, что это подойдет. Но если ты используешь ту же самую библиотеку TinyUSB, то подойдет.
    ...
    P.S. попробовал другую мышь и она шлет колесо в BOOT протоколе. А первая вот не слала.
    Внимательнее глянул дескрипторы мыши, в них нет протоколов "приёма" данных, только "отправка".
    Значит у USB-мышей не предусмотрены настройки по стандартному протоколу (каналу).

    Да, надо будет смотреть обработку прерываний.

    Исходник в котором я ковырялся, и из которого переделывал в "контроллер мыши", написан для "pic18f26k20" https://github.com/felis/lightweight-usb-host.
    В нём предусмотрен интерфейс пользователя по UART, несколько вложенных меню, для изучения МАХ3421 и состояния подключения.
    В итоге (когда немного разобрался) достаточно было переопределить pin-ы с pic-а на мой stm32, подшаманить SPI и USART, и проект завёлся. Дальше только косметические изменения под протокол "ПУ".

    P.S. попробовал другую мышь и она шлет колесо в BOOT протоколе. А первая вот не слала.
    Мне тоже нужно попробовать другие мыши.
    МАХ не выставляет флаг запроса прерывания при вращении колеса. Запрос прерывания выставляется только при перемещении мыши и нажатии/отпускании кнопок. При этом МАХ сообщает, что из буфера нужно забрать ТРИ байта, хотя по дескриптору мыши, в протоколе 4 байта.
    Последний раз редактировалось KTSerg; 07.08.2024 в 07:29.

Страница 2 из 11 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 574
    Последнее: 23.08.2024, 09:14
  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

Ваши права

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