From eba1b69ca09ac69949ae0d76fd7d1738c680c70a Mon Sep 17 00:00:00 2001 From: reinelt <> Date: Sun, 19 Mar 2000 08:41:28 +0000 Subject: [lcd4linux @ 2000-03-19 08:41:28 by reinelt] documentation available! README, README.MatrixOrbital, README.Drivers added Skeleton.c as a starting point for new drivers --- README.Drivers | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 README.Drivers (limited to 'README.Drivers') diff --git a/README.Drivers b/README.Drivers new file mode 100644 index 0000000..f5cccc5 --- /dev/null +++ b/README.Drivers @@ -0,0 +1,47 @@ +# +# $Id: README.Drivers,v 1.1 2000/03/19 08:41:28 reinelt Exp $ +# + +How to write new display drivers for lcd4linux + +If you plan to write a new display driver for lcd4linux, you should follow +this guidelines: + +* use Skeleton.c as a start point + +* create a new sourcefile .c and add it to the bottom of Makefile.am + +* there's no need for a .h + +* create one (or more) unique display names (your driver will be selected by + this name in the 'Display'-line of lcd4linux.conf). + +* include "display.h" in your driver, to get the DISPLAY structure and various + BAR_ definitions + +* include "cfg.h" if you need to access settings in the config file. + +* create a DISPLAY table at the bottom of your driver, and fill it with the + appropriate values. Take care that you specify the correct bar capabilities + of your display or driver! + +* edit display.c and create a reference to your DISPLAY table: + + external DISPLAY YourDriver[]; + +* extend the FAMILY table in display.c with your driver: + + FAMILY Driver[] = { + { "Skeleton", Skeleton }, + { "MatrixOrbital", MatrixOrbital }, + { "YourFamily", YourDriver }, + { "" } + }; + +* write the correspondig init(), clear(), put(), bar() and flush()-functions. + There's no need to use a framebuffer and display its contents with the flush()- + call (as in MatrixOrbital.c), you can directly write to the display in the put()- + and bar()-functions, and use an empty flush()-function. But if you have a limited + number of user-defined characters, and therefore you have to do some sort of + 'character reduction' or similar stuff, you will have to use a framebuffer and + the flush()-call. -- cgit v1.2.3