Introducing the LCD-Linux project
geert at linux-m68k.org
Mon Jul 26 16:08:40 EDT 2010
On Thu, Jul 22, 2010 at 13:38, Geert Uytterhoeven <geert at linux-m68k.org> wrote:
> On Thu, Jul 22, 2010 at 13:21, Alan Cox <alan at lxorguk.ukuu.org.uk> wrote:
>> On Wed, 21 Jul 2010 14:57:54 +0200
>> Mattia Jona-Lasinio <mattia.jona at gmail.com> wrote:
>>> this is to introduce the LCD-Linux project (http://lcd-linux.sourceforge.net/),
>>> a kernel level implementation of a VT102 terminal emulator, optimized for small
>>> alphanumeric and graphic displays.
>> The kernel already has a console and that provides an abstract
>> implementation that is used for everything from text mode displays to vga
>> to assorted accelerated hardware platforms.
>> Why do we need a VT102 as well ?
>>> functions. A solution is therefore to provide a sort of minimal terminal
>>> emulation in kernel space, that can be accessed through the standard character
>>> device interface. In this way the problem of the display management is reduced
>> If you use the existing kernel console interfaces then you don't need to
>> worry about vt102 v console or having two terminal emulations running.
> Indeed, the kernel already has the console abstraction.
> I wrote a LCD console driver (for a HD44780 connected to the parallel
> port) using
> the standard console abstraction several years ago. As it used the standard
> console abstraction, it supported multiple virtual consoles and co-operated with
> the VGA text console out-of-the-box. Just use ALT-Fx to switch between different
> VCs on the LCD or on VGA.
> I never published the code, though. Will do so tonight when I get back
> to the machine that holds the code ;-)
And so I did, to prevent it from being lost for mankind:
This is a Linux console driver for a HD44780 LCD connected to a PC-style
parallel port. It supports both 4-bit and 8-bit interface mode.
The code was developed and used with a 20x4 LCD connected to the parallel port
of a standard PC and a CHRP LongTrail PowerPC box, with Linux kernel 2.2
(early development) and 2.4, from 2000 until 2004. There's no guarantee it will
work with more recent kernels.
The console driver has a comment suggesting to use a 20x4 window on an 80x25
virtual screen, but this has never been implemented.
It consists of 4 modules:
- hd44780: Mid-level HD44780 LCD driver, handling the HD44780 commands
- parlcd: Low-level HD44780 driver, defining how to talk to a HD44780 LCD
connected to a PC-style parallel port [kernel, user]
- lcdcon: Standard Linux console driver for a HD44780 LCD [kernel]
- play: Interactive test program to talk to the HD44780 or to the raw
parallel port [user]
Modules marked [kernel] are used inside the Linux kernel only.
Modules marked [user] are used with the userspace test program.
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the linux-arm-kernel