# # $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. >
AgeCommit message (Collapse)AuthorFilesLines
2011-07-27st2205-width-height-swap.patch from Hans de Goedemichael1-2/+2
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1147 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-07-27hwmon patch from Hans de Goedemichael1-0/+14
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1146 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-07-27patch to support SureElectronicsDE-LD023 from Matt Joicemichael1-3/+16
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1145 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-05-06Fixed keypad widget in GLCD2USBharbaum1-0/+7
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1144 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-02-12timer.c: fixed detection of positive clock skew (and some typos)mzuther4-10/+10
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1143 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-01-23timer.c: fixed clock skew detectionmzuther1-26/+46
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1142 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-01-23timer.c: skip intermediate timer intervalsmzuther2-16/+46
"timer_inc()" now checks how many trigger intervals have passed since a given timer has been updated. This might be due to "negative clock skew" (think of summer time) or the fact that some processing took too long (i.e. fetching of a web site). These missed trigger intervals are then skipped and the user is notified so that he may adapt his timer settings. This handling is essential, otherwise unprocessed timers might stack up and would trigger continuously while at the same time becoming notoriously late and unreliable. git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1141 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-01-05fix for a bug introduced in the DE-LD021 drivermichael1-3/+3
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1140 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-01-04indentationmichael2-3/+3
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1139 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-01-04support for Sure Electronics DE-LD021 by Natanael Olaizmichael1-10/+8
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1138 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2011-01-02driver for EFN LED modules by Tilman Glötznermichael9-21/+469
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1137 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2010-11-28commented, corrected and beautified both timer and timer group codemzuther11-197/+511
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1136 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2010-11-27finished commenting the timer codemzuther2-46/+138
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1135 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2010-11-20started commenting the timer codemzuther5-52/+170
I'm not done yet, but my system is currently very unstable, and I don't want the changes to get lost... :( git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1134 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2010-11-19Added brightness support for GLCD2USBharbaum5-28/+8014
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1133 3ae390bd-cb1e-0410-b409-cd5a39f66f1f