PDA

Просмотр полной версии : I2C capacitive touch screen


nikolna
02.04.2014, 21:27
Кто нибудь может поделиться своим опытом по подключению емкостного тача к андройд дев. бордам по I2C?

Хотелка следующая, куплен китайское тач стекло от планшета Acer A500, так как тач китайский то там не стекло а пластик и его можно подрезать на нужный мне размер!

Контролер тача на микросхеме Atmel mxt1386, распаян только интерфейс I2C ( USB не распаян ), вот дашит на микросхему http://wenku.baidu.com/view/27d86348e45c3b3567ec8bbf.html

Нужно подключить этот тач к дев. борду на андройд, сам дев борд еще не выбран, есть много хороших вариантов, но жду от вас совета может с каким нибудь эта задача уже решалась)))

немного полезных ссылок по теме:
здесь есть даже исходники самого драйвера
http://inti-innovations.co.uk/wiki/index.php?title=Atmel_mXT1386_driver

android kernel config for A500:
http://rootzwiki.com/topic/3768-possible-mxt1386-touchscreen-drivers-source-from-the-acer-iconia-a500-source/

evilfafner
14.04.2014, 10:32
Есть вот такая темка. http://radiokot.ru/forum/viewtopic.php?f=24&t=81610 Правда тут проект до логического конца так и не дошел.

CheGuevara
20.04.2014, 00:39
насчет подрезать я не уверен -- посмотрите на него в отраженом свете: наверняка проводники от края до края...

nikolna
20.04.2014, 00:51
насчет подрезать я не уверен -- посмотрите на него в отраженом свете: наверняка проводники от края до края...

с проводниками нормально все, сам тач наклеен на стекло, и как раз размер стекла больше тача))

и по теме - скоро придет cubietruck и начну эксперименты по подключению

nikolna
14.11.2014, 00:53
Ну что поделюсь тогда я своим положительным опытом))
Так как благодаря нашей почте так и не дождался посылки от YAM1966 с контролером емкостного тача, то пришлось вспомнить об этой теме и заняться подключением тача от ACER A500 к Cubietruck.

В общем после изучения исходников из своего же первого поста и доступному в нете описанию от Allwiner по подключению тачей ( в основном все на китайском, тут надо сказать большое спасибо гуглу транслейту) )) сегодня тач наконечто заработал.

Самое главное, что сделал это правильное использование прерываний через GPIO и определение наличие контролера на шине I2C при инициализации драйвера.

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

vladj
14.11.2014, 01:16
Скажи пож-та, можно-ли подключить тач лилипута резистивный по USB к медиаприставке на Андроиде.
У меня в Андроиде лыжи не едут вовсе, нужна железка какая-то или программы есть, что-бы приставка
тач монитора увидела ?

nikolna
14.11.2014, 01:31
Скажи пож-та, можно-ли подключить тач лилипута резистивный по USB к медиаприставке на Андроиде.
У меня в Андроиде лыжи не едут вовсе, нужна железка какая-то или программы есть, что-бы приставка
тач монитора увидела ?

подключить то наверное можно, но он наврядли HID и скорее всего там нет для него подходящего дравйвера, это значит его нужно собрать именно под то ядро которое в приставке залито
а почему не хочешь использовать проверенно решение от YAM1966?

vladj
14.11.2014, 01:44
Да я уже на вторую приставку потратился, пока с финансами туговато (но про него помню).

Buffer
14.11.2014, 16:23
Так что, если кому интересно могу выложить драйвер, только надо еще дописать код в плане востановления после сна, да и выпилить весь дебаг.
обязательно выложи - мне и уверен много кому еще будет интересно. У самого лежат без дела два тача от таблетов с контролерами на Atmel mxt1386...

han2001
16.11.2014, 14:53
Скажи пож-та, можно-ли подключить тач лилипута резистивный по USB к медиаприставке на Андроиде.
У меня в Андроиде лыжи не едут вовсе, нужна железка какая-то или программы есть, что-бы приставка
тач монитора увидела ?

А чем такой (http://pccar.ru/showthread.php?t=18943) вариант не устраивает, и бюджетно ведь

nikolna
16.11.2014, 15:33
А чем такой (http://pccar.ru/showthread.php?t=18943) вариант не устраивает, и бюджетно ведь

1. хочется мультитач
2. на мой взгляд у резистивных тачах есть еще один недостаток, сильно теряется яркость экрана

oledv
24.11.2014, 19:27
Ну что поделюсь тогда я своим положительным опытом))
Так как благодаря нашей почте так и не дождался посылки от YAM1966 с контролером емкостного тача, то пришлось вспомнить об этой теме и заняться подключением тача от ACER A500 к Cubietruck.

В общем после изучения исходников из своего же первого поста и доступному в нете описанию от Allwiner по подключению тачей ( в основном все на китайском, тут надо сказать большое спасибо гуглу транслейту) )) сегодня тач наконечто заработал.

Самое главное, что сделал это правильное использование прерываний через GPIO и определение наличие контролера на шине I2C при инициализации драйвера.

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

выкладывай, ждем)

nikolna
24.11.2014, 23:51
ребят, погодите немного, переустанавливал винду и похерил раздел с линуксом,
сейчас заного все соберу, да и попробую чтобы работало без перезборки андройда

DaveMF
26.11.2014, 11:59
Вот мой вариант емкостного сенсора, полностью рабочий на плате radxa
первая проба (http://www.youtube.com/watch?v=PGiviKeHUAM)
отлаженный (http://www.youtube.com/watch?v=eIISUUFWWds)
собранный и с USB GPS (http://www.youtube.com/watch?v=VTV1otNCp2U)

nikolna
26.11.2014, 12:29
Вот мой вариант емкостного сенсора, полностью рабочий на плате radxa
первая проба (http://www.youtube.com/watch?v=PGiviKeHUAM)
отлаженный (http://www.youtube.com/watch?v=eIISUUFWWds)
собранный и с USB GPS (http://www.youtube.com/watch?v=VTV1otNCp2U)

Видео это хорошо))
Но как я понимаю у тебя коммерческий проект и подробностей о реализации не будет?

DaveMF
26.11.2014, 14:46
Видео это хорошо))
Но как я понимаю у тебя коммерческий проект и подробностей о реализации не будет?

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

vladj
26.11.2014, 18:28
DaveMF, подскажи пож-та, ибо я в Андроиде ни бум-бум...
Андроид на ТВ приставке восьмиядерной, Кит-Кэт v. 4.4.2. Монитор Лилипут 9.7". Возможно-ли воткнуть
шнур USB от тача монитора в USB приставки, что-бы она увидела тач ? Не...втыкать-то я втыкал, только приставка
вообще на тач не реагирует. По тачам бывают какие-то драйвера для андроида и в каком виде ? А то если не
установочный и нужно ручками компилировать и т.д. то мне не справится конечно.

DaveMF
26.11.2014, 18:41
DaveMF, подскажи пож-та, ибо я в Андроиде ни бум-бум...
Андроид на ТВ приставке восьмиядерной, Кит-Кэт v. 4.4.2. Монитор Лилипут 9.7". Возможно-ли воткнуть
шнур USB от тача монитора в USB приставки, что-бы она увидела тач ? Не...втыкать-то я втыкал, только приставка
вообще на тач не реагирует. По тачам бывают какие-то драйвера для андроида и в каком виде ? А то если не
установочный и нужно ручками компилировать и т.д. то мне не справится конечно.

Нет если штатно не поддерживает, то надо искать исходники и компилировать и вшивать. Это я и делал для своей платы. ТВ приставке исходники проблематично найти.

(vS)
29.11.2014, 13:16
дак расскажи, что откуда вшивал и как )) а мы попробуем по следам пройти

DaveMF
29.11.2014, 13:56
дак расскажи, что откуда вшивал и как )) а мы попробуем по следам пройти

Для начала надо поставить Ubuntu, скачать необходимые библиотеки из репозитория, затем скачать исходный код для платы radxa. Тут инструкция есть (http://radxa.com/Rock/Android_Build).
После того как все скачалось и установилось, попробовать собрать кернел, а потом и сам андроид на штатных настройках.
После как все собралось, прошить плату и посмотреть работает ли все и стабильно ли.
Как все заработает, уже можем добавлять свои драйвера (библиотеку для GPS и необходимый драйвер можно выбрать по инструкции в данной теме (http://www.pccar.ru/showthread.php?t=18871)) и поэтапно проверять после каждого добавления, как ведет себя плата и подключенное устройство. Т.е. после каждого изменения прошиваемся и тестируем.
После того как все начнет определятся и работать, уже настраиваем сенсор, в настроечной таблице, в драйвере, выставляем нужное разрешение и уменьшаем чувствительность, чтобы не было ложных срабатываний от наводок в авто.
После каждой настройки прошиваемся и несем в авто и смотрим нет ли ложных нажатий. Именно в авто, на столе все по-другому.
Как все стало стабильно работать, уже вшиваем в андроид свои программы и ланчер со своим рабочим столом. Собираем еще разок андроид, прошиваемся и устанавливаем.

PS: среднее время сборки андроид на core i3 c HDD - 6 часов, на i7 c SSD - 1.5 часа.

oledv
30.11.2014, 14:35
DaveMF, расскажите лучше какие модули и настройки использовали для подключения тача по I2C.

p.s. пере собирать андройд для использования GPS на радхе считаю не нецелесобразным, на 4.2.2 и 4.4.2 работает с небольшими манипуляциями, а потраченого времени при пере сборке целый вагон.

DaveMF
30.11.2014, 16:04
DaveMF, расскажите лучше какие модули и настройки использовали для подключения тача по I2C.

p.s. пере собирать андройд для использования GPS на радхе считаю не нецелесобразным, на 4.2.2 и 4.4.2 работает с небольшими манипуляциями, а потраченого времени при пере сборке целый вагон.

В ядро добавлен драйвер контроллера сенсора и настроены ноги i2c в board.box файле, никаких модулей нет, только драйвер и правильная настроечная таблица, без которой сенсор невозможно использовать.
Все-равно нужно залазить в menuconfig и включать поддержку сенсора, почему бы не зайти в соседнюю вкладку и не включить поддержку GPS сразу в ядро и не мучатся с библиотеками и правами на них.
Это как продавать машину без колес, почему бы не начать продавать авто вместе с ними...

подробнее в этой теме http://www.pccar.ru/showthread.php?t=22740

nikolna
03.01.2015, 13:18
Вот описание как я заставил тач от Acer A500 с контроллером Atmel mxt1386 работать с Cubietruck:

Я все делал на Cubieboard2 SDK от 08.05.2014, соответственно с пересборкой андройда

Первое что надо сделать это добавить поддержку данного тача в файле sys_config.fex ( SDK/lichee/tools/pack/chips/sun7i/configs/android )

в блоке [rtp_para] отключим поддержку резестивного тача, установив rtp_used = 0

в блоке [ctp_para] включим поддержку емкостного ctp_used = 1 и укажем его параметры

ctp_twi_id = 1 - это номер линии I2C
ctp_name = "maXTouch" - это наименование тача в драйвере
ctp_twi_addr = 0x4c - адрес
ctp_screen_max_x = 1280
ctp_screen_max_y = 800
ctp_revert_x_flag = 0
ctp_revert_y_flag = 0
ctp_exchange_x_y_flag = 0

ctp_int_port = port:PI15<6><default><default><default> - порт для прерываний от тача
ctp_wakeup = port:PI14<1><default><default><1> - порт для пробуждения контроллера

в блоке [ctp_list_para] включим авто поиск тача ctp_det_used = 1 и конкретно нашего maXTouch = 1

Сами исходники драйвера положить в SDK/lichee/linux-3.4/drivers/input/touchscreen

в этом же каталоге подправить Makefile добавив
obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT1386) += atmel_mxt1386.o

В файл SDK/lichee/linux-3.4/arch/arm/configs/cubietruck_config добавить
CONFIG_TOUCHSCREEN_ATMEL_MXT1386=m

Осталось собрать андройд, загрузиться, положить файл atmel-maxtouch.idc в /system/usr/idc

загрузить драйвер командой insmod /system/vendor/modules/atmel_mxt1386.ko

и проверить работу тача, например посмотреть евенты через команду getevent

Сам файл драйвера с моими правками во вложении. В нем изменил инициализацию и работу через gpio прерывания

DaveMF
04.01.2015, 22:53
Отлично, земляк!!!
Как правильно заметил, чтобы все заработало необходимо пересобирать андроид под конкретную плату. Без этого никак!

nikolna
04.01.2015, 23:44
Отлично, земляк!!!
Как правильно заметил, чтобы все заработало необходимо пересобирать андроид под конкретную плату. Без этого никак!

На самом деле раньше можно было по другому:
На кубике на предыдущих сборках андройда, можно было из прошивки вытащить файл script.bin и преобразовав в fex править его, но теперь вроде такое не прокатывает и приходится пересобирать!