# # $Id: README.Drivers,v 1.4 2001/03/09 13:08:11 ltoetsch 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. You might also have a look at Text.c * create a new sourcefile .c and add it to the bottom of Makefile.am * add an entry to configure.in * 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 LCD structure and various BAR_ definitions * include "cfg.h" if you need to access settings in the config file. * create a LCD 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: BAR_L: horizontal bars headed left BAR_R: horizontal bars headed right BAR_H2: driver supports horizontal dual-bars BAR_U: vertical bars bottom-up BAR_D: vertical bars top-down BAR_V2: driver supports vertical dual-bars * edit display.c and create a reference to your LCD table: external LCD 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(), quit() 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. hor'>author
AgeCommit message (Collapse)AuthorFilesLines
2004-06-02[lcd4linux @ 2004-06-02 10:09:22 by reinelt]reinelt4-180/+183
splash screen for HD44780 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@462 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-06-02[lcd4linux @ 2004-06-02 09:41:19 by reinelt]reinelt18-114/+211
prepared support for startup splash screen git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@461 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-06-02[lcd4linux @ 2004-06-02 05:56:25 by reinelt]reinelt1-2/+6
extended contrast range for Crystalfontz git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@460 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-06-02[lcd4linux @ 2004-06-02 05:35:55 by reinelt]reinelt1-0/+20
added i2c_sensors example to lcd4linux.conf.sample git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@459 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-06-02[lcd4linux @ 2004-06-02 05:27:59 by reinelt]reinelt26-0/+2405
added documentation tree git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@458 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-06-02[lcd4linux @ 2004-06-02 05:14:16 by reinelt]reinelt2-17/+31
fixed models listing for Beckmann+Egle driver some cosmetic changes git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@457 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-06-01[lcd4linux @ 2004-06-01 06:45:28 by reinelt]reinelt18-71/+241
some Fixme's processed documented some code git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@456 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-06-01[lcd4linux @ 2004-06-01 06:04:25 by reinelt]reinelt2-25/+25
made README.Plugins and plugin_sample up to date. git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@455 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-31[lcd4linux @ 2004-05-31 21:23:16 by reinelt]reinelt1-37/+49
some cleanups in the MatrixOrbital driver git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@454 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-31[lcd4linux @ 2004-05-31 21:05:13 by reinelt]reinelt5-77/+111
fixed lots of bugs in the Cwlinux driver do not emit EAGAIN error on the first retry made plugin_i2c_sensors a bit less 'chatty' moved init and exit functions to the bottom of plugin_pop3 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@453 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-31[lcd4linux @ 2004-05-31 16:39:05 by reinelt]reinelt11-180/+535
added NULL display driver (for debugging/profiling purposes) added backlight/contrast initialisation for matrixOrbital added Backlight initialisation for Cwlinux git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@452 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-31[lcd4linux @ 2004-05-31 06:27:34 by reinelt]reinelt1-0/+40
ChangeLog update git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@451 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-31[lcd4linux @ 2004-05-31 06:24:42 by reinelt]reinelt2-7/+29
fixed symlink security issue with the image driver git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@450 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-31[lcd4linux @ 2004-05-31 05:38:02 by reinelt]reinelt8-42/+94
fixed possible bugs with user-defined chars (clear high bits) thanks to Andy Baxter for debugging the MilfordInstruments driver! git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@449 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-31[lcd4linux @ 2004-05-31 01:31:01 by andy-b]andy-b1-10/+12
fixed bug in Milford Instruments driver which drew extra graphics chars in odd places when drawing double bars. (the display doesn't like it if you put the escape character 0xfe inside a define char sequence). git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@448 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-30[lcd4linux @ 2004-05-30 08:25:50 by reinelt]reinelt2-30/+92
Crystalfontz 631 driver finished git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@447 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-29[lcd4linux @ 2004-05-29 23:30:20 by reinelt]reinelt1-1/+9
fixed a compiler issue with drv_Image.c (thanks to Frank Stratmann) git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@446 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-29[lcd4linux @ 2004-05-29 15:53:28 by reinelt]reinelt3-9/+25
M50530: reset parport signals on exit plugin_ppp: ppp() has two parameters, not three lcd4linux.conf.sample: diskstats() corrected git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@445 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-29[lcd4linux @ 2004-05-29 01:07:56 by reinelt]reinelt2-21/+25
bug in plugin_diskstats fixed git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@444 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-29[lcd4linux @ 2004-05-29 00:27:14 by reinelt]reinelt8-11/+214
added plugin_diskstats.c git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@443 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2004-05-28[lcd4linux @ 2004-05-28 14:38:10 by reinelt]reinelt2-1/+41
Status and Changelog Update git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@442 3ae390bd-cb1e-0410-b409-cd5a39f66f1f