Тачпад от ноутбука

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Решил подключить к Ардуино сабж.

Заказал вот такой: https://aliexpress.ru/item/33030152663.html

Дождался. Получил. Но что-то не могу заставить его работать.

Всего на шлейф выходит шесть контактов. Определил, где земля, где питание, подключил к логическому анализатору: по двум из четырех оставшихся идет сигнал, очень напоминающий data и clock. Два другие молчат. Но самое неприятное, что сигнал никак не зависит от того, касаюсь я тачпада или нет.

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

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

Вопрос: это похоже на реальную поверхность тачпада или я чего-то не понимаю?

sadman41
Offline
Зарегистрирован: 19.10.2016

Из отзывов: Тачпад прибыл мертвым. Использованный товар, не новый. Aliexpress дал мне возмещение.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Читал я этот отзыв. Правда, уже после того, как получил заказ. Ибо в самом этом отзыве поставлена оценка 5 звезд. И, как следствие, средняя оценка тоже 5 звезд.

Кстати, продавец уже согласился перепослать товар (после того, как я привел ему скрин логического анализатора). 

Но все равно интересно: такая поверхность тачпада - это норма?

Потому как она была заклеена бумагой (см. фото на странице товара), и определить, что под бумагой, не отрывая ее, все равно невозможно.

Ну не занимаюсь я ремонтом ноутов, поэтому как должны выглядеть правильные детали, не знаю.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Получил от продавца второй точно такой же. 

И ведет себя точно так же: сам по себе время от времени (порядка раза в секунду) посылает сигнал, показанный выше. При подключении библиотеки PS2-Mouse http://github.com/kristopher/PS2-Mouse-Arduino/ возвращает 3 байта: 8, 0 и 0. Обычная PS/2 мышь с этой библиотекой работает нормально, т.е. посылает статус кнопок и два приращения координат.

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

Кто может еще что посоветовать для проверки тачпада?

sadman41
Offline
Зарегистрирован: 19.10.2016

Если он стандартно-пополамный, то может его к ПК для диагностики подключить?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Не уверен, что сейчас найду ПК с интерфейсом PS/2. 

Опять же, совсем нет уверенности в том, что он "стандартно-пополамный". Скорее, есть сильное подозрение, что это совсем не так.

Какие еще бывают варианты подключения тачпада? Может, там с инициализацией какие тонкости? Потому как на логическом анализаторе он выглядит вполне себе PS/2, только от внешнего воздействия на него ничего не меняется.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Документ старый, но может подойдет - https://www.aquaphoenix.com/hardware/ledlamp/reference/synaptics_touchpad_interfacing_guide.pdf

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Нашёл на работе пару битых ноутов, сдернул тачпады. Один оказался на Synaptics T1006: http://blog.iq-mobile.com/2011/12/laptop-touchpad-connected-to-ps2.html

Припаял к одному хвост от PS/2 мыши, воткнул в комп - работает, Win7 поставила дрова для Microsoft Mouse PS/2. Курсор гоняется по экрану.

Попозжа приаттачу к ардуине, присяду лог. анализатором.

Второй не подключал, он без падов. К ногам чипа паяться - излишне сложная работа для моего паяльника. Но сам тачпад без пленки верхней. Зеленая "плата" с вертикальными полосками. Загогулин, как на фото выше, не наблюдаю. Может вторым слоем сделаны...

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Подключил к Нане с примером библиотеки, что выше. Валит в серийный порт вот так:

24:-7,15
8:0,0
24:-12,16
8:0,0
24:-12,18
8:0,0
8:0,0
8:0,0
8:0,0
24:-18,18
8:0,0
24:-15,13
8:0,0
24:-12,13
8:0,0
24:-10,0
...
40:0,-1
8:0,0

 

Цифири с '24:'- это когда пальцем вожу, с '40:' - когда просто тач пада делаю.

Картинка с лог.анализатора. Работает всё тот же пример из библиотеки. От ардуины Data/Clock отрывал - сам по себе тач ничего не слал (ЛА не сработал).

Зелено-полосатый - это тачпад без черной защитной пленки.

sadman41
Offline
Зарегистрирован: 19.10.2016

Вот что ещё нашёл:

http://blog.amigas.ru/wp-content/uploads/2014/03/touchpad_RevB.pdf

2.4. Power-on reset

At power-on, the PS/2 TouchPad performs a self-test and calibration, then transmits the completion code $AA and ID code $00. If the TouchPad fails its self-test, it transmits error code $FC and ID code $00. This processing also occurs when a software Reset ($FF) command is received.

Power-on self-test and calibration normally takes 300–1000 ms. Self-test and calibration following a software Reset command normally takes 300–500 ms. In most Synaptics TouchPads, the delays are nominally 750 ms and 350 ms, respectively. But some newer TouchPads support an option in which the TouchPad transmits $AA and $00 immediately, and is immediately ready to accept host commands, without waiting for self-test and calibration to complete. This option should be ordered only if the KBC (keyboard controller) is compatible with it. The Synaptics TouchPad never sends an $FC power-on/reset error code. 

И, действительно, ЛА показывает, что после ресета тачпада 

  write(0xff); // Send Reset to the mouse
 
Он возвращает 0xAA 0x00. Наверное данный факт можно использовать для первичной диагностики.
 
andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Просто мистика какая-то.

Решил опробовать все команды, имеющиеся в библиотеке, при инициализации (в setup()).

Заметил, что команда set_resolution приводит к однократному срабатыванию тачпада.

Переместил ее в loop() и, как мне поначалу показалось, добился желаемого: при проведении пальцем вдоль тачпада показания менялись примерно на +200 или -200 единиц в зависимости от направления , а поперек - порядка +80/-80. Это при set_resolution(30200);

Попытался поварьировать величину параметра, оказалось, что он должен быть не менее 4. Сделал еще несколько попыток что-то "улучшить", но добился противоположного результата: тачпад стал реагировать на прикосновения крайне неохотно, лишь на ограниченной площади, с резкими скачками "назад" (т.е. при движении, скажем, в "+" бОльшая часть приращений - положительная, но встречается пара тройка обратного знака и большой величины, в результате чего координата остается практически на месте).

Еще: если в режиме стандартного опроса он осуществлялся регулярно, хоть и возвращал неизменные величины, то теперь, если судить по логическому анализатору:

1. Появляются огромные пробелы в данных. Т.е. процесс обмена инициализируется, но не заканчивается, вызывая тем самым пауз сравнимые с секундой.

2. В порт сыпется много "мусора", который логический анализатор не в состоянии разобрать (идентифицировать как часть протокола мыши). Как из этой мешанины удается что-то выудить Ардуине - не знаю.

 

Пока что у меня сложилось впечатление, что в одинаковых условиях тачпад ведет себя в разные периоды времени по-разному: иногда отвечает что-то более или менее вразумительное, а иногда - шлет мусор или зависает.

Есть идея запитать его через два диода (т.е. не от 5В, а от 3.7В) и посмотреть, как он на это отреагирует.

sadman41
Offline
Зарегистрирован: 19.10.2016

https://www.win.tue.nl/~aeb/linux/kbd/scancodes-13.html

Особенно мне понравились разделы "Magic knock" и "Vendor extensions". По ходу дела без промышленного шпионажа не обойтись.

Izvekoff
Offline
Зарегистрирован: 02.03.2020

Садман! Juniper SSG 5 на рабочий стол, это когда выкинуть жалко? )))
Интересно, что там за процессор, моторола?

sadman41
Offline
Зарегистрирован: 19.10.2016

Как это - выкинуть? А провода чем прижимать? Капуста сейчас пойдёт, солить надо будет. Тоже пресс нужен.

Насчёт процессора не знаю, не разбирал. Интернет утверждает, что Intel https://michaeldale.com.au/archive/2007/04/02/photos-of-inside-a-juniper-netscreen-ssg-5/

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Как это - выкинуть? А провода чем прижимать? Капуста сейчас пойдёт, солить надо будет. Тоже пресс нужен.

Насчёт процессора не знаю, не разбирал. Интернет утверждает, что Intel https://michaeldale.com.au/archive/2007/04/02/photos-of-inside-a-juniper-netscreen-ssg-5/

богатая у тебя контора однако, джуниперы по столам валяются )))