Go Down

Topic: UTFT library (Read 3095 times) previous topic - next topic

kapelan

Does anybody did something like scrolling on TFT screen?

olikraus

Not sure if there is some kind of HW support for scrolling, but if you require a complete screen refresh, then probably the data transfer rate is too low (at least for 8 Bit controllers like Arduino Uno)

Oliver

Docedison

Not, I wouldn't think without using a dedicated controller for the screen refresh. As Olikraus pointed out, there is too much going on to handle both tasks with one 16 MHz 8 bit device.

Bob
--> WA7EMS <--
"The solution of every problem is another problem." -Johann Wolfgang von Goethe
I do answer technical questions PM'd to me with whatever is in my clipboard

kapelan

Yes, redo whole screen is kind of slow.
I'm thinking about creating a message scrolling string.
That is only 20*320 pixels (for 320*240 screen)
Printing symbols is pretty fast, fillRect() is also acceptable.



997_1

I believe, based on something I've tried before, that it is possible. Limitation for me was I could not have anything else on the screen.
Basics, if you wrote something on the left hand side of the screen, cleared it and wrote it again a few spaces over in the x direction using a for ()/ i++/ delay (), it would appear to scroll. The other issue is trimming off at the opposite side as the text will become unstable when it reaches the screen's limit. A few little tricks and you would give the impression to the viewer that it is scrolling.

I am going to try today to find a way to only reset a small area of the screen as I would like my RTC to actually show RT without refreshing all the images... Who knows how this will work out as I have not tried yet.

If this is possible you could pull the above and scroll through the refreshed area...?

997_1

So as I was washing the car I decided I would like a part of one of my codes to scroll.
Create int i and int j in one of your UTFT sketches,use (smallFont), make your BackColor(0,0,0) and drop this in somewhere.

  for (i=0; i<230;i++)
       {
       j= (i +5);
       myGLCD.setColor(0,0,i);
       myGLCD.print ("Test", j, 55);
       delay(1);
        }

You can see it also fades color as it goes. This could be expanded on by changing the y value  of the print as well.
I am using a mega 2560, SainSmart 3.2 with matching shield and it "scoots" across my screen at a perfect rate.
Hope this helps.

MarkT

Some TFT driver chips support scrolling (but usually only in one axis) - which TFT are you talking about?
[ I won't respond to messages, use the forum please ]

Andy Brown

"Scrolling" is implemented in these types of TFTs by changing where in the internal GRAM line zero is sourced from so what you actually get is a wrapped display that can be made to appear to be scrolling by clearing the wrapped scan line(s) in software. In portrait mode they'll only "scroll" vertically and in landscape only horizontally.

You can see the effect in this video I took of my own graphics driver driving a Nokia 6300 QVGA TFT showing a demo of a terminal-style program. It scrolls when the output hits the bottom of the display.

http://www.youtube.com/watch?v=pX8NVDbEQW8
Home of the Nokia QVGA TFT LCD hacks: http://andybrown.me.uk

Go Up