aboutsummaryrefslogtreecommitdiffstats
path: root/README.Drivers
diff options
context:
space:
mode:
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2000-03-19 08:41:28 +0000
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2000-03-19 08:41:28 +0000
commit0774e24faa2ff2d78109f7614536746226dcaa91 (patch)
tree2232190c5c22f00a5491d272119daae75ad8c83d /README.Drivers
parent74dc0b10c7ab905c8fb7b4098774155a9b2828fd (diff)
downloadlcd4linux-0774e24faa2ff2d78109f7614536746226dcaa91.tar.gz
[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 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@14 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'README.Drivers')
-rw-r--r--README.Drivers47
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.