Difference between revisions of "LCD"
(→Software API) |
|||
Line 27: | Line 27: | ||
{| border="1" cellpadding="5" cellspacing="0" summary="LCD software APIs" | {| border="1" cellpadding="5" cellspacing="0" summary="LCD software APIs" | ||
|- style="background:#efefef;" | |- style="background:#efefef;" | ||
− | ! ''' Controller ''' || ''' Interface ''' || '''Driver''' || '''Library''' || '''Working?''' | + | ! ''' Built-in Controller ''' || ''' Interface ''' || '''Driver''' || '''Library''' || '''Working?''' |
|---------------- | |---------------- | ||
− | | HD44780|| // || [[GPIO_Driver]] || | + | | HD44780 || // 4 bits data || [[GPIO_Driver]] + PPDEV || LCD4Linux || style="background:#00ff55;" | Yes |
|---------------- | |---------------- | ||
− | | || | + | | KS0108 || // 8 bits data || [[GPIO_Driver]] + PPDEV || ?? || style="background:#ddff00;" | Not tested |
|---------------- | |---------------- | ||
| || || || || | | || || || || | ||
|---------------- | |---------------- | ||
− | | || | + | | None (use i.MXL one) || RGB datas + control signals || [[FrameBuffer]] || SDL / Qt / ... || style="background:#00ff55;" | Yes |
− | + | ||
− | + | ||
|---------------- | |---------------- | ||
| || || || || | | || || || || | ||
Line 49: | Line 47: | ||
User space: | User space: | ||
Use either [[LCD4linux]] or Lcdproc depending on your application | Use either [[LCD4linux]] or Lcdproc depending on your application | ||
− | |||
− | |||
Text: | Text: |
Revision as of 18:02, 7 September 2007
On this page, you will find all the informations needed to use Liquid Crystal Display (LCD) with your Armadeus board.
Contents
Hardware interface
LCDs can be divided into 2 main categories:
- "intelligent" LCD with a built-in controller
- LCD without controller
LCDs with integrated controller
- your LCD has a built-in controller with a parallel interface -> usage of i.MXL LCD pins as GPIOs and emulation of a PC parallel port to reuse existing software
- your LCD has a built-in controller with a serial interface (not tested yet):
- RS232 -> connect this serial interface to the 2nd serial port of the i.MXL. Don't forget to check signal level compatibility before !
- SPI -> connect it to SPI port n°?
LCDs without controller
These LCDs can be used with i.MXL internal LCD controller, ie direct connection between LCD & i.MXL pins. Tested LCDs are:
- Microtips 320x240 TFT (Default 256k colors TFT for Armadeus Project)
- Motorola A910 240x320 TFT
- Sharp LQ057 320x240 TFT
5v logic one:
- Tianma STN Monochrome 320x240
- Ampire/xxx STN Monochrome 240x128
Software API
Generally on Linux you would need a kernel part (=driver) and a user space part (=library) to control and use your LCD in a reusable way.
Built-in Controller | Interface | Driver | Library | Working? |
---|---|---|---|---|
HD44780 | // 4 bits data | GPIO_Driver + PPDEV | LCD4Linux | Yes |
KS0108 | // 8 bits data | GPIO_Driver + PPDEV | ?? | Not tested |
None (use i.MXL one) | RGB datas + control signals | FrameBuffer | SDL / Qt / ... | Yes |
LCDs with controller
Parallel interface
Driver: Use Linux Armadeus GPIO driver with it's PPDEV emulation User space: Use either LCD4linux or Lcdproc depending on your application
Text: - HD 44780 (tested with GpioDriver driver (+ppdev emulation) and LCD4Linux
Graphic: - KS0108 (Nico and Juju have one sample, not tested yet because LC4Linux don't support it) - ?
User space tools / library found to control // LCD
LCD4linux Cool but mainly to display system informations, not very customizable for user GUI
Lcdproc ?? (Not tested)
Other idea ??