# # $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. tion>
AgeCommit message (Expand)AuthorFilesLines
2000-10-08[lcd4linux @ 2000-10-08 09:16:40 by reinelt]reinelt1-51/+84
2000-08-10[lcd4linux @ 2000-08-10 18:42:20 by reinelt]reinelt5-22/+114
2000-08-10[lcd4linux @ 2000-08-10 09:44:09 by reinelt]reinelt21-1068/+1162
2000-08-09[lcd4linux @ 2000-08-09 14:14:11 by reinelt]reinelt2-11/+41
2000-08-09[lcd4linux @ 2000-08-09 11:03:07 by reinelt]reinelt1-13/+28
2000-08-09[lcd4linux @ 2000-08-09 09:50:29 by reinelt]reinelt13-127/+204
2000-07-31[lcd4linux @ 2000-07-31 10:43:44 by reinelt]reinelt8-91/+235
2000-07-31[lcd4linux @ 2000-07-31 06:46:35 by reinelt]reinelt4-5/+15
2000-06-04[lcd4linux @ 2000-06-04 21:43:50 by herp]herp1-2/+9
2000-05-21[lcd4linux @ 2000-05-21 06:20:35 by reinelt]reinelt7-35/+148
2000-05-03[lcd4linux @ 2000-05-03 17:14:51 by herp]herp1-1/+1
2000-05-03[lcd4linux @ 2000-05-03 09:37:32 by herp]herp3-0/+658
2000-05-02[lcd4linux @ 2000-05-02 23:07:48 by herp]herp4-15/+24
2000-05-02[lcd4linux @ 2000-05-02 06:05:00 by reinelt]reinelt5-7/+312
2000-04-30[lcd4linux @ 2000-04-30 06:40:42 by reinelt]reinelt2-17/+37
2000-04-28[lcd4linux @ 2000-04-28 05:19:55 by reinelt]reinelt5-12/+554
2000-04-20[lcd4linux @ 2000-04-20 05:48:42 by reinelt]reinelt2-0/+18
2000-04-19[lcd4linux @ 2000-04-19 04:44:20 by reinelt]reinelt1-2/+2
2000-04-17[lcd4linux @ 2000-04-17 05:14:27 by reinelt]reinelt3-5/+119
2000-04-15[lcd4linux @ 2000-04-15 16:56:52 by reinelt]reinelt7-58/+197
2000-04-15[lcd4linux @ 2000-04-15 11:56:35 by reinelt]reinelt4-10/+60
2000-04-15[lcd4linux @ 2000-04-15 11:13:54 by reinelt]reinelt10-28/+144
2000-04-13[lcd4linux @ 2000-04-13 06:09:52 by reinelt]reinelt5-54/+126
2000-04-12[lcd4linux @ 2000-04-12 08:05:45 by reinelt]reinelt6-24/+535
2000-04-10[lcd4linux @ 2000-04-10 04:40:53 by reinelt]reinelt5-31/+65
2000-04-07[lcd4linux @ 2000-04-07 05:42:20 by reinelt]reinelt6-17/+266
2000-04-05[lcd4linux @ 2000-04-05 05:58:36 by reinelt]reinelt4-17/+65