В общем я балбес (мучался не с той библиотекой). По разбирался с даташитом и понял что чего то не хватает (в этой библиотеке нет RD - пина, сигнала чтения, странно, почему). Скачал другую библиотеку и все заработало, контроллер действительно родной, как и указывали продаваны.
в здешний поиск - отзеркалить изображение , там найдете что поменять в файле initlcd.h .
если появятся еще вопросы . пишите.
или как вариант попробуйте использовать вызов не UTFT myGLCD(ILI9325D_16,... , а ILI9325D_16ALT
ILI9325D_16ALT не прошло. Я понял что нужно в initlcd.h поменять какие то значения для определенного кода функций. Где смотреть, за что функция отвечает и на какие значения откликается (initlcd.h не нашел Display Function Control, значит не подписано просто). На форумах читал, сложно ориентироваться, не понимая. Если есть документ, где почитать, укажите. Объяснять не стоит. При том, не ясно подставляют многие в двоичном исчислении у меня в шестнадцатиричном, что так и так работать будет? Что бы ясность была скидываю свой initlcd.h для своего контроллера https://yadi.sk/i/D0GzVsb0PHmVhw
Entry Mode (R03h) откликается только I/D1 и I/D0 на 00 и 11
т.е.
LCD_Write_COM_DATA(0x03, 0x1030) 0001 0000 0011 0000 текст изначально справа-налево, буквы не правильно
LCD_Write_COM_DATA(0x03, 0x1000) 0001 0000 0000 0000 текст изначально справа-налево, буквы правильно
Остальные варианты по даташиту ни какой реакции.
Есть описание на ORG, при OGR=0 как я понял начинает регистрировать
GRAM Horizontal/Vertical Address Set (R20h, R21h) но из даташита в таблице не могу понять, что по регистрам можно менять (например D0 указано два значение AD0 и AD8, что это значит?) т.е 1 или 0 не нужно указывать, тогда что? и по этим комбинациям что получу. Указаны строчки от 0 до 320.
ну вот и хорошо.
теперь если понадобятся 8 свободных пинов , помимо A6 A7 , RST , CS , то можете перевести его на 8 бит. посмотрев в даташите где и очередность IM0... чтоб найти их в шлейфе.
// чтоб аккуратно отклеить дисп от платы , прогреть плату снизу .
Ага, спасибо. Да я пожалел дисплей, не очень хочется его трогать. Купил мегу, теперь на ней пробую. Все заработало, не могу разобраться с тачскрином. С калибровкой бред какой то. Не ясно теперь куда лезть, в библиотеку тача, в скетче что то менять или в библиотеке дисплея. Проблема изначально сдвиг дисплея относительно тача на 90 градусов. После калибровки вообще не реагирует.
меняю myTouch.InitTouch(0) изначально было () вроде как работает но со смещением, калибруешь и так же все, не работает. При том резко может уйти в какой то "бред" и полностью пропасть картинка.
В описании на библиотеку тача указано, что должны совпадать myGLCD.InitLCD() и myTouch.InitTouch()
Кроме ориентации куда еще лезть?
PS: вариант на 8 битный режим попробую обязательно, но только на каком ни буди дисплее от сотика, надо дальше все изучать, надо и этот путь пройти.
URTouchCD.h должен быть девственный (начальные калибровки которые там были при распаковке архива)
2. пробуете URTouch_QuickDraw.ino чтоб понять что тач на всех углах как-то работает.
- UTFT myGLCD(ITDB32S,38,39,40,41); - вместо ITDB32S ставите свой ILI9325D_16
3. калибровка : URTouch_Calibration.ino
- #define TOUCH_ORIENTATION LANDSCAPE попробуйте заменить на #define TOUCH_ORIENTATION PORTRAIT
- UTFT myGLCD(ITDB32S,38,39,40,41); - вместо ITDB32S ставите свой ILI9325D_16
проводите калибровку , данные подменяете в URTouchCD.h . сохраняете его.
проверяете итог скетчем URTouch_QuickDraw.ino
В общем я балбес (мучался не с той библиотекой). По разбирался с даташитом и понял что чего то не хватает (в этой библиотеке нет RD - пина, сигнала чтения, странно, почему). Скачал другую библиотеку и все заработало, контроллер действительно родной, как и указывали продаваны.
Не могу ни как разобраться, как убрать зеркальное отображение. Надо инвертировать систему координат в библиотеке. Где смотреть.
в UTFT\tft_drivers\ili9325d\default в строчках Partial Display Control на какие значения поменять? Где смотреть?
в здешний поиск - отзеркалить изображение , там найдете что поменять в файле initlcd.h .
если появятся еще вопросы . пишите.
или как вариант попробуйте использовать вызов не UTFT myGLCD(ILI9325D_16,... , а ILI9325D_16ALT
в здешний поиск - отзеркалить изображение , там найдете что поменять в файле initlcd.h .
если появятся еще вопросы . пишите.
или как вариант попробуйте использовать вызов не UTFT myGLCD(ILI9325D_16,... , а ILI9325D_16ALT
ILI9325D_16ALT не прошло. Я понял что нужно в initlcd.h поменять какие то значения для определенного кода функций. Где смотреть, за что функция отвечает и на какие значения откликается (initlcd.h не нашел Display Function Control, значит не подписано просто). На форумах читал, сложно ориентироваться, не понимая. Если есть документ, где почитать, укажите. Объяснять не стоит. При том, не ясно подставляют многие в двоичном исчислении у меня в шестнадцатиричном, что так и так работать будет? Что бы ясность была скидываю свой initlcd.h для своего контроллера https://yadi.sk/i/D0GzVsb0PHmVhw
Не могу разобраться, все уже перепробовал.
Entry Mode (R03h) откликается только I/D1 и I/D0 на 00 и 11
т.е.
LCD_Write_COM_DATA(0x03, 0x1030) 0001 0000 0011 0000 текст изначально справа-налево, буквы не правильно
LCD_Write_COM_DATA(0x03, 0x1000) 0001 0000 0000 0000 текст изначально справа-налево, буквы правильно
Остальные варианты по даташиту ни какой реакции.
Есть описание на ORG, при OGR=0 как я понял начинает регистрировать
GRAM Horizontal/Vertical Address Set (R20h, R21h) но из даташита в таблице не могу понять, что по регистрам можно менять (например D0 указано два значение AD0 и AD8, что это значит?) т.е 1 или 0 не нужно указывать, тогда что? и по этим комбинациям что получу. Указаны строчки от 0 до 320.
Пытался менять Horizontal and Vertical RAM Address Position (R50h, R51h, R52h, R53h) (указанные значения по умолчанию верны, как и по даташиту:
менял местами
без результатно
Что не так? Что тоупустил, еще что то есть. Отделной функции зеркала не нашел (на этом контроллере точно нет)
Разобрался
строчку LCD_Write_COM_DATA(0x03, 0x1030) трогать не надо, а вот
LCD_Write_COM_DATA(0x01, 0x0100); // set Driver Output Control необходимо изменить направление сдвига выходов.
LCD_Write_COM_DATA(0x01, 0x0000), SS=0
ну вот и хорошо.
теперь если понадобятся 8 свободных пинов , помимо A6 A7 , RST , CS , то можете перевести его на 8 бит. посмотрев в даташите где и очередность IM0... чтоб найти их в шлейфе.
// чтоб аккуратно отклеить дисп от платы , прогреть плату снизу .
Ага, спасибо. Да я пожалел дисплей, не очень хочется его трогать. Купил мегу, теперь на ней пробую. Все заработало, не могу разобраться с тачскрином. С калибровкой бред какой то. Не ясно теперь куда лезть, в библиотеку тача, в скетче что то менять или в библиотеке дисплея. Проблема изначально сдвиг дисплея относительно тача на 90 градусов. После калибровки вообще не реагирует.
меняю myTouch.InitTouch(0) изначально было () вроде как работает но со смещением, калибруешь и так же все, не работает. При том резко может уйти в какой то "бред" и полностью пропасть картинка.
В описании на библиотеку тача указано, что должны совпадать myGLCD.InitLCD() и myTouch.InitTouch()
Кроме ориентации куда еще лезть?
PS: вариант на 8 битный режим попробую обязательно, но только на каком ни буди дисплее от сотика, надо дальше все изучать, надо и этот путь пройти.
1. URTouch http://www.rinkydinkelectronics.com/library.php?id=92
URTouchCD.h должен быть девственный (начальные калибровки которые там были при распаковке архива)
2. пробуете URTouch_QuickDraw.ino чтоб понять что тач на всех углах как-то работает.
- UTFT myGLCD(ITDB32S,38,39,40,41); - вместо ITDB32S ставите свой ILI9325D_16
3. калибровка : URTouch_Calibration.ino
- #define TOUCH_ORIENTATION LANDSCAPE попробуйте заменить на #define TOUCH_ORIENTATION PORTRAIT
- UTFT myGLCD(ITDB32S,38,39,40,41); - вместо ITDB32S ставите свой ILI9325D_16
проводите калибровку , данные подменяете в URTouchCD.h . сохраняете его.
проверяете итог скетчем URTouch_QuickDraw.ino
Все, победил его, ориентацию нужно было в скетче калибратора указать другую, все заработало.