OLED graphics... suggestions welcomed.
Moderators: David Barker, Jerry Messina
OLED graphics... suggestions welcomed.
I've just been eyeing up OLED modules and see that the prices for tiddlers is coming down.
I was after general advice as I've never dealt with one.
If I were to try and write a driver routine , which of the currently available SF graphics routines would be the best starting off point' to learn how to do it.
Examples.
http://uk.farnell.com/densitron/dd-2832 ... dp/1498844
or
http://uk.farnell.com/densitron/dd-2864 ... dp/1498842
or any better suggestions to start with would be valued.
I was after general advice as I've never dealt with one.
If I were to try and write a driver routine , which of the currently available SF graphics routines would be the best starting off point' to learn how to do it.
Examples.
http://uk.farnell.com/densitron/dd-2832 ... dp/1498844
or
http://uk.farnell.com/densitron/dd-2864 ... dp/1498842
or any better suggestions to start with would be valued.
Both displays are based on the SSD1303T6 driver. The best for you, I think (from a quick check of the datasheet) is to start from Steven driver for S1D13700 driver (the same provided with official version of SF) http://www.sfcompiler.co.uk/wiki/pmwiki ... r.S1D13700
Regards
Regards
Hello Francis,
Sorry i'm a bit late (didn't notice your posts). I wrote a driver for the SSD0323/SSD1303 (both pretty much identical) and radioT wrote a good one for the SSD1339 in this thread.
Maybe you'll get some inspiration from these as they all seem to have the same basis (having a quick look at the datasheet).
Nathan
Sorry i'm a bit late (didn't notice your posts). I wrote a driver for the SSD0323/SSD1303 (both pretty much identical) and radioT wrote a good one for the SSD1339 in this thread.
Maybe you'll get some inspiration from these as they all seem to have the same basis (having a quick look at the datasheet).
Nathan
Hello Francis,
I never played with the SSD1339 personally, I'm still running with my good ole' yellow on black SSD0323's but my understanding is that the SSD1339 was phased out and replaced with the SSD1355.
As usual with Solomon you can't seem to find hide nor hair of their datasheets, but i would suspect that the command set would be similar for the basics at least. Usually is, but with extra bells and whistles.
Perhaps RadioT has more info and will be able to set things straight?
Another option is to contact densitron directly, they seem to be pretty good at responding to technical enquiries, and should be able to give you datasheets, if not example code for getting things running. A couple of densitron guys popped up on this site, but that was a while back, their email might still be working though .
Nathan
I never played with the SSD1339 personally, I'm still running with my good ole' yellow on black SSD0323's but my understanding is that the SSD1339 was phased out and replaced with the SSD1355.
As usual with Solomon you can't seem to find hide nor hair of their datasheets, but i would suspect that the command set would be similar for the basics at least. Usually is, but with extra bells and whistles.
Perhaps RadioT has more info and will be able to set things straight?
Another option is to contact densitron directly, they seem to be pretty good at responding to technical enquiries, and should be able to give you datasheets, if not example code for getting things running. A couple of densitron guys popped up on this site, but that was a while back, their email might still be working though .
Nathan
Hi Nathan,
I noticed that RS are selling a Densitron DD--128128FC-5B which uses the SSD1355, but his has been superseded by the -6A version using the SSD1351 . So, RS is old stock and, once again, a waste of time writing a driver when in a few months the -6A will be stocked.
(and I guess next month it'll be the -6B with another driver Grrr).
Coincidentally, after I emailed Densitron, one of their techstaff just phoned me and is sending some C sample code.
He also said that, for some OLEDs, Densitron can supply samples direct - not FOC.
I've got started with the SSD1305 (mono) and got plotting to screen.
The next stage will be trying to rewrite into the standard SF library style format. I've reached 10 cups of coffee per hour.
I noticed that RS are selling a Densitron DD--128128FC-5B which uses the SSD1355, but his has been superseded by the -6A version using the SSD1351 . So, RS is old stock and, once again, a waste of time writing a driver when in a few months the -6A will be stocked.
(and I guess next month it'll be the -6B with another driver Grrr).
Coincidentally, after I emailed Densitron, one of their techstaff just phoned me and is sending some C sample code.
He also said that, for some OLEDs, Densitron can supply samples direct - not FOC.
I've got started with the SSD1305 (mono) and got plotting to screen.
The next stage will be trying to rewrite into the standard SF library style format. I've reached 10 cups of coffee per hour.
RS, Farnell & the like seem to be a waste of time for this type of product. For example they are still selling OSRAM OLED parts, when OSRAM closed up their own OLED fabs 3-4 years ago (good luck getting support on those!). I'm using a knockoff version that looks suspiciously similar .
When I first started (5+ years ago) Densitron weren't interested in a MOQ less than 1000. Now they seem to be happy at much lower quantities, so if I were starting with a new module, i'd go direct to them. They do seem to have good support in place too. If you're talking really low volume, I'd probably look at someone like sparkfun.
Sounds like you are making progress though, 10CC/H is pretty good going!
When I first started (5+ years ago) Densitron weren't interested in a MOQ less than 1000. Now they seem to be happy at much lower quantities, so if I were starting with a new module, i'd go direct to them. They do seem to have good support in place too. If you're talking really low volume, I'd probably look at someone like sparkfun.
Sounds like you are making progress though, 10CC/H is pretty good going!
I'm confused.
I'm having trouble writing a text character to the display.
Bits missing.
I've been looking in the GLCD routine and there are a lot of procedural calls.
I have created a temp GLCD file ("GLCDtemp.bas") and 'included' in my main test code.
I have set the Port.pin options correctly and also set the driver type:-
So this should inform GLCDtemp.bas that I am using the SSD1305.
In GLCDtemp.bas I have inserted references to my SSD1305.bas so that GLCDtemp.bas knows it's there.
and
In my main test I have included the Font files and issue:
GLCD.SetFont(Fixed)
GLCD.WriteAt(4,2,"System Font")
for example.
Keep in mind this is new to me, but the TEXT plotting call from GLCDtemp.bas seems to be:
Writebyte(Line) in the "WriteCharacterByte" procedure (called by "WriteChar").
Is that right?
However, I wanted to check to make sure my SSD1305.bas was being used.
So , in GLCDtemp.bas I briefly changed the commands
WriteByte(Line)
to, at random,
KS0108.writebyte(Line).
it compiled OK and still did the text char with bits missing.
Eh? Surely it should have errored?
I'm doubley suspicious that my SSD1305.bas isn't being run as the OLED Initialize doesn't work and I have to do it in my main test code.
Is there some other reference to my driver file that I need to make somewhere?
I'm having trouble writing a text character to the display.
Bits missing.
I've been looking in the GLCD routine and there are a lot of procedural calls.
I have created a temp GLCD file ("GLCDtemp.bas") and 'included' in my main test code.
Code: Select all
Include "GLCDtemp.bas"
Code: Select all
#option GLCD_MODEL = SSD1305
In GLCDtemp.bas I have inserted references to my SSD1305.bas so that GLCDtemp.bas knows it's there.
Code: Select all
#IF Not (GLCD_MODEL in (SSD0323, SSD0323DF,KS0108, S1D10605, S1D15G00, SED1520, S1D13700, KS0713, SSD1305))
Code: Select all
#IF GLCD_MODEL = SSD1305
Include "SSD1305.bas"
Public Dim
Pos As SSD1305.Pos,
Cls As SSD1305.Cls,
SetPixel As SSD1305.SetPixel,
WriteByte As SSD1305.WriteByte,
ReadByte As SSD1305.ReadByte,
GetPixel As SSD1305.GetPixel,
ShowLayer As SSD1305.ShowLayer,
SwitchLayer As SSD1305.SwitchLayer,
Fill As SSD1305.Fill,
SetImage As SSD1305.SetImage
#ENDIF
In my main test I have included the Font files and issue:
GLCD.SetFont(Fixed)
GLCD.WriteAt(4,2,"System Font")
for example.
Keep in mind this is new to me, but the TEXT plotting call from GLCDtemp.bas seems to be:
Writebyte(Line) in the "WriteCharacterByte" procedure (called by "WriteChar").
Is that right?
However, I wanted to check to make sure my SSD1305.bas was being used.
So , in GLCDtemp.bas I briefly changed the commands
WriteByte(Line)
to, at random,
KS0108.writebyte(Line).
it compiled OK and still did the text char with bits missing.
Eh? Surely it should have errored?
I'm doubley suspicious that my SSD1305.bas isn't being run as the OLED Initialize doesn't work and I have to do it in my main test code.
Is there some other reference to my driver file that I need to make somewhere?
How did you go Francis?
Hi Francis,
How did you go with this?
The OLED display looked wicked..
How did you go with this?
The OLED display looked wicked..