diff options
Diffstat (limited to '')
-rw-r--r-- | README.Drivers | 47 |
1 files changed, 47 insertions, 0 deletions
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 <drivername>.c and add it to the bottom of Makefile.am + +* there's no need for a <drivername>.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. |