rst, здорово, интересные разработки. А самого железа не сохранилось? Хотя бы на фотки взглянуть...
Вид для печати
rst, здорово, интересные разработки. А самого железа не сохранилось? Хотя бы на фотки взглянуть...
А действительно, было-бы интересно узнать, как "крыса" (или "колобок") от ЕС-1840 подключалась к Вектору, она ведь вроде к СОМ-порту подключалась.
- - - Добавлено - - -
"Крутилка" - натуральная механика мыши, значит и данные от неё идут цифровые (скорее всего) в формате мыши, с учётом, что там только одна "ось" - 1 байт данных.
Может у меня была не именно ЕС-1840, а от какой-то другой ЕС. Но в моей никаких COM-портов не было. А были два квадратурных сигнала.
Т.е. очень просто и кондово: оптопары -> формирователи импульсов (вроде на инверторах или повторителях из K561 - не суть) -> шнур в ПК.
PS: Вот нашёл в сети - как самая первая мыша по этой ссылке: https://red-innovations.su/index/photos_c/mice.html
И такого же цвета с коричневыми кнопками. Там написано "ЕС-1842". Возможно именно от ЕС-1842 и у меня была.
Диоды внутри есть, если ток ограничить и убедиться, что питание всегда подано на пипико -- чтобы не получилось фантомного питания 5-ю вольтами -- то может быть оно и нормально.
Вот тут длинная дискуссия. Много пылких теоретиков, кого-то вынесли на вилах как обычно, но есть и практики и даже кто-то вообще утверждает что чуть ли не прямо 5В втыкает и все-то у него хорошо. Я бы не верил так прямо, конечно, не имея запасного пипико в ящике. https://forums.raspberrypi.com/viewtopic.php?t=349017
- - - Добавлено - - -
P.S. Я сейчас USB-клавиатуру подключаю через TinyUSB к Пипико, а Пипико к fpga одним проводом по UART-у. Но это конечно совсем другая ситуация.
Вместо SIDа втыкают, есть пара видео с примерами работы.
Если нужно втыкать именно без левел шифтеров, тогда извините.
Принесли мне глючную мышь глянуть. В первый раз такое увидел.
На верху, по центру, есть кнопка для переключения dpi. Прямо на ходу жамкая пимпочку, можно менять dpi-скорость-чувствительность мыши 800/1200/1600/2400.
С такой мышой и настройки скорости в контроллере не нужны. Можно на ходу переключить на "удобный" dpi.
Я бы уточнил, "у половины игровых мышей", или небюджетных -- обычные, как правило, их не имеют. Да и наличие такой кнопки ещё не значит, что она будет не программная, часто переключение dpi выполнено через драйвер, что делает её бесполезной в любой системе, отличной от винды.
Играми никогда не увлекался и, соответственно - игровыми мышами никогда не интересовался. Но все мои мыши, как дома (3 шт.) так и на работе (2 шт.) - с такими кнопками. Даже самая старая, купленная ещё где-то в начале 2010-хх (та аж с двумя = + и -).
Последннюю свою мышь покупал в обычном супермаркете, где она валялась рядом с полками с мясом и молоком. Вроде за что-то около ~7 евро. Если это не обычная офисная мышь, то тогда я наверное ничего в них не понимаю. ;)
Насчёт "бюджетности" - одну из мышек покупал в FixPrice за что-то вроде 2 или 3 евро. На сдачу. Если это не бюджетная мышь, то что тогда - бюджетная?
Почему это? Что мешает любой системе переключить разрешение по её нажатию?
PS: Насчёт: был неправ. Сейчас вспоминал-вспоминал и.... не смог вспомнить ни одной такой мыши. Без кнопки переключения DPI. Вроде и не видел таких вообще в последние годы.
- - - Добавлено - - -
В нашем офисе вроде у всех мышки с такими кнопками.
Отсутствие определённого стандарта на эти функции и родных драйверов, соответсвенно.
Из хороших могу назвать Logitech (M100, M110, B100...), A4Tech (OP-330, OP-720, N-530...), брендовые DELL и множество подобных не имеют кнопок dpi -- не китайский ширпотреб.
А у нас на три сотни рабочих мест ни одной такой нет -- всё зависит от закупщика. :)
А так, вообще да -- глянул на сайте одного магазина компьютерной техники, там из 1285 представленных моделей мышек 797 имеют кнопки dpi/cpi, т.е. больше половины.
Вот проект -- DVI выход для Apple 2 (с шифтерами)
https://github.com/rallepalaveev/A2DVI/tree/main/v2.0
Я люблю так смотреть
https://kicanvas.org/?github=https:/...tree/main/v2.0
Adrian's Digital Basement про нее https://www.youtube.com/watch?v=rrM6bPCk8DM
В комментариях к видео прояснили ситуацию, что в августе обновили даташиты и убрали 5В толерантность.
В даташите на RP2350 пока держится про 5.5В на FT-пинах, но не всегда. Лучше шифтеры.
Там и про это писали, собственно два комментария:
owenvogelgesang7314
The newer RP2350 is officially 5V tolerant, I believe, but yeah the RP2040 is not.
coreykirkpatrick4392
Actually the 5v tolerance was removed as of Aug data sheet update.... there is now a caveat that 5v is only tolerant if the IOVDD is powered by 3V3, thus you still need level shifters.
Попытался посмотреть, как реализован usb-хост в TinyUSB для rp2040...
Вообще ни чего не понял... :( файлов куча, привычных для меня "проектов" не увидел. Даже не понял для какой среды разработки всё это накручено.
Единственное, что увидел, это то, что реализован он "аппаратно" с использованием max3421, и видимо программно, но с подключением мыши к usb-разъёму или выводам портов, тоже не понял. Эта "кроссплатформенность" напоминает свалку всего в одну кучу... :(
Читал про rp2040, что для него "микропитон" заточили, думал и в TinyUSB будет, что-то подобное, а там код на Си... В общем - тёмный лес... :(
TinyUSB надо проинициализировать и дать ей колбеки, в принципе и все. Дальше остается только реагировать на колбеки. В стандартных примерах есть один простой, который умеет слушать мышь, клавиатуру и масс стораж и печатает информацию в консоль. Еще есть реализация хоста через родной USB разъем на пипико, есть на пинах через PIO. При чем тут max3421 я, честно говоря, не понял. На схеме Пико такого чипа нет.
Проекты для rp2040 обычно не для IDE, а для SDK -- то есть компилятор + библиотеки + все, что нужно, чтобы это запускалось. Конфигурация проекта задается в файле CMakeLists.txt.
Наверное хорошая отправная точка про то, как начать, здесь: https://www.raspberrypi.com/document...ers/c_sdk.html
По крайней мере год назад из под обычной винды настраивать SDK было можно, но как-то очень занудно. Я ни разу этого не делал. Сам пользуюсь виндой с WSL2, и там все просто.
В файлах настройки, если выбран вариант с max3421, то идёт инит spi. Т.е. к Пико по spi подключается плата с max3421.
Ясно.Цитата:
Проекты для rp2040 обычно не для IDE, а для SDK -- то есть компилятор + библиотеки + все, что нужно, чтобы это запускалось. Конфигурация проекта задается в файле CMakeLists.txt.
Наверное хорошая отправная точка про то, как начать, здесь: https://www.raspberrypi.com/document...ers/c_sdk.html
По крайней мере год назад из под обычной винды настраивать SDK было можно, но как-то очень занудно. Я ни разу этого не делал. Сам пользуюсь виндой с WSL2, и там все просто.
Кстати в среде Ардуино, уже добавлена библиотека TinyUSB, и плата rp2040. Пытался там посмотреть, но это ещё хуже, в среде Ардуино вообще всё спрятано, а в примерах нашел только что-то типа hid-info типа просмотра дескриптора подключенного устройства.
Я вижу MAX3421 в списке драйверов TinyUSB. Наверное библиотека позволяет подключить к Пико MAX3421 по SPI, но мне ничего про это неизвестно. Пико имеет два драйвера: rp2040 и pio_usb. У меня клавиатура воткнута в USB-разъем на плате RP2040-Zero через USBOTG адаптер.
В самой среде Ардуино легко полистать примеры, познакомиться с тем, что дают. А потом уже можно настроить проект в platfromio, можно в VSCode. Там лучше понятно куда что ложится: или в сам проект, или если это фреймворк в %USERPROFILE%/.platformio. И доступна более гибкая настройка всех параметров проекта.
Установил VSCode, пример usb-хоста для rp2040 запустился с настройками "по умолчанию", мышь на usb-разъёме сразу определилась и данные с "колеса прокрутки" поступают.
Правда переключить на работу с max3421 с ходу не получилось, при компиляции VSCode сообщает, что нет файлов "spi.h", собственно пока и фиг с ним.
Модуль rp2040 в 2 раза дешевле отдельной платки с чипом max3421.