Graphics OLED writing... faster...maybe

Coding and general discussion relating to user created compiler modules

Moderators: David Barker, Jerry Messina

Post Reply
Francis
Registered User
Registered User
Posts: 314
Joined: Sun Mar 25, 2007 9:40 am
Location: Devon

Graphics OLED writing... faster...maybe

Post by Francis » Fri Feb 19, 2010 9:50 pm

I've just about finished my OLED driver.
It's not comprehensive but does as much a I need.

It got me thinking about better ways to write to an OLED which is nice and fast.

So, THINKING OUT LOUD...

Assuming we have a 'big' enough PIC, wouldn't it be better to work on an array?
Then write the whole array to the OLED as bytes.

At the moment, with the current Modules, writing a pixel requires setpos, readbyte, bitwise op, writebyte.
And doing a line requires lots of those.
And doing a Fill requires even more.
It works flawlessly, but , alll in all quite slow.

Doing an array version means allows a much faster bitwise processing of an array element.
And writing bytes blindly to OLED controller is much faster than fiddling with reads / test / bitwise / writes.
I don't know if all OLEDs are the same in principle but if you write a byte to the SDD13005 controller it auto increments pointer, so NO manual SetPosition is needed - so saves even more time.

So, once the array is sorted in nice fast code, it can write the array as bytes with no read or Setpointer time overhead.

Simple tests of filling the screen using WriteByte is very fast.
It can easily do 250 complete screen writes in 1.5 seconds.

Does this have any mileage?
(Does it make any sense? :wink: )

User avatar
ohararp
Posts: 194
Joined: Tue Oct 03, 2006 11:29 pm
Location: Dayton, OH USA
Contact:

Post by ohararp » Sun Feb 21, 2010 5:21 pm

Francis, do you have any screen shots of the oled? Definitely interested. Seems like an array would be the best way to go to me. I use the 26K20's now with ~4K ram so a large array wouldn't be a problem.
Thanks Ryan
$25 SMT Stencils!!!
www.ohararp.com/Stencils.html

Francis
Registered User
Registered User
Posts: 314
Joined: Sun Mar 25, 2007 9:40 am
Location: Devon

Post by Francis » Sun Feb 21, 2010 5:58 pm

Hello Ryan. It's a Denstron DD12864YO.
I'm also using the 26K20.

I've just been modifying code to setpixels in an array and send the whole thing.
Result: MUCH faster. Fills are done in half a blink of the eye - in fact you don't actually see it filling - it just 'appears' as a solid.

Basically, I've changed the Driver 'SetPixel' and added a WritePage routine.

I have got a problem with Wrtiting Strings.
It'll only print the first character of a string onto the screen.
ie WriteAt/WriteStr(1,1,"HELLO") gives H on the display.
I'm using the simple pixel-by-pixel WriteChar routine to bitwise the Pixels in the array.

Squares, rectangles.lines, circles etc. are perfect, just writing chars to Screen is playing up.
The Font shape is fine, I juat lose the rest of my string.

I've declared the big array in the SDD1305 module.
(Yes, I am using a working copy of all Modules used :))
Not sure whether doing that has upset it.

I get the feeling that GLCD.WriteItem has got upset. I'm a bit stuck.

rmteo
Posts: 237
Joined: Fri Feb 29, 2008 7:02 pm
Location: Colorado, USA

Post by rmteo » Sun Feb 21, 2010 6:20 pm


User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Sun Feb 21, 2010 7:49 pm

Hello rmteo,

did you already tested some of these OLED displays?

I need for an application a display that could be sun readable, I need a simple black on white one ... something that can be read under sun.

Did you tested these OLED under sunny weather? on the crystalfontz site they also propose some other graphic displays said to be sun-readable? does anyone tested them in real conditions?

Regards
octal

Francis
Registered User
Registered User
Posts: 314
Joined: Sun Mar 25, 2007 9:40 am
Location: Devon

Post by Francis » Sun Feb 21, 2010 7:55 pm

If it's sunny tomorrow I'll take mine outside.

nigle
Registered User
Registered User
Posts: 36
Joined: Tue Aug 12, 2008 3:13 pm
Location: West London

Post by nigle » Mon Feb 22, 2010 11:18 am

octal wrote:I need for an application a display that could be sun readable
One of these: http://www.sparkfun.com/commerce/produc ... ts_id=9560 might do the job.

rmteo
Posts: 237
Joined: Fri Feb 29, 2008 7:02 pm
Location: Colorado, USA

Post by rmteo » Thu Feb 25, 2010 7:10 pm

Francis, are you using the parallel or serial interface?

Francis
Registered User
Registered User
Posts: 314
Joined: Sun Mar 25, 2007 9:40 am
Location: Devon

Post by Francis » Thu Feb 25, 2010 7:56 pm

parallel

rmteo
Posts: 237
Joined: Fri Feb 29, 2008 7:02 pm
Location: Colorado, USA

Post by rmteo » Wed Apr 14, 2010 4:44 pm

octal wrote:Hello rmteo,

I need for an application a display that could be sun readable, I need a simple black on white one ... something that can be read under sun.

Regards
octal
What do you think of the graphic OLED on the EA Base Board?

Its response time seems much better than GLCD's that even using the SPI interface, it is faster.

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Thu Apr 15, 2010 8:29 am

Yes, it's really a nice OLED, but the pb, for my application, it's too small.
I need the display for a handheld device, that has to show orientation, inclinaison (using a mems sensor) and some other data (sun light intensity ...)

This is why I need it to be sun readable, it will be used mostly outdoor in sunny regions.
For dimensions I need it to be at least 2.5" to be really usable.
Regards

Post Reply