Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
SK-iMX53-XC6SLX + SK-TFT1024x768TP-Plug + android
Spectr
Добавлено 25.04.2013 20:17
0
Сообщение: 1
Spectr
0

Пункты: 407
Регистрация: 20.02.2011
Тачскрин повёрнут на 90 градусов по отношению к экрану.
Изображения справа, активируются нажатием снизу. Перелистывание вправо - движением вниз, влево - движением вверх.
Как поправить?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 25.04.2013 22:08 Редактировалось 25.04.2013 22:50 Сообщение: 2
sasamy
4.70

Пункты: 76994
Регистрация: 14.08.2009
Это только в андроиде так или в обычном Linux тоже самое ?
По-быстрому если - можно попробовать изменить ориентацию на уровне драйвера тачскрина, в
arch/arm/mach-mx5/mx53_loco.c

static struct ads7846_platform_data ads_info = {
.model = 7843,
.swap_xy = 1,
...

но вообще - надо налаживать калибровку..
Спуститься к концу Подняться к началу
Персональная информация
Spectr
Добавлено 26.04.2013 00:11 Сообщение: 3
Spectr
0

Пункты: 407
Регистрация: 20.02.2011
Теперь всё перевернуто на 180 градусов.
В обычном линукс всё нормально. Программой ts_test можно нарисовать то, что ты задумал нарисовать.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.04.2013 18:02 Редактировалось 26.04.2013 18:26 Сообщение: 4
sasamy
4.70

Пункты: 76994
Регистрация: 14.08.2009
В общем калибровка работает - нужно в файле
arch/arm/mach-mx5/mx53_loco.c
в структуре изменить (для плага с разрешением 1024х768)
static struct ads7846_platform_data ads_info = {
...
.x_min = 0,
.x_max = 1024,
.y_min = 0,
.y_max = 768,
...

и добавить в параметры загрузки ядра калибровочные коэффициенты которые можно взять после калибровки в обычном линуксе
например
# cat /etc/pointercal
13568 -25 -1480120 -153 8830 -2310860 65536 800 480

добавить в строку загрузки андроидного ядра так
ads7846.calibration=13568,-25,-1480120,-153,8830,-2310860,65536

я когда пробовал раньше - упустил из виду параметры в структуре, если ее не изменить - откалиброванные координаты игнорируются. .swap_xy =1 надо разуммется оттуда убрать.
Спуститься к концу Подняться к началу
Персональная информация
Spectr
Добавлено 26.04.2013 21:56 Сообщение: 5
Spectr
0

Пункты: 407
Регистрация: 20.02.2011
В файле
kernel_imx/arch/arm/configs/imx5_android_defconfig
поменял CONFIG_CMDLINE= на свои параметры, но не вижу никаких изменений.
Команда cat /proc/cmdline выдаёт старые аргументы ядра.
Где поменять аргументы передаваемые ядру при запуске?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.04.2013 22:01 Сообщение: 6
sasamy
4.70

Пункты: 76994
Регистрация: 14.08.2009
Цитата

imx5_android_defconfig


в корне исходников лежит текущий конфиг
.config

вот там еще допишите - дефолтный конфиг копируется и переименовывается в текущий конфиг если выполнить

make ARCH=arm imx5_android_defconfig
Спуститься к концу Подняться к началу
Персональная информация
Spectr
Добавлено 26.04.2013 22:25 Сообщение: 7
Spectr
0

Пункты: 407
Регистрация: 20.02.2011
Благодарю за ответы. Заработало как надо.
Спуститься к концу Подняться к началу
Персональная информация
Spectr
Добавлено 27.04.2013 23:05 Сообщение: 8
Spectr
0

Пункты: 407
Регистрация: 20.02.2011
Подключил 6 кнопок согласно схеме кабелем от X6 TFT (контакты 1,2,3,4,5,6) панели к X15 iMX (контакты 13,14,15,16,17,19).
Из них работают только 2: домой и назад. Андроид не реагирует на остальнве 6 кнопок.
В файле mx53_loco.c кнопки описаны так:
Код
static struct gpio_keys_button loco_buttons[] = {
// GPIO_BUTTON(MX53_nONKEY, KEY_POWER, 1, "power", 0),
GPIO_BUTTON(MX53_nONKEY, KEY_MENU, 1, "menu", 0),
GPIO_BUTTON(USER_UI1, KEY_BACK, 1, "back", 0),
GPIO_BUTTON(USER_UI2, KEY_HOME, 1, "home", 0),
};

Как заставить работать кнопку меню и добавить кнопки звука?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 28.04.2013 03:25 Редактировалось 28.04.2013 03:37 Сообщение: 9
sasamy
4.70

Пункты: 76994
Регистрация: 14.08.2009
В файле arch/arm/mach-mx5/mx53_loco.c добавьте еще один gpio
Код

/* TS LVDS1 */
#define TS1_PENIRQ (2*32 + 19) /* GPIO_3_19 */
#define TS1_CS (1*32 + 10) /* GPIO_2_10 */
#define TS1_SCK (2*32 + 30) /* GPIO_3_30 */
#define TS1_MOSI (1*32 + 15) /* GPIO_2_15 */
#define TS1_MISO (1*32 + 9) /* GPIO_2_9 */

>>> #define TS1_BUTTON (1*32 + 31) /* GPIO_2_31 */ <<<<

в том же файле в массиве раскоментируйте и добавьте

static iomux_v3_cfg_t mx53_loco_pads[] = {
....
/* TS LVDS1 */
MX53_PAD_EIM_D19__GPIO3_19,
MX53_PAD_PATA_DATA10__GPIO2_10,
MX53_PAD_EIM_D30__GPIO3_30,
MX53_PAD_PATA_DATA15__GPIO2_15,
MX53_PAD_PATA_DATA9__GPIO2_9,
MX53_PAD_EIM_EB3__GPIO2_31,

опишите кнопки например так в том же файле

static struct gpio_keys_button loco_buttons[] = {
GPIO_BUTTON(TS1_PENIRQ, KEY_MENU, 1, "menu", 0),
GPIO_BUTTON(TS1_CS, KEY_BACK, 1, "back", 0),
GPIO_BUTTON(TS1_SCK, KEY_HOME, 1, "home", 0),
GPIO_BUTTON(TS1_MOSI, KEY_VOLUMEUP, 1, "vol_up", 0),
GPIO_BUTTON(TS1_MISO, KEY_VOLUMEDOWN, 1, "vol_down", 0),
GPIO_BUTTON(TS1_BUTTON, KEY_SPACE, 1, "space", 0), // camera
};

в файле arch/arm/plat-mxc/include/mach/iomux-mx53.h нужно включить поддяжки для всех этих GPIO (я просмотрел это - только у одного gpio она включена - так что вторая кнопка у вас работает чисто случайно :), например было

#define MX53_PAD_EIM_EB3__GPIO2_31 (_MX53_PAD_EIM_EB3__GPIO2_31 | MUX_PAD_CTRL(NO_PAD_CTRL))

исправить NO_PAD_CTRL на MX53_PAD_CTRL_1

#define MX53_PAD_EIM_EB3__GPIO2_31 (_MX53_PAD_EIM_EB3__GPIO2_31 | MUX_PAD_CTRL(MX53_PAD_CTRL_1))

для андроида нужно добавить в раскладку эти кнопки
второй раздел на SD , /usr/keylayout/gpio-keys.kl

key 102 HOME WAKE
key 158 BACK WAKE
key 115 VOLUME_UP WAKE
key 114 VOLUME_DOWN WAKE
key 139 MENU WAKE_DROPPED
key 57 CAMERA

примеры моежете посмотреть в том же каталоге у других раскладок
Спуститься к концу Подняться к началу
Персональная информация
Spectr
Добавлено 28.04.2013 18:18 Сообщение: 10
Spectr
0

Пункты: 407
Регистрация: 20.02.2011
Работают кнопки: home, back, volume_up, menu. Почему-то на нажатие кнопок volume_down никак себя не проявляет. Провод прозванивал, все 6 контактов есть.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux