# # $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. on>
AgeCommit message (Expand)AuthorFilesLines
2001-05-31[lcd4linux @ 2001-05-31 10:26:41 by ltoetsch]ltoetsch7-171/+1032
2001-05-27[lcd4linux @ 2001-05-27 17:32:35 by reinelt]reinelt1-47/+50
2001-05-27[lcd4linux @ 2001-05-27 07:19:28 by reinelt]reinelt4-5/+22
2001-05-26[lcd4linux @ 2001-05-26 06:51:28 by reinelt]reinelt1-0/+4
2001-05-06[lcd4linux @ 2001-05-06 10:01:27 by reinelt]reinelt1-2/+7
2001-04-27[lcd4linux @ 2001-04-27 05:04:57 by reinelt]reinelt9-125/+185
2001-03-24[lcd4linux @ 2001-03-24 09:26:25 by reinelt]reinelt1-0/+5
2001-03-24[lcd4linux @ 2001-03-24 09:04:19 by reinelt]reinelt1-0/+5
2001-03-17[lcd4linux @ 2001-03-17 11:44:10 by ltoetsch]ltoetsch1-20/+42
2001-03-17[lcd4linux @ 2001-03-17 11:11:31 by ltoetsch]ltoetsch1-2/+5
2001-03-16[lcd4linux @ 2001-03-16 16:40:17 by ltoetsch]ltoetsch12-24/+112
2001-03-16[lcd4linux @ 2001-03-16 09:28:08 by ltoetsch]ltoetsch5-11/+35
2001-03-15[lcd4linux @ 2001-03-15 15:49:22 by ltoetsch]ltoetsch3-14/+27
2001-03-15[lcd4linux @ 2001-03-15 14:25:05 by ltoetsch]ltoetsch11-125/+278
2001-03-15[lcd4linux @ 2001-03-15 11:10:53 by ltoetsch]ltoetsch1-1/+8
2001-03-15[lcd4linux @ 2001-03-15 09:47:13 by reinelt]reinelt3-16/+31
2001-03-15[lcd4linux @ 2001-03-15 09:13:22 by ltoetsch]ltoetsch1-2/+9
2001-03-14[lcd4linux @ 2001-03-14 16:47:41 by reinelt]reinelt3-41/+59
2001-03-14[lcd4linux @ 2001-03-14 15:30:53 by reinelt]reinelt1-21/+34
2001-03-14[lcd4linux @ 2001-03-14 15:14:59 by reinelt]reinelt8-152/+365
2001-03-14[lcd4linux @ 2001-03-14 13:19:29 by ltoetsch]ltoetsch16-128/+773
2001-03-13[lcd4linux @ 2001-03-13 08:34:15 by reinelt]reinelt6-29/+50
2001-03-13[lcd4linux @ 2001-03-13 08:03:41 by reinelt]reinelt3-1/+35
2001-03-13[lcd4linux @ 2001-03-13 07:53:00 by reinelt]reinelt2-13/+15
2001-03-13[lcd4linux @ 2001-03-13 07:41:22 by reinelt]reinelt3-2/+52
2001-03-12[lcd4linux @ 2001-03-12 13:44:58 by reinelt]reinelt8-58/+232
2001-03-12[lcd4linux @ 2001-03-12 12:49:24 by reinelt]reinelt2-63/+71
2001-03-12[lcd4linux @ 2001-03-12 12:39:36 by reinelt]reinelt14-448/+830
2001-03-09[lcd4linux @ 2001-03-09 16:24:30 by ltoetsch]ltoetsch2-155/+345
2001-03-09[lcd4linux @ 2001-03-09 15:04:53 by reinelt]reinelt3-103/+109
2001-03-09[lcd4linux @ 2001-03-09 14:30:01 by reinelt]reinelt1-0/+7
2001-03-09[lcd4linux @ 2001-03-09 14:24:49 by ltoetsch]ltoetsch3-7/+18
2001-03-09[lcd4linux @ 2001-03-09 13:08:11 by ltoetsch]ltoetsch12-86/+384
2001-03-09[lcd4linux @ 2001-03-09 12:14:24 by reinelt]reinelt4-21/+34
2001-03-08[lcd4linux @ 2001-03-08 15:25:38 by ltoetsch]ltoetsch9-93/+214
2001-03-08[lcd4linux @ 2001-03-08 09:02:04 by reinelt]reinelt4-133/+21
2001-03-08[lcd4linux @ 2001-03-08 08:39:54 by reinelt]reinelt2-4/+12
2001-03-07[lcd4linux @ 2001-03-07 18:10:21 by ltoetsch]ltoetsch10-110/+319
2001-03-05[lcd4linux @ 2001-03-05 18:20:21 by reinelt]reinelt2-13/+25
2001-03-04[lcd4linux @ 2001-03-04 15:01:12 by ltoetsch]ltoetsch1-3/+3
2001-03-02[lcd4linux @ 2001-03-02 20:18:12 by reinelt]reinelt3-36/+89