Pages: [1]   Go Down
Author Topic: TFT image Mirrored. Please Help  (Read 2650 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Got 2.8 TFT, running with UTFT Library & its ILI9325D chip.

But image on TFT is like vertically mirrored(flipped) so the text is from right to left.

Any ideas how do i fix it? Can it be pins problem? any help appreciated
Logged

Germany
Offline Offline
Edison Member
*
Karma: 100
Posts: 1243
If you believe something is right, you won't see what's wrong (David Straker).
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A display module is composed of the display controler and a display. Interconnection between the display and its controller is done by the display module maker. So, also you have  the same display and the same controller you might need a different software for each display module. Usually the controller has powerful commands to switch between different interconection modes: You need to look at the controller datasheet, look for the mirror command and change the init sequence of your library.

Oliver
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 170
Posts: 12487
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


you can also patch the library replacing every    x   =>   wide-x    (not as trivial as it sounds smiley
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey having troubles with the same display and library. Except that its just getting it to work on the MEGA. Tested it on the UNO with the code provided with the "Arduino 2.8 TFT Touch shield" which is the UTFT library. Triple checked the pins on the MEGA even probed then to make sure they weren't broken. I'm using the same shield that I used on UNO with the MEGA but it just doesn't like it. Also, I had to mod the HW_AVR.h to make sure the pins went where they were meant to.
I'm sure its something easy as I've never transferred a project from one to the other before.
Logged

Germany
Offline Offline
Edison Member
*
Karma: 100
Posts: 1243
If you believe something is right, you won't see what's wrong (David Straker).
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Under similar conditions i found, that there is a conflict between the TFT communication and the UART communication of the UNO. Solution was to disable the UART:

Code:
UCSR0B = 0;  // disable USART 0


Expect some problems with the upload of new ino files. If you disable the USART in the setup() procedure then upload of new ino files is only possible shortly after reset.

Oliver
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks olikraus, tried that but no luck. Just ordered some jumpers so I'm going to run it from the suggested pins PORTA instead of pins the shield fits to on the board. Which were digital pin 0 - 7. Doing it this way made it about 3 times slower anyway from 1FPS to about .33FPS. So thanks anyway smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi!

I have the same problem with a 7" TFT (model I082510 with SSD1963 controller).
I can use with the uTFT library succesfully, but the image is mirrored...

I dont use any shield, I just connect every pin to an Arduino MEGA.
I have a 2,4" and a 5" TFT's too, and works fine... the problem is only with this 7" TFT...

Please, any suggestion??

Thank you in advance!
Logged

0
Offline Offline
Shannon Member
****
Karma: 162
Posts: 10523
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

TFT driver chips usually have either input pins or config register bits to set the vertical and horizontal scan directions.

For the ILI9325 its bit 8 in register 0x01 that controls source scan direction and bit 15 of register 0x60 sets the gate scan direction - the UTFT library no doubt has provision for adjusting the various scan direction bits, haven't checked though.

For the SSD1963 command 0x0B has various bits for setting the scan direction of display and RAM addressing.
Logged

[ I won't respond to messages, use the forum please ]

UK
Offline Offline
Sr. Member
****
Karma: 7
Posts: 436
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

TFT driver chips usually have either input pins or config register bits to set the vertical and horizontal scan directions.

....

For the SSD1963 command 0x0B has various bits for setting the scan direction of display and RAM addressing.


There are a couple of us having issues with this IC and a TFT both with 7" TFT screens

I've looked at the data sheet and 0x0B is "Get the frame buffer to the display panel read order"

I've tried changing it by writing 0x40 or 0x80 to it but neither seems to have any affect.  Any ideas?
Logged

UK
Offline Offline
Sr. Member
****
Karma: 7
Posts: 436
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Please check my thread I've FIXED this issue:

http://arduino.cc/forum/index.php/topic,152053.msg1141508.html#msg1141508
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have a same problem.
I'm using an Arduino Due with 2.8 TFT shield. I created Arduino Uno to Arduino mega converter (http://blog.ozzie.web.id/?p=1014) in order to connect 2.8 TFT shield to Arduino Due, downloaded a latest UTFT lib.
Opened a demo sketch and changed an initial string to "UTFT myGLCD(ITDB28,38,39,40,41);".
When I uploaded demo sketch to my Due board I was happy to see, that all works fine. But when I disconnect Due from USB and connect it again, I was surprised: image on a screen was inverted (mirrored). Colors was inverted too...
After assaulting google I didn't find a fix for my problem. After 2 hr's of brain storming I find a solution: add delay before display initializing.

Code:
void setup()
{
  delay(100);
// Setup the LCD
  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);
}

It help's me to fix problem.
Logged

Pages: [1]   Go Up
Jump to: