If anyone has some interesting tools/uses for lcdmod I'd love to see them and include them on the webpage so drop me a line at Michael McLellan <mikey at mclellan dot org dot nz>.
lcdmod was written because there was no nice way of controlling these displays from a computer under Linux, most other software written to control these displays run in user space, and/or don't support all the features of the displays. lcdmod allows users to easily intergrate the LCD, in its simplest form, into shell scripts, C code, et cetera by simply writing ASCII to the device file. But also provides an interface to many of the more powerful features of the display and module through that same interface.
Character device driver for all HD44780 compatible displays.
Fast 8 bit mode.
Support for all screen sizes.
User definable fonts, and mapping.
proc filesystem entry shows module configuration and current display state.
Driver emulates most control characters of a vt52 terminal.
Support for multiple wiring schemes.
v1.0.2 - 09/08/04 - Fixed support for 2.6.X kernels, honest, Torsten Hilbrich for patches.
v1.0.1 - 07/07/04 - Fixed support for 2.6.X kernels, thanks Diego Fdez for patches.
v1.0.0 - 08/03/04 - Added support for 2.6.X kernels. Thanks Alexandre for patches.
v0.6.7 - 17/03/03 - Added HOWTO, thanks Marcus Berglöf.
v0.6.6 - 17/12/02 - Added backlight support, thanks Stefan Froebe for the kick up the jacksy + patches.
v0.6.5 - 12/11/02 - Fixed stupid precedence bug in writeData() which resulted in only the LCDMOD wiring scheme working, Thanks Robert Currey for patches.
Fixed bug which ment displays with 16 columns and more than 2 rows couldn't access all of the display, Thanks Anders Blockmar for patches.
v0.6.4 - 24/10/02 - Added parport_find_base() for kernels which don't have it. I think thats kernels before 2.4.0. Thanks Nick Metcalfe.
v0.6.3 - 16/08/02 - Proc file entry code re-enabled, it was accidently commented out
v0.6.2 - 19/07/02 - Added a linewrap switch. Use <esc>[V to turn line wrapping on, and <esc>[W to turn it off. Thanks Wolfgang Ocker for patches.
v0.6.1 - 08/07/02 - Fixed timing problem which caused the first character sent to the display to not always be displayed.
Various other bug fixes which I've forgotten.
v0.6.0 - 08/04/02 - Fixed EOF bug, thanks Erik Zetterberg for reporting this.
Added support to compile in different default user defined characters, and map char codes to these, thanks Erik Zetterberg for some Swedish chars and ideas.
Fixed timing problem with some displays after 'home' command, thanks Nathanial Hendler for reporting this bug.
Added support for 4x40 displays, currently only the LanPoint wiring scheme is supported, thanks HA Quoc-Viet for ideas and testing for this.
Changed code to use parport_xxx() functions for writing to the parallel port instead of outb(), the old way is still supported if you dont have parport support in your kernel.
v0.5.5 - 22/02/02 - Added support for 2 more wiring schemes. Removed the squish_rows hack, because it was actually the correct behaviour.
v0.5.4 - 08/02/02 - Fixed bug which caused the screen to scroll and clear incorrectly
when using the squish_rows option. Thanks Tom Browne for reporting this bug. Rewrote the timing code.
v0.5.3 - 03/02/02 - Fixed a few timing problems which caused problems with clearing the display. Thanks Tom Browne for reporting this bug.
v0.5.2 - 31/01/02 - Fixed spelling mistake, added support for kernels before v2.2, Thanks Michael Hofmann for reporting these bugs.
v0.5.1 - 10/12/01 - Added special case for 16x1 displays, they are treated as two 8 character lines side by side so dont automaticaly scroll past the 8th character.
v0.5 - 27/11/01 - Added support for displays which squash 4 lines into 2 lines in DDRAM, If your 4 line display only seems to display the first two lines, pass squish_rows=1 to the module, ie. insmod lcd squish_rows=1 Added facility to set you own fonts through the device file, see Notes.
v0.4 - 16/09/01 - First public release.
Michael McLellan <mikey at mclellan dot org dot nz>