/* $Id: debug.h,v 1.10 2005/05/08 04:32:43 reinelt Exp $ * * debug messages * * Copyright (C) 1999, 2000 Michael Reinelt * Copyright (C) 2004 The LCD4Linux Team * * This file is part of LCD4Linux. * * LCD4Linux is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * LCD4Linux is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * $Log: debug.h,v $ * Revision 1.10 2005/05/08 04:32:43 reinelt * CodingStyle added and applied * * Revision 1.9 2005/01/18 06:30:22 reinelt * added (C) to all copyright statements * * Revision 1.8 2004/06/20 10:09:54 reinelt * * 'const'ified the whole source * * Revision 1.7 2004/04/12 04:55:59 reinelt * emitted a BIG FAT WARNING if msr.h could not be found (and therefore * the gettimeofday() delay loop would be used) * * Revision 1.6 2003/10/05 17:58:50 reinelt * libtool junk; copyright messages cleaned up * * Revision 1.5 2003/08/24 05:17:58 reinelt * liblcd4linux patch from Patrick Schemitz * * Revision 1.4 2001/09/12 05:37:22 reinelt * * fixed a bug in seti.c (file was never closed, lcd4linux run out of fd's * * improved socket debugging * * Revision 1.3 2001/03/14 13:19:29 ltoetsch * Added pop3/imap4 mail support * * Revision 1.2 2000/08/10 09:44:09 reinelt * * new debugging scheme: error(), info(), debug() * uses syslog if in daemon mode * * Revision 1.1 2000/04/15 11:13:54 reinelt * * added '-d' (debugging) switch * added several debugging messages * removed config entry 'Delay' for HD44780 driver * delay loop for HD44780 will be calibrated automatically * */ #ifndef _DEBUG_H_ #define _DEBUG_H_ extern int running_foreground; extern int running_background; extern int verbose_level; void message(const int level, const char *format, ...); #define debug(args...) message (2, __FILE__ ": " args) #define info(args...) message (1, args) #define error(args...) message (0, args) #endif 8ddc9a8c1fc6986c5267b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#
# $Id: README.X11,v 1.2 2000/04/03 04:46:38 reinelt Exp $
#

This is the README file for the X11 display driver for lcd4linux

The driver opens a X11 window based on the geometry specified in the
config file. This window cannot be resized. The contents of the window
will be redrawn every 'tick' msec.

The driver uses very low cpu time, and requires low bandwitdh, because 
only modified pixels are redrawn.


Configuration:

The driver needs/supports the following entries in lcd4linux.conf:

Display: must be "X11"
size: [columns]x[rows], e.g. "20x4"
font: [xrex]x[yres], at the moment only "5x8" and "6x8" supported.
pixel: [pixelsize]+[pixelgap], e.g. "5+1"
gap: [row gap]x[column gap], e.g. "3x3"
border: border width
foreground: color of an active LCD Pixel, must be #rrggbb
halfground: color of an inactive LCD Pixel, must be #rrggbb
background: backlight color, must be #rrggbb

This may look weird, but it is weird. Let's explain this a bit further:
The X11 driver tries to emulate a real LC display. A real LCD has a
size of columns*rows characters. Each character consists of xres*yres 
LCD cells. One single cell will be represented by a rectangle of
pixelsize*pixelsize pixels. If you want to, you can emulate the gap 
between this lcd cells by specifying a pixelgap greater than zero.
Sometimes there's a gap between characters, too. You can specify this 
gap (in pixels again) horizontally and vertically. Usually this gap
is the same size as a cell (which is pixelsize+pixelgap).  If you specify
either the row gap or the column gap as -1, this cell size will be used
instead.

If you use a font of 5x8, some characters may use the first and the last 
pixel. So you should specify a column gap, otherwise the caracters may 
touch. On the other hand, the 6x8 font never uses the first pixel. So you 
can omit the column gap, and will get the same text layout, but 
uninterupted bars!

After all: don't try to understand this unless you have tried it out!