PS/2 to COM converter (Сочинил вот на днях очередную поделку.)

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 05.07.2015,09:49

Устройство принципиально рабочее. Есть небольшая вероятность, что не заработает заработала на Win 3.11 и мизерная, что на Win95.
Сейчас работаю над отзывчивостью и масштабированием. Также, ещё не реализована возможность прошивки через COM порт.
Схема:
Изображение
Фьюзы (которые не попали в окошко, они все не установлены)
Изображение
Прошивка
Шил таким программатором. Программой khazama.
Электронка: Изображение копия Изображение

Гость

Сообщение Гость » 05.07.2015,17:02

Уже лучше. Схемка логичнее, реализация в железе - не очень.
Преобразователь хотелось-бы "двусторонний", чтоб и старую мышу в новый комп, и новую в старый, одним конструктивом.
Есть на рынке корпусированные переходники DB9F-DB9M, внутри такого и собрать схемку, сбоку вкрутив miniDIN6.
С питанием от самих разъёмов: от любого из DB9 и от miniDIN6.

Прошивочные разъёмы наружу не выводятся вообще.

Как вариант - два "направленных" переходника, один COM->PS2, другой PS2->COM, оба в корпусе от обычного, одиночного DB9 разъёма. Разводка получается плотная, но места хватает для обоих типов разъёмов (проверял на массогабаритном макете). Питание только с соответственно COM (для сом->ps2) и с PS2 входа.

UPD. А разъём "MSWHEEL" это включалка поддержки "колеса"? Мож, его включить на постоянку, а выбор делать программно, нет колеса на мыши - нет и обращения к процедуре его конвертации внутри переходника, отключаем на время сеанса работы эту процедуру. Покрутили колесо - "проснулась" атмега, включила "конвертер колеса".

Ekb
Advanced Member
Сообщения: 2708
Зарегистрирован: 15.06.2014,11:31
Поблагодарили: 6 раз

Вклад в сообщество

Сообщение Ekb » 05.07.2015,17:15

Fe-Restorator писал(а): один COM->PS2, другой PS2->COM,
зачем?
шариковая мышь в Пень 4 или Core I7 ? :(

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 05.07.2015,17:27

Ekb писал(а):зачем?шариковая мышь в Пень 4 или Core I7 ?
:thumbup: :biggrin:
Fe-Restorator писал(а):UPD. А разъём "MSWHEEL" это включалка поддержки "колеса"? Мож, его включить на постоянку, а выбор делать программно, нет колеса на мыши - нет и обращения к процедуре его конвертации внутри переходника, отключаем на время сеанса работы эту процедуру. Покрутили колесо - "проснулась" атмега, включила "конвертер колеса".
Не бывает такого. Либо используется протокол с колесиком, и его состояние передаётся всегда. Либо без. Соответственно передаётся пакет из четырёх либо трёх байтов (символов). И частота опроса получается 30 либо 40 раз в секунду. Т.е. когда включено колесо, теряем в отзывчивости мыши.
Именно поэтому и есть перемычка. И, если колесико не нужно, его лучше отключать.
Электронка: Изображение копия Изображение

Аватара пользователя
EJSanYo
Advanced Member
Сообщения: 423
Зарегистрирован: 27.12.2007,23:55

Вклад в сообщество

Сообщение EJSanYo » 05.07.2015,23:28

Rio444 предпочитаете одностороннюю печать? :biggrin: Кстати, а что у нас теперь делает S1?
Хорошо иметь DOOM-ик в деревне!

Аватара пользователя
EJSanYo
Advanced Member
Сообщения: 423
Зарегистрирован: 27.12.2007,23:55

Вклад в сообщество

Сообщение EJSanYo » 05.07.2015,23:38

Ekb писал(а):зачем?
шариковая мышь в Пень 4 или Core I7 ?
Технически вполне возможно. Даже можно сделать COM->USB, причём это гораздо проще в наше время, чем наоборот! Практически любой контроллер с набортным USB или даже без него. А на первый вопрос даже я, похоже, не могу дать вразумительный ответ. :rolleyes:
Хорошо иметь DOOM-ик в деревне!

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 06.07.2015,08:18

EJSanYo писал(а):Rio444 предпочитаете одностороннюю печать?
Предпочитаю ту, которую можно сделать в домашних условиях :biggrin:
Халявного/дешёвого промышленного производства печатных плат у меня нет. Если у Вас есть такая возможность, или подскажете, где можно заказать, буду благодарен. Опять-таки, перед заказом партии, нужен работающий опытный экземпляр. Макетки не люблю.
EJSanYo писал(а):Кстати, а что у нас теперь делает S1?
Пока ничего. Но будет делать всё то же, что и у Вас :) .
Пока основной вопрос - повышение отзывчивости и правильное масштабирование.
Когда это получится сделать - прикручу настройку масштабирования на S1.

Кстати, Вы не пробовали масштабировать, т.е. менять чувствительность мыши, средствами самой мыши PS/2? В документах упоминается команда 0xE8 (Set Resolution) - "установить разрешение". Мышь эту команду "проглатывает", но ничего не меняется :frown: Какое бы разрешение ей не отправлял.
Электронка: Изображение копия Изображение

Гость

Сообщение Гость » 06.07.2015,10:16

Ekb писал(а):шариковая мышь в Пень 4 или Core I7 ? :(
В CoreDuo и в Atom. Пробовал 10 современных диодных и лазерных мышей (вперемешку), все они глючат на неровной тканевой поверхности переменного профиля. Курсор дрыгается, тормозит, прыгает, мгновенно исчезает далеко за экраном (гиперпыжок?!) и всё это в произвольном порядке да с завидным постоянством! Старая шариковая mitsumi mouse, та, что только с 2-мя широкими "лапами", отлично ездит по такой поверхности, не проскальзывает и не косячит с курсором.
Да, её чувствительность ниже оптической, да обе (и шариковая, и оптическая) мыши норовят скатиться с наклонной поверхности, удерживать их надо, но точность позиционирования у шариковой выше!!!

Да митсумина мыша мне нравится, ею и за обычным ровным столом работал-бы, буде она подключаема к КВМ-у...
Rio444 писал(а):Соответственно передаётся пакет из четырёх либо трёх байтов (символов)
Вот определить размер пакета и оттого включать/выключать "колесо", разве не получится? До конца текущей сессии (по отрубу питания или по простою в NN минут).

Гость

Сообщение Гость » 06.07.2015,10:24

Rio444 писал(а):Пока ничего. Но будет делать всё то же, что и у Вас
Может, вообще его выкинуть? Чувствительность регулировать дополнительной кнопой на мыши (5-я, 6-я, сколько их там есть...) или по комбинации: ЛК+ПК+вертим колесо, типа "вперёд/назад == выше/ниже".
Rio444 писал(а):Мышь эту команду "проглатывает", но ничего не меняется :frown: Какое бы разрешение ей не отправлял.
А разве ВСЕ мыши поддерживают эту команду? Двустандартные - могут, им под ps2/usb подстраиваться, "мегаигровые пуперлазерные" - тоже, им конструктивно заложено несколько "разрешений". А остальные, кому жёстко задано 5х5 и выше они не прыгнут?

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 06.07.2015,11:57

Fe-Restorator писал(а):А разве ВСЕ мыши поддерживают эту команду? Двустандартные - могут, им под ps2/usb подстраиваться, "мегаигровые пуперлазерные" - тоже, им конструктивно заложено несколько "разрешений". А остальные, кому жёстко задано 5х5 и выше они не прыгнут?
Может и так. Но нигде в документации не указано, что это удел избранных мышей. И они (обычные мыши), принимают эту команду. Ошибку не выдают.
Fe-Restorator писал(а):Может, вообще его выкинуть? Чувствительность регулировать дополнительной кнопой на мыши (5-я, 6-я, сколько их там есть...) или по комбинации: ЛК+ПК+вертим колесо, типа "вперёд/назад == выше/ниже".
Собственно, примерно так и предполагается. Кнопкой S1 переводим мышь в режим настройки чувствительности. Настраиваем левой и правой кнопкой мыши. Что касается комбинаций, мало ли что там программеры напридумывали? Может дать непредсказуемый эффект в программе, выполняемой на компе. 5-я и 6-я кнопка есть не у всех мышей. Как, впрочем, и колёсико.
Fe-Restorator писал(а):Вот определить размер пакета и оттого включать/выключать "колесо", разве не получится? До конца текущей сессии (по отрубу питания или по простою в NN минут).
Идея интересная. Но, ещё раз подчеркну, наличие/отсутствие колёсика COM мышь сообщает драйверу во время инициализации. Позже, "на лету", это изменить уже нельзя. Разве что, если драйвер мыши перезагрузить. То есть, колёсиком надо вертеть до того, как загрузится драйвер COM мыши. Если забыли, то перезагружать компьютер, или драйвер. Насколько это удобно?
По мне, так если комп уровня 386-го, либо используется в основном для игр, то колёсико нафиг. Если для работы с документами и интернета, то очень даже.



Электронка: Изображение копия Изображение

Гость

Сообщение Гость » 06.07.2015,12:29

Rio444 писал(а):То есть, колёсиком надо вертеть до того, как загрузится драйвер COM мыши
Эт чо, на всех мышах испокон веков надо было так делать?!?!?! :eek: :tongue: А я-то перекидывал рубильник и шёл чай пить покуда комп грузиться изволил... :thumbup: :) И ни разу не было "отвалившихся колёс", равно как и "внезапно появившегося пятого колеса"... :cool:
Драйвер - курит за углом, ибо первый на очереди - твой переходник, он и "отследит колесо" при старте компа.
Rio444 писал(а):Кнопкой S1 переводим мышь в режим настройки чувствительности
Кнопка там лишняя, вообще. Как класс. Единственно-оправданной она может стать только в режиме hard-reset всего переходника. И то - сомнительное удовольствие ползти под пыльный стол навстречу железной заднице. Не говорю уж про стоечные дебри с лабиринтом.
Режим настроек переходника (и чуйка, и перекид кнопок под левую руку, и колёса, и виброотклик грызуна, и ещё ф.з. что) должен включаться непосредственно с самой мыши. Либо нажатием спец-кнопок, на "геймерных" грызунах отдельная кнопа регулировки чуйки уже имеется, либо нажатием хитрой комбинации клавиш, например четверной клик одновременно обеими кнопами мыши, на четвёртом клике кнопы зажать и крутить колесо.

А нет колеса на мыши - так можно тягать саму мышь вправо-влево, что будет значить грубее/чувствительнее. Форточка одновременный клик обеими кнопами не воспринимает, глючит. Зато переходник распознает комбинацию с лёгкостью.

Ответить