Перейти к содержанию
    

Конфигурация для тачскрина GT911

Здравствуйте! Китайцы прислали дисплейные модули с контроллером GT911

Дисплеи 320х480 3.5" . Предоставили какие то драйвера на китайском. Откопал в исходном коде конфигурацию для тачскрина. Она оказалась неверной, понял это, открыв даташит на тачскрин. Похоже что они содрали конфиг от другого модуля, т.к разрешение в конфиге не совпадало с разрешением модуля.

Кроме того, неверно были сконфигурированы каналы. В даташите на тачскрин есть классная строчка: 
Unused SENS or DRV Pins can be lef t f loating. For channel selection, please ref er to tool Channel Selector.

Однако гугление Channel Selector Tool Goodix и т.п не помогло, нашел лишь что они на все тачскрины пишут эту заметку.

image.thumb.png.e3304c871ef83d4a882f98bc01b0c727.png

image.thumb.png.051f240bd10df68195c0320a2e7c577b.png

Методом тыка настроил Sensor_CH0 - Sensor_CH13 и одна из осей заработала исправно. 

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

Я вообще не пойму какие числа прописывать в эти адреса. Я так понимаю, что схемотехнически, например, CH0 может быть CH2 и эта конфигурация должна зависеть от схемотехники. Но схемы на модули нет. И если следовать логике откуда в конфигах CH0 -CH25 числа больше чем 25 бывают ( подсмотрел исходники на другие модули с тем же контроллером тс

 

Китайский конфиг:

const uint8_t GT911_CFG_TBL[] = //数组内容修改了
        {
                0x00, 0xE0, 0x01, 0x10, 0x01, 0x05, 0x3C, 0x00, 0x01, 0x08,
                0x14, 0x05, 0x55, 0x37, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x18, 0x1A, 0x1E, 0x14, 0x8A, 0x2A, 0x0D,
                0x24, 0x26, 0x31, 0x0D, 0x00, 0x00, 0x00, 0x9A, 0x03, 0x1D,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x64, 0x32, 0x00, 0x00,
                0x00, 0x19, 0x46, 0x94, 0xC5, 0x02, 0x07, 0x00, 0x00, 0x04,
                0xA5, 0x1B, 0x00, 0x86, 0x22, 0x00, 0x6F, 0x2A, 0x00, 0x5E,
                0x33, 0x00, 0x4F, 0x3F, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x10,
                0x12, 0x14, 0x16, 0x18, 0x1A, 0xFF, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0F, 0x10,
                0x12, 0x13, 0x16, 0x18, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21,
                0x22, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0xA7, 0x01};

 

Мой конфиг:

static uint8_t GT_911CFG[] = {
        0x41, 0xE0, 0x01, 0x40, 0x01, 0x05, 0x00, 0x00, 0x01, 0x08,
        0x28, 0x05, 0x50, 0x32, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x28, 0x0A,
        0x17, 0x15, 0x31, 0x0D, 0x00, 0x00, 0x00, 0x9A, 0x04, 0x25,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x64, 0x32, 0x00, 0x00,
        0x00, 0x0F, 0x94, 0x94, 0xC5, 0x02, 0x07, 0x00, 0x00, 0x04,
        0x8D, 0x13, 0x00, 0x5C, 0x1E, 0x00, 0x3B, 0x30, 0x00, 0x28,
        0x4C, 0x00, 0x1C, 0x78, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x10,
        0x12, 0x14, 0x16, 0x18, 0x1A,0xFF, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x26,
        0x24, 0x22, 0x21, 0x20, 0x1F, 0x1E, 0x1D, 0xFF, 0xFF, 0xFF,
        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00
};

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю оно это или нет - "утиный" поисковик вот такое перым выдал:
https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors/177678/1/GT911%20Programming%20Guide_v0.1%20(1).pdf
Вытянуть просто так, сейчас, возможности нет, если сможете вытянуть и это оно, то выкладывайте для всех.
Ну, а datashhet у вас есть (-;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я этот мануал читал , совсем разобрался кроме регистров :

0x80D5 to 0x80EE Channel number on chip corresponding to ITO Driver.

 

0x80B7 to 0x80C4 Channel number on chip corresponding to ITO Sensor эти регистры просто заполнил значениями 0, 2, 4, 6, 8, 10 и тд по возврастающией и одна из осей полностью нормально работает.

А вот 0x80D5 - 0x80EE не понял, какие значения туда вбивать. Сдирал конфиги у других , с таким же тачем, только хуже все делалось. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

47 minutes ago, Mysteo said:

не понял, какие значения туда вбивать

По плате не видно, какие линии задействованы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, сам чип на шлейфе запаян. Даже если бы было видно, не понимаю по какому принципу эти значения выставлять. И если например количество каналов 26, то каким образом может получиться значение 49. Посмотрел конфиги от других модулей, с тем же тачем. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени !

Совсем не понимаю как работать с этим GT911...

Регистры управления считываю. По выводу INT при касании экрана срабатывание происходит (не совсем чётко, раз через раз...)

По адресу 0x814E - всегда 0B10000000;

Самое главное при считывании 0x8158 (point 1 x coordinate (low byte)) например, всегда нули. Такое ощущение, что надо подать какую то команду для начала работы, но вот какую ? 

 

Так, надо обязательно после считывания данных  обнулять 0x814E )

Иначе не работает !

Изменено пользователем Алекsей

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Черт меня дернул купить два таких дисплейя на G911 да еще для Mega 2650. Еле завел чтобы хоть что-то показывал. Оказывается надо было перемычку J1 закоротить для питания от 5V. А вот тач-скрин так и не работает, что очень печалит. Так есть живой драйвер на это https://aliexpress.ru/item/1005004083478309.html чудо? Или так и не удалось запилить? 

Изменено пользователем photocritic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На 911й вообще есть..

А по spi откликается? А инициализационная прследовательностт с reset и манипуляциями с int выпролнена?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще проблем не было с GT911.

Всё по нему есть. На разных размерах и на всяких платформах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 12.04.2024 в 10:47, x893 сказал:

Вообще проблем не было с GT911.

Всё по нему есть. На разных размерах и на всяких платформах.

А вы не подскажете как правильно настраивать регистры Driver_CH0 - Driver_CH25? Смотрел разные конфигурации так и не понял по какому принципу задаются значения. Самый лучший результат, которого я добился, это правильные показания по оси X и Y, но левее центра есть нерабочая вертикальная полоса. Рассмотрел под микроскопом шлейф, у меня используются SENS0-SENS9 и DRV0-DRV6, DRV15-DRV23.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Sverchok said:

А вы не подскажете как правильно настраивать регистры Driver_CH0 - Driver_CH25? Смотрел разные конфигурации так и не понял по какому принципу задаются значения. Самый лучший результат, которого я добился, это правильные показания по оси X и Y, но левее центра есть нерабочая вертикальная полоса. Рассмотрел под микроскопом шлейф, у меня используются SENS0-SENS9 и DRV0-DRV6, DRV15-DRV23.

Я до таких подробностей не опускался. Взял готовый драйвер и использовал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, x893 сказал:

Я до таких подробностей не опускался. Взял готовый драйвер и использовал.

Я был бы только за. Но готовый драйвер не заработал. Пробовал использовать настройки уже зашитые в gt911, смотрел другие драйвера для STM, ESP и т.д, результат или координаты не верные или часть экрана не работает. Использую F1C100s + китайский 5 дюймовый экран. Писал китайцу он выслал драйвер для android, там в *.dts файле была конфигурация, но она не подошла. Может конечно проблема еще в чем-то.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 hours ago, Sverchok said:

Может конечно проблема еще в чем-то.

Может просто поломанный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...