aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 6fc58d66ca70613714fc1183be5afdd86930ce55 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#
# $Id: README,v 1.3 2000/04/03 04:46:38 reinelt Exp $
#

This is the README file for lcd4linux


INTRODUCTION 

lcd4linux is a small program that reads various information from the kernel
(and probably from other subsystems, especially ISDN) and displays them on a LCD.

It supports displaying text values and different types of bars: Horizontal and
vertical bars, logarithmic bars, split bars (two independent bars in one row).


USAGE

lcd4linux -h  
print version number and a small help text, then exit

lcd4linux -l 
list available drivers

lcd4linux [-c key=val] [-f config-file] [-o output]
run lcd4linux 
use configuration from 'config-file' instead of /etc/lcd4linux.conf
write picture to 'output' (raster driver only)
overwrite entries from the config-file with '-c'


SUPPORTED DISPLAYS

* Matrox Orbital <http://www.matrixorbital.com>
	
  "LCD0821": 2 lines by  8 characters
  "LCD1621": 2 lines by 16 characters
  "LCD2021": 2 lines by 20 characters
  "LCD2041": 4 lines by 20 characters (tested)
  "LCD4021": 2 lines by 40 characters

* X11: not available now, but on top of my ToDo-List!

* other displays: lcd4linux and especially the display driver code is very modular, 
  so it should be quite easy to write a driver for any display. See README.driver
  for details. Contributors are welcome!!!


CONFIGURATION

The configuration file (default: /etc/lcd4linux.conf) has a very simple format: 
Every line consists of a key and a value, seperated by whitespace (blanks or tabs). 
Values can contain whitespace, and can be enclosed in single or double quotes.
A key must not contain whitespace. Keys are NOT case-sensitive. Order doesn't matter.
Empty lines and all text on a line after a '#' will be ignored. If you want to
use '#' in a value (think of X11-colors), you have to quote it with a backslash.

The configuration file contains information for different modules of lcd4linux: 

Global options:

  tick: time in milliseconds between bar updates
  tack: time in milliseconds between text updates (text can be updated less often than 
        bars, so you get a smooth bar display and readable text)
  tau:  time constant (in milliseconds) for damping function (not used by now)

Data-specific options:

  overload: load average threshold and bar scaling. The '%L' token (see below) displays 
            a '!' instead of a blank if the current load average exceeds this value. 
            load bars are scaled by this value (load=overload gives 100%)
  fifo: path to fifo for communication with isdnlog (not implemented)
  sensor1: path to the 1st temperature file (e.g. /proc/sys/dev/sensors/w83781d-isa-0290/temp1)
           it is important that you use the isa sensors, because the i2c sensors are very slow!
  sensor1_min: temperature where the corresponding bar starts
  sensor1_max: temperature where bar ends
  sensor[2..9], -_min, -_max: entries for the 2nd to 9th temperature sensor
 
Driver-specific options:
  
  Display: the name of a display model (see "supported displays" above)
  every driver has its own configuration options (e.g. 'Port', 'Speed', ...)
  see README.<Drivername> for details!
  
Display options:
  
  row1: Text to display in row 1
  row[2-max]: Text to display in other rows

  The text to be displayed can contain specific directives, which will be replaced 
  by the appropriate values, or will create bars:

  '\nnn` will write the ASCII-character nnn (octal)
  '%<token>' will be replaced by the value of <token>
  '%%' will write a '%'
  '%$' will write a '$'
  '$<direction><length><token>[+<token>] will create a bar with the specified direction 
   and length (in characters) with the value of <token>. If the driver supports dual bars,
   you can specify the second value with '+<token>'. 
   <direction> can be 'l' (left), 'r' (right), 'u' (up) or 'd' (down).
   If you specify the direction in upper case, a logarithmic bar will be created.
   note that the space occupied by a bar always grows from left to right or from top to
   bottom, regardless of the direction!
   
Tokens:

  'o',  operating system name ('Linux')
  'v',  operating system release ('2.0.38')
  'p',  processor ('i686')
  'r',  total amount of memory installed (MB)
  'mt', total memory from /proc/meminfo (kB)
  'mu', used memory (kB)  
  'mf', free memory (kB)
  'ms', shared memory (kB)
  'mb', buffers (kB)
  'mc', page cache (kB)  
  'ma', application memory (kB) = used - buffer - cache
  'l1', load average for the past 1 minute
  'l2', load average for the past 5 minutes
  'l3', load average for the past 15 minutes
  'L',  '!' if load > overload (from config)   
  'cu', percentage of CPU in user mode
  'cn', percentage of CPU in niced tasks
  'cs', percentage of CPU in system mode
  'cb', percentage of CPU busy (=100-idle)
  'ci', percentage of CPU idle
  'dr', disk blocks read
  'dw', disk blocks written
  'dt', disk blocks total (read+write)
  'dm', disk blocks max (read, write)
  'nr', network packets received
  'nw', network packets transmitted
  'nt', network packets total (receive+transmit)
  'nm', network packets max (receive, transmit)
  'ii', ISDN bytes received
  'io', ISDN bytes sent
  'it', ISDN bytes total (received+send)
  'im', ISDN bytes max (received, send)
  's1', T_SENSOR_1,   
  's2', T_SENSOR_2,   
  's3', T_SENSOR_3,   
  's4', T_SENSOR_4,   
  's5', T_SENSOR_5,   
  's6', T_SENSOR_6,   
  's7', T_SENSOR_7,   
  's8', T_SENSOR_8,   
  's9', T_SENSOR_9,