Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Отладочные платы » SK-MNUC950
SK-MNUC950 + SK-MI0430FT-Plug
Artemius
Добавлено 25.05.2010 23:07 Редактировалось 25.05.2010 23:18 Сообщение: 111
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Смастерил себе i2c-шный touch-контроллер на меге, написал драйвер. Почему-то tslib ругается на событие, генерируемое input_report_key, пишет:
Код
tslib: Unknown event type

У вас такого не возникало?
Кстати, драйвер AD7879 эту функцию не использует.

К Qt он подцепился довольно легко, создал две переменные:
QWS_MOUSE_PROTO=Tslib:/dev/event0
POINTERCAL_FILE=<адрес калибровочного файла>

2 Jury093
Делал все на новом ядре, т.е. i2c-шный драйвер у меня работает, правда там идет только чтение.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 25.05.2010 23:25 Сообщение: 112
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Смастерил себе i2c-шный touch-контроллер на меге, написал драйвер. Почему-то tslib ругается на событие, генерируемое input_report_key, пишет:
У вас такого не возникало?

если у меня, то не было..
а что вы отдаете из драйвера в качестве события?

Цитата
2 Jury093
Кстати, делал все на новом ядре, т.е. i2c-шный драйвер у меня работает, правда там идет только чтение.

да я как бы не против, но при загрузке идет ругательство со стороны утилиты hwclock и часы не видятся..
постараюсь завтра выложить в public place свою версию исправленного драйвера i2c

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Artemius
Добавлено 26.05.2010 23:48 Сообщение: 113
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Разобрался, оказалось ошибка была из-за вызова input_sync.
Tslib считает, что пользоваться этим событием можно только если выставлен бит EV_SYN. Но ни один драйвер touch-контроллера его не выставляет, а выставление не помогает... :-)
В сети предлагают решение - патч, убирающий эту проверку из input-raw.c. Наверняка в Debian'овском Tslib'е он уже наложен.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.06.2010 10:11 Редактировалось 23.06.2010 14:56 Сообщение: 114
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
незначительное улучшение в части настройки контроллера LCD NUC950 и MIO430
немного раздражало мерцание верхней строчки экрана и чуть кривоватый вывод типа:

title

исследования показали вкравшуюся ошибку в настройки контроллера:

#ifdef CONFIG_MI0430FT_480X272
outl((540 | (300<<16)), REG_LCM_CRTC_SIZE); //CRTC_SIZE
outl((480 | (272<<16)), REG_LCM_CRTC_DEND); //CRTC_DEND

outl((520 | (490<<16)), REG_LCM_CRTC_HR); //CRTC_HR
outl((484 | (482<<16)), REG_LCM_CRTC_HSYNC); //CRTC_HSYNC
outl((280 | (288<<16)), REG_LCM_CRTC_VR); //CRTC_VR
#endif


вместо 490 должно быть что-то больше чем 520 (меня пока устроило 527)

title

ну и стало заметно лучше :)

title

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 23.06.2010 13:39 Сообщение: 115
Pavel Ivanchenko
Admin
4.39

Пункты: 91525
Регистрация: 24.03.2009
Пол: Мужчина
Спасибо за уточнение!
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.06.2010 14:53 Редактировалось 03.09.2010 14:11 Сообщение: 116
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Спасибо за уточнение!

рад был помочь :)

в раздел "Файлы"->"Линукс" забросил шрифт 6х8 (без кириллицы), на мой взгляд весьма полезный для экрана 480х272 - полных 80 символов в строке..
заливал через IE, форма загрузки сказала "спасибо за содействие, ждите.." :)

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

Код
Console: switching to colour frame buffer device 80x34
nuc900 LCD driver has been installed successfully

так выглядит TC MC:

title

русские буковки добавлю по потребности и возможности..
если надо объяснить методу подключения - объясню.

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 12.07.2010 11:19 Сообщение: 117
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
удалось на новом (2.6.34-rc5) ядре разобраться с настройками видеоконтроллера пока для MIO430 (для остальных будет по образу и подобию). теперь изображение выставлено правильно по геометрии пиксель-в-пиксель и по разрешению претензий нет.
патч изобретать пока не стал :)
/drivers/video/nuc900fb.c
подпрограмма nuc900fb_calculate_lcd_regs

Код
/*
regs->lcd_crtc_size = LCM_CRTC_SIZE_VTTVAL(vtt) |
LCM_CRTC_SIZE_HTTVAL(htt);
regs->lcd_crtc_dend = LCM_CRTC_DEND_VDENDVAL(var->height) |
LCM_CRTC_DEND_HDENDVAL(var->width);
regs->lcd_crtc_hr = LCM_CRTC_HR_EVAL(var->width + 5) |
LCM_CRTC_HR_SVAL(var->width + 1);
regs->lcd_crtc_hsync = LCM_CRTC_HSYNC_EVAL(hsync + var->hsync_len) |
LCM_CRTC_HSYNC_SVAL(hsync);
regs->lcd_crtc_vr = LCM_CRTC_VR_EVAL(vsync + var->vsync_len) |
LCM_CRTC_VR_SVAL(vsync);
*/
regs->lcd_crtc_size = 0x012c021c;
regs->lcd_crtc_dend = 0x011001e0;
regs->lcd_crtc_hr = 0x020f0208;
regs->lcd_crtc_hsync = 0x01e201e4;
regs->lcd_crtc_vr = 0x01200118;

в подпрограмме nuc900fb_probe

Код
//jury
// nuc900_driver_clksrc_div(&pdev->dev, "ext", 0x2);
nuc900_driver_clksrc_div(&pdev->dev, "pll0", 0x7);

в файле /arch/arm/mach-w90x900/mach-nuc950evb.c

Код
/* MIO430 Color TFT LCD */
[2] = {
.type = LCM_DCCS_VA_SRC_RGB565,
.width = 480,
.height = 272,
.xres = 480, // work x
.yres = 272, // work y
.bpp = 16, // Hicolor
.pixclock = 111111, // 9MHz
.left_margin = 2,
.right_margin = 2,
.hsync_len = 41,
.upper_margin = 2,
.lower_margin = 2,
.vsync_len = 10,
.dccs = 0x0e00441a,
.devctl = 0x060000c0,
.fbctrl = 0x00f000f0,
.scale = 0x04000400,
},

Код
static struct nuc900fb_mach_info nuc950_fb_info __initdata = {
#if defined(CONFIG_GPM1040A0_320X240)
.displays = &nuc950_lcd_info[0],
#elif defined(CONFIG_PH320240T_320X240)
.displays = &nuc950_lcd_info[1],
#elif defined(CONFIG_MIO430)
.displays = &nuc950_lcd_info[2],
#else
.displays = nuc950_lcd_info,
#endif
.num_displays = ARRAY_SIZE(nuc950_lcd_info),
.default_display = 0,
.gpio_dir = 0x00000004,
.gpio_dir_mask = 0xFFFFFFFD,
.gpio_data = 0x00000004,
.gpio_data_mask = 0xFFFFFFFD,
};
#endif

в файле /drivers/video/Kconfig добавить

Код
config MIO430
bool "MIO430 Color TFT LCD"
depends on FB_NUC900

основная фишка в том, что прописывание нового дисплея не включало нужного разрешения - причина в жестком выборе источника тактовой LCM от ведущей частоты 15МГц и выводе на индикатор 5МГц..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
inventor
Добавлено 13.07.2010 17:27 Сообщение: 118
inventor
0

Пункты: 31
Регистрация: 10.04.2010
Пол: Мужчина
Уважаемые гуру. стоит задача выводить через фрейм буфер статическую картинку на дисплей. отсюда вопрос
1.сколько бит кодирует один пиксел
2.в какой программе удобнее рисовать картинку (без перекодировки) для вывода на mi0430ft.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 13.07.2010 18:20 Редактировалось 13.07.2010 18:21 Сообщение: 119
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
1. зависит от режимов, которые поддержаны фреймбуфером - в случае MNUC950 - 16 бит на пиксель
сам индикатор имеет 24 пина цвета -> 24 бит на пиксель
но в связке MNUC+MIO - 16 бит на пиксель
2. какие перекодировки? если работать из линукса и штатных графических программ, то вообще ничего не перекодируется
в случае использования графических библиотек надо читать какие форматы они поддерживают
если писать что-то свое, хотя бы вывод BMP, то там все примитивно просто..

зы рисовать в любом доступном/удобном редакторе

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
aal72
Добавлено 19.04.2011 11:24 Сообщение: 120
aal72
1

Пункты: 699
Регистрация: 18.04.2011
Пол: Мужчина
Прочёл всю ветку:
1. Т.к. у меня версия платы нука 1.с, то проводочки для тачскрина кидать не надо? Но и цокалёвка несовпадает с приводившим Jury093 и Hermes (посты 43 и 44). Получается в драйвере надо будет сделать подмену...
2. Никто так и не запользовал прерывание от адс-ки?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-MNUC950