Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
iMX6. Debian. TFT1024X768(TP). Сенсор и кнопки [Решено]
qqqqq2
Добавлено 27.07.2016 16:28 Редактировалось 11.01.2017 09:58
0
Сообщение: 1
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Отладочная плата SK-iMX6D-SODIMM
(совместное использование с SK-iMX6-MB-SODIMM).
Debian 7, загрузка с флешки, установлены Иксы.

Подключенный модуль расширения LCD - SK-TFT1024X768(TP)-Plug

Помогите, пожалуйста, оживить сенсорную панель и кнопки.

------------------------------------

Решение

Рекомендация Jury093:
- убрал все упоминания об export TS_* (файл /etc/profile)
- убрал /etc/pointercal
- убрал /etc/ts.conf
- убрал содержимое /usr/local/lib (там лежат либа и плугины для TS)
- убрал упоминания из xorg.conf

Далее шаманство
1. Задал в 10 раз большие числа (от разрешения экрана) в файле /usr/share/X11/xorg.conf.d/99-ads7846-cal.conf

Код
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "60 10230 10 7670"
Option "SwapAxes" "0"
EndSection


Курсор начал более менее адекватно реагировать на движение пальца по экрану.
Очень-очень-очень не точно, но без прыжков.

2. Запустил программу калибровки (пресловутый xinput-calibrator).
Удалось нажать на все 4 точки.
Итоговый файл 99-ads7846-cal.conf
Код
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "4225 8006 4239 7949"
Option "SwapAxes" "0"
EndSection
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 27.07.2016 17:37 Сообщение: 2
sasamy
4.70

Пункты: 76899
Регистрация: 14.08.2009
Тут написано про тачскрин на ubuntu, на debian аналогично

http://www.starterkit.ru/html/index.php?name=forum&op=view&id=22044&num=2#22067

кнопки надо прописать в DT, например для двух кнопок

/ {
aliases {
mxcfb0 = &mxcfb1;
mxcfb1 = &mxcfb2;
};

gpio-keys {
compatible = "gpio-keys";

power {
label = "power";
gpios = <&gpio5 19 GPIO_ACTIVE_LOW>;
gpio-key,wakeup;
debounce-interval = <50>;
linux,code = <KEY_Q>;
};

batcher {
label = "batcher";
gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;
gpio-key,wakeup;
debounce-interval = <50>;
linux,code = <KEY_W>;
};
};

.....

&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;

hog {
pinctrl_hog: hoggrp {
fsl,pins = <
/* GPIO Button */
MX6QDL_PAD_CSI0_MCLK__GPIO5_IO19 0x80000000
MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x80000000
....
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 28.07.2016 09:24 Редактировалось 28.07.2016 09:29 Сообщение: 3
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Код
root@armets:/# ls /etc/pointercal
ls: cannot access /etc/pointercal: No such file or directory

root@armets:/# apt-get install libts-bin
Reading package lists... Done
Building dependency tree
Reading state information... Done
libts-bin is already the newest version.
The following packages were automatically installed and are no longer required:
gnome-terminal-data libvte-2.90-9 libvte-2.90-common
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 33 not upgraded.

root@armets:/# ts_print
ts_open: No such file or directory

root@armets:/# dmesg | grep input
input: ADS7846 Touchscreen as /devices/platform/imx6q-ecspi.3/spi_master/spi3/sp
i3.0/input/input0
input: ADS7846 Touchscreen as /devices/platform/imx6q-ecspi.0/spi_master/spi0/sp
i0.0/input/input1
input: USB Keyboard as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.1/2-1.1.4/2-1
.1.4:1.0/input/input2
generic-usb 0003:04D9:1702.0001: input,hidraw0: USB HID v1.10 Keyboard [ USB Ke
yboard] on usb-fsl-ehci.1-1.1.4/input0
input: USB Keyboard as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.1/2-1.1.4/2-1
.1.4:1.1/input/input3
generic-usb 0003:04D9:1702.0002: input,hidraw1: USB HID v1.10 Device [ USB Keyb
oard] on usb-fsl-ehci.1-1.1.4/input1

root@armets:/# find /usr |grep linear.so
/usr/lib/arm-linux-gnueabi/ts0/linear.so

root@armets:/# ts_calibrate
ts_open: No such file or directory
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 28.07.2016 10:42 Сообщение: 4
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
делаем последовательно:
1. сначала находим рабочий канал для тача
Код
hexdump /dev/input/event0
hexdump /dev/input/event1

после тыкания пальцем должны побежать цифры (выход Ctrl+C)

2. потом прописываем
Код
в /etc/profile добавил
export TSLIB_TSDEVICE=/dev/input/eventX
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts0
export TSLIB_FBDEVICE=/dev/fb0

где в eventX - X на номер живого канала
а PLUGINDIR указывает на каталог с плугинами

на всякий случай содержимое /etc/ts.conf

Код
# Uncomment if you wish to use the linux input layer event interface
module_raw input

module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear


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

4. пробовать
Код
ts_calibrate

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 28.07.2016 11:38 Сообщение: 5
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Сделал, как написано выше.
Откалибровал канал 0 с помощью ts_calibrate без запущенных иксов.

Запустил Иксы - реакции нет.
Проверил
Код
root@armets:~# ts_print
1469691118.271889: 247 315 65457
1469691118.271889: 247 315 65457
1469691118.318917: 278 347 0
1469691118.621585: 555 306 65441
1469691118.628939: 555 306 0
1469691119.171192: 281 488 65416
^Z
[2]+ Stopped ts_print
root@armets:~#
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 28.07.2016 11:53 Редактировалось 28.07.2016 11:55 Сообщение: 6
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Сделал, как написано выше.
Откалибровал канал 0 с помощью ts_calibrate без запущенных иксов.

в теме, указанной Сашей, ничего полезного нет?
Код
Тут написано про тачскрин на ubuntu, на debian аналогично
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=22044&num=2#22067


телепатировать по жаре тяжело, что там в /var/log/Xorg.0.log ?

вот тут
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=7427&num=1#7427
можно почитать, лучше с конца

пальцем в небо - вероятно не хватает пакета для иксов, типа поддержка устройств ввода..

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

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 28.07.2016 12:25 Сообщение: 7
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата

в теме, указанной Сашей, ничего полезного нет?

Я так и начинал, как там описано, но...
Код
root@armets:~# apt-get install xserver-xorg-input-tslib
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package xserver-xorg-input-tslib is not available, but is referred to by another
package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'xserver-xorg-input-tslib' has no installation candidate


Цитата

телепатировать по жаре тяжело, что там в /var/log/Xorg.0.log ?

пальцем в небо - вероятно не хватает пакета для иксов, типа поддержка устройств ввода..


Да, что-то не то с tslib
http://pastebin.com/irjCuAPy

в usr/share/X11/xorg.conf.d/ создал файл 99-SK-tslib.conf
Код
Section "InputClass"
Identifier "evdev touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "tslib"
EndSection

там еще есть файлы
10-evdev.conf
50-synaptics.conf
50-wacom.conf
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 28.07.2016 18:38 Сообщение: 8
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
нет ли вот тут диссонанса:
Откалибровал канал 0 с помощью ts_calibrate
и
MatchDevicePath "/dev/input/event*"

насчет либ тача завтра посмотрю - судя по офциальному сайту
https://packages.debian.org/search?suite=wheezy&searchon=names&keywords=xserver-xorg-input
то ли выпилили, то с чем то объединили..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 01.08.2016 09:18 Редактировалось 01.08.2016 09:21 Сообщение: 9
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата
насчет либ тача завтра посмотрю - судя по офциальному сайту
https://packages.debian.org/search?suite=wheezy&searchon=names&keywords=xserver-xorg-input
то ли выпилили, то с чем то объединили..

Как могли убрать, не оставив что-то взамен???
Вообще тач отменен в Иксах???
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 01.08.2016 13:18 Сообщение: 10
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Как могли убрать, не оставив что-то взамен???
Вообще тач отменен в Иксах???

пожимая плечами - это линукс, он неизменен только на словах.. от дистра к дистру что-то меняется, объединяется или уходит в категорию например obsolete..
https://archive.debian.net/squeeze/x11/xserver-xorg-input-tslib
более вероятно, что перенесли в другой пакет, как вариант сделать distupgrade текущему дистрибутиву на плате, но быть готовым, что утилиты нового возмутятся "древности" текущего ядра.. тут надо читать и пробовать..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux