Graphics Driver for SSD1289

  • 1
  • 2
  • Seite 1 von 2
nwrightson
Benutzer
Avatar
Geschlecht:
Herkunft: Newcastle
Alter: 64
Homepage: nweha.homeserver.c…
Beiträge: 362
Dabei seit: 08 / 2003
Betreff:

Graphics Driver for SSD1289

 · 
Gepostet: 23.11.2011 - 09:14 Uhr  ·  #1
Hi,
I'm writing a driver for the SSD1289 LCD driver using the GraphIOS.
The display I have is a 320*240 RGB LCD with a 16bit data bus and 4 control lines.
The display can be set for 65K colors or 262K colors. I will use 65K color mode.
Each pixel uses a word to store the color for that pixel. So that means 320*240*2=153,600 bytes.
From what I can read of the data sheet so far is that :
1. The address range goes from 0,0 (top left corner) to 319,239 (bottom right corner)

2. The numbering/order of the address's to get from the top left to the top right is configurable.
Refer to the below picture. You can set some registers in the LCD to select what scan direction to take. I think the top right is the correct option?

3.The driver IC has a built in auto address increment. So to write a series of pixels from the top left to the top middle, select the start address (0,0) and the final inc amount ie (0,180) then write a word representing the color for each pixel along the line.

So how does this fit in with the GraphIOS driver?

Neil

Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 25
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: Graphics Driver for SSD1289

 · 
Gepostet: 24.11.2011 - 18:05 Uhr  ·  #2
Hello Neil,

if you manage it to complete drive 320x240 with 16bit colors with an 8bit machine, congratulations! I'm sure you will get a Nobel prize 8-)

I suggest you use an "intelligent" display like these from Electronic Assembly which provide easy interfaces and powerful graphic commands. Most of them are equipped with a touch screen. Not cheap, of course. But less headaches und very fast/short developing time.

rolf
nwrightson
Benutzer
Avatar
Geschlecht:
Herkunft: Newcastle
Alter: 64
Homepage: nweha.homeserver.c…
Beiträge: 362
Dabei seit: 08 / 2003
Betreff:

Re: Graphics Driver for SSD1289

 · 
Gepostet: 24.11.2011 - 23:08 Uhr  ·  #3
Rolf,

Thanks for your support and answering my question.

I don't want 16 bit colors. 16 colors would be good enough.
Basic drawing of text, squares, circles, shading etc and touch screen buttons is all I require. Everything AVRCo currently does.

None of this seems to be an issue for MikroElectronika or other XMega examples on youtube, even showing movies.

Neil.
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 25
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: Graphics Driver for SSD1289

 · 
Gepostet: 25.11.2011 - 14:25 Uhr  ·  #4
Hello Neil,

you wrote
Zitat
I will use 65K color mode.

Sorry, I don't have any idea how to manage this.

rolf
nwrightson
Benutzer
Avatar
Geschlecht:
Herkunft: Newcastle
Alter: 64
Homepage: nweha.homeserver.c…
Beiträge: 362
Dabei seit: 08 / 2003
Betreff:

Re: Graphics Driver for SSD1289

 · 
Gepostet: 26.11.2011 - 00:27 Uhr  ·  #5
Rolf,

In the GraphIOS decode, I was looking at accepting a Byte color value and doing a look up for the correct word value that represents this in the 65K color scheme.
Ie if Byte = 2 then //Green selected
SetPixel(X,Y,($07E0); // $07E0 Word value. Write Green at X,Y Pixel location


Correct me if I'm wrong but the AVRCo LCD graphics driver creates a copy of the LCD screen in the memory of the AVR?
I want to use the existing AVRCo graphics tool library for drawing etc but "I think" I don't need to keep a copy of the LCD in the AVR's memory for refresh or what ever. 320*240*65K is to big for the AVR. Perhaps 320*240*Byte. Where the byte represents the color. Still 9600Bytes.
Am I correct?
Can I use the graphics driver functions without the local copy? Why do we need a local copy?


Neil.
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 25
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: Graphics Driver for SSD1289

 · 
Gepostet: 26.11.2011 - 20:58 Uhr  ·  #6
Hello Nei,

a local copy of the graphic frame is only necessary with those displays which are read-only.
8bits (1byte) per pixel is not possible and not implemented.
But a simple color scheme is implemented. See the Profi Driver Manual.

rolf
Avra
Schreiberling
Avatar
Geschlecht:
Herkunft: Belgrade, Serbia
Alter: 54
Homepage: rs.linkedin.com/in…
Beiträge: 653
Dabei seit: 07 / 2002
Betreff:

Re: Graphics Driver for SSD1289

 · 
Gepostet: 28.11.2011 - 18:05 Uhr  ·  #7
@Neil:
You can always have something like SetColor(NewColor) before calling AvrCo functions, and your GraphIOS can respect that color setting until you change it again. This approach lets you use existing AvrCo monochrome drawing lib functions. That is of course for smart displays with a memory. If you have fixed number of colors - like 8, then you can look at the problem quite different. You can have 3 separate monochrome planes for R, G and B, and you can change them by something like SetPlane(NewDrawingPlane). Then your GraphIOS can check which plane is active and use AvrCo drawing functions to draw proper plane (R, G or B). With this approach even if you buffer all three planes you will need just 3*9600 bytes wich fits 32KB SRAM chip perfectly.
Avra
Schreiberling
Avatar
Geschlecht:
Herkunft: Belgrade, Serbia
Alter: 54
Homepage: rs.linkedin.com/in…
Beiträge: 653
Dabei seit: 07 / 2002
Betreff:

Re: Graphics Driver for SSD1289

 · 
Gepostet: 29.11.2011 - 10:49 Uhr  ·  #8
  • 1
  • 2
  • Seite 1 von 2
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   134   148 · Page-Gen-Time: 0.034907s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI