LCD

From ArmadeusWiki
Jump to: navigation, search

On this page, you will find all the information needed to use Liquid Crystal Display (LCD) with your Armadeus board.

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.MX 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 supported yet

LCDs without controller

These LCDs can be used with i.MX internal LCD controller, ie direct connection between LCD & i.MX pins. Tested LCDs are:

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.MX 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 Mainly used to display system information, not very customizable for user GUI