OLED
Rick Murray (539) 13840 posts |
Hi, My OLED driver is coming along nicely. http://www.youtube.com/embed/1pWXNa8mdiw Not quite ready for release yet, the code is “working” but not yet optimised. Oh, and not all of the functionality is present. And I haven’t been allocated an official SWI chunk yet. But asides from that… ;-) A quick note regarding the animation – you won’t get that on your Pi. I got that by tweaking the OS image a teeny tiny bit to bump the IIC speed up to 400kHz (100kHz is too slow, display flickers a bit as it can’t update within one frame refresh). Given that the “fast” IIC was unveiled in 1994 (IIRC), I don’t understand why the Pi is still stuck with assuming 100kHz. Doubly so given it is a 3.3V bus so much less chance of using old ‘80s tech with it! |
WPB (1391) 352 posts |
Very nice, Rick. Can the IIC bus rate be jacked up by poking some registers at runtime instead of compiling a new ROM? |
Rick Murray (539) 13840 posts |
In a nice coincidence of timing, I have only just this minute uploaded a copy of the module documentation: http://www.heyrick.co.uk/random/OLED_!Help.txt Apart from the one SWI that I didn’t plan on doing for the first release, the module is finished. All the Can’t release it yet, though. Still waiting on an official allocation because this build recycles the MIDI SWI chunk (for want of something else to use). I ought to have the who how-to thingy on my blog in a few days1. I guess I could bash hardware to speed up the bus, but its really the domain of the HAL. It probably should figure it is time to move on from 100kHz in this day and age. 1 Rick-days, not calendar days. ;-) |
Chris Evans (457) 1614 posts |
Doing a lot of file copying/counting with CJELED running will also give the I2C bus a good workout! |
WPB (1391) 352 posts |
The API looks nice, Rick. I noticed a couple of things:
Should that be “1-8 down”? Is it worth making the various brightness change reason codes of OLED_Op into a single reason code with another register specifying the actual brightness? I appreciate probably only certain brightnesses are available, but even so, it might be neater, perhaps? Is your implementation able to be adapted to multi-colour displays in the future, do you think? I noticed some similar ones to the one you have that do two colours at least (you’d think 3 + black really, wouldn’t you?). Anyway, looks like a lot of fun! ;) |
Raik (463) 2061 posts |
Is this a comparable display I use for may HandPi ? |
Rick Murray (539) 13840 posts |
Ummm… Well…. Err…. <facepalm>
That is “doable”, yes.
256 levels, apparently. Though as I think I pointed out, a lot of them look alike. For instance, toggling between 75% and 100%, can’t really tell any difference.
No. It is pretty much hard wired to “black and white”. Though, there’s no reason a different module (“OLED4”?) couldn’t be produced which caters for the four colour types? One of the problems is that my module will only work with the 128×64,1bpp displays. The 1bpp was a design decision, and the 128×64 is because there is no mechanism for probing the display geometry.1
Depends what you mean. There is a blue/yellow type. This isn’t a two colour display, it is a blue display with a strip that is yellow instead. Like this one: http://www.sunrom.com/media/images/1258/1258b.jpg
’Tis, yes! :-) @ Raik: The technology may be similar, but yours looks like a full colour display. Nice, but not quite the same thing. 1 If somebody wants to post me a dirt cheap 128×32 (or other different size) display that runs off an SSD1306 at 3.3V via IIC, I’ll look at adding support for it. |
Andrew Conroy (370) 740 posts |
Oh, nice work Rick! Very tempted to get one now. I had a brief look on eBay and couldn’t find any 128×32 modules, only a couple of 128×32 screens but without the driver/adaptor pcb. |