Step 1
-Please add a file myDriver.docbook,
+Please add a file myDriver.docbook,
that describes the configuration of your driver and the hard/software needed,
to the directory docs/lcdproc-user/drivers/.
diff --git a/docs/lcdproc-dev/driver-api.docbook b/docs/lcdproc-dev/driver-api.docbook
index 54fafac..f6e8c15 100644
--- a/docs/lcdproc-dev/driver-api.docbook
+++ b/docs/lcdproc-dev/driver-api.docbook
@@ -170,7 +170,7 @@ API_VERSION in the code.
// name of the driver instance (name of the config file section)
// - do not change from the driver; consider it read-only
// - to be used to access the driver's own section in the config file
- char * name;
+ char * name;
// pointer to the driver instance's private data
// - filled by the server by calling store_private_ptr()
@@ -378,7 +378,7 @@ typedef struct MyDriver_private_data {
Place a single character c into position
(x,y) in the framebuffer.
The driver should check for overflows, i.e. that the positional parameters
- are within the screen's boundaries and ignore the request if
+ are within the screen's boundaries and ignore the request if
the character is out of bounds.
diff --git a/docs/lcdproc-dev/introduction.docbook b/docs/lcdproc-dev/introduction.docbook
index f5a1937..1edce33 100644
--- a/docs/lcdproc-dev/introduction.docbook
+++ b/docs/lcdproc-dev/introduction.docbook
@@ -10,7 +10,7 @@ where to find the relevant information about LCDproc's inner workings.
-Please note that this document is still "under construction".
+Please note that this document is still "under construction".
If you run into any trouble feel free to write to the LCDproc mailing list.
See http://lcdproc.org/mail.php3
for details on how to subscribe to the list.
diff --git a/docs/lcdproc-dev/language.docbook b/docs/lcdproc-dev/language.docbook
index 718900f..73388e2 100644
--- a/docs/lcdproc-dev/language.docbook
+++ b/docs/lcdproc-dev/language.docbook
@@ -89,7 +89,7 @@
- LCDproc version
+ LCDproc version
Indicates the version number of LCDd.
@@ -97,7 +97,7 @@
- protocol version
+ protocol version
Indicates the widget language version number. This number is
@@ -107,7 +107,7 @@
- wid int
+ wid int
Tells the client the width of the attached display device in characters.
@@ -115,7 +115,7 @@
- hgt int
+ hgt int
Tells the client the height of the attached display device in characters.
@@ -123,7 +123,7 @@
- cellwid int
+ cellwid int
How many pixels is a character wide (space between character
@@ -132,7 +132,7 @@
- cellhgt int
+ cellhgt int
How many pixels is a character high (space between character
@@ -141,7 +141,7 @@
- lcd
+ lcd
This word is NOT followed by a value !
@@ -158,10 +158,10 @@
client_set-name name
-
-
+-->
+
@@ -216,7 +216,7 @@
--->
+-->
@@ -273,7 +273,7 @@
- -name name
+
Sets the screen's name as visible to a user.
@@ -281,10 +281,8 @@
- -wid int
-
-
- -hgt int
+
+
Sets the size of the screen in characters. If unset, the full display size is assumed.
@@ -292,7 +290,7 @@
- -priority pri_class
+
Sets the screen's priority.
@@ -357,7 +355,7 @@
info
- 193 - ∞
+ 193 - ∞background
@@ -378,13 +376,7 @@
- -heartbeat
-
- on
- off
- open
-
-
+
Changes the heartbeat setting for this screen.
@@ -394,16 +386,7 @@
- -backlight
-
- on
- off
- toggle
- open
- blink
- flash
-
-
+
Changes the screen's backlight setting.
@@ -415,7 +398,7 @@
- -duration value
+
A screen will be visible for this amount of time every rotation.
@@ -424,7 +407,7 @@
- -timeout value
+
After the screen has been visible for a total of this amount of time,
@@ -434,14 +417,7 @@
- -cursor
-
- on
- off
- under
- block
-
-
+
Determines the visibility of a cursor.
@@ -454,18 +430,16 @@
- -cursor_x int
-
-
- -cursor_y int
+
+
Set the cursor's x and y coordinates respectively.
If not given, the cursor will be set to
- the leftmost () resp.
+ the leftmost () resp.
topmost () position.
Coordinates are always 1-based.
- So the default top-left corner is denoted by (1,1).
+ So the default top-left corner is denoted by (1,1).
@@ -537,7 +511,7 @@
scroller
- A variation of the string type that scrolls the text
+ A variation of the string type that scrolls the text
horizontally or vertically.
@@ -652,7 +626,7 @@
iconname
- Displays the icon iconname at
+ Displays the icon iconname at
position (x,y).
@@ -696,7 +670,7 @@
speed
- Sets up a frame spanning from
+ Sets up a frame spanning from
(left,top)
to (right,bottom)
that is width columns wide and
@@ -802,7 +776,7 @@
in exclusive mode no other client can reserve them again.
Key(s) reserved in shared mode will only be returned when a screen
of the current client is active. These keys can be used for
- interaction with a visible screen (default).
+ interaction with a visible screen (default).
Key(s) reserved in exclusive mode will be returned regardless of
which screen is active. They can be used to trigger a special
feature or to make a screen come to foreground.
@@ -853,7 +827,7 @@
menu_ids are unique
(at least within a clients menu hierarchy).
-
+
menu item types
@@ -982,7 +956,7 @@
- -text string
+
The visible text of the item.
@@ -990,13 +964,7 @@
- -is_hidden
-
- false
- true
-
-
- (false)
+ (false)
If the item currently should not appear in a menu.
@@ -1004,7 +972,7 @@
- -next successor_id
+
@@ -1050,7 +1018,7 @@
- -prev predecessor_id
+
@@ -1090,14 +1058,7 @@
- -menu_result
-
- none
- close
- quit
-
-
- (none)
+ (none)
Sets what to do with the menu when this action is selected:
@@ -1117,13 +1078,7 @@
- -value
-
- off
- on
- gray
-
-
+
Set the value of the item.
@@ -1131,13 +1086,7 @@
- -allow_gray
-
- false
- true
-
-
- (false)
+ (false)
Sets if a grayed checkbox is allowed.
@@ -1154,7 +1103,7 @@
- -value int (0)
+ (0)
Sets the index in the stringlist that is currently selected.
@@ -1162,7 +1111,7 @@
- -strings string (empty)
+ (empty)
This single string should contain the strings that can be selected. They should be tab-separated (\t).
@@ -1179,7 +1128,7 @@
- -value int (0)
+ (0)
Sets its current value.
@@ -1187,10 +1136,10 @@
- -mintext string ("")
+ ("")
- -maxtext string ("")
+ ("")
The texts at the left and right side of the slider.
@@ -1198,10 +1147,10 @@
- -minvalue int (0)
+ (0)
- -maxvalue int (100)
+ (100)
The minimum and maximum values of the slider.
@@ -1209,7 +1158,7 @@
- -stepsize int (1)
+ (1)
The stepsize of the slider. If you use 0, you can control the movement completely from your client.
@@ -1226,7 +1175,7 @@
- -value int (0)
+ (0)
Sets its current value.
@@ -1234,10 +1183,10 @@
- -minvalue int (0)
+ (0)
- -maxvalue int (100)
+ (100)
The minimum and maximum values that are allowed. If one
@@ -1259,7 +1208,7 @@
- -value string ("")
+ ("")
Sets its current value.
@@ -1267,7 +1216,7 @@
- -password_char string ("")
+ ("")
If used, instead of the typed characters, this
@@ -1276,10 +1225,10 @@
- -minlength int (0)
+ (0)
- -maxlength int (10)
+ (10)
Sets the minimum and maximum allowed lengths.
@@ -1287,31 +1236,13 @@
- -allow_caps
-
- false
- true
-
-
- (true)
+ (true)
- -allow_noncaps
-
- false
- true
-
-
- (false)
+ (false)
- -allow_numbers
-
- false
- true
-
-
- (false)
+ (false)
(Dis)allow these groups of characters.
@@ -1319,7 +1250,7 @@
- -allowed_extra string ("")
+ ("")
The chars in this string are also allowed.
@@ -1336,7 +1267,7 @@
- -value string ("192.168.1.245")
+ ("192.168.1.245")
Set the value of the item,
@@ -1346,13 +1277,7 @@
- -v6
-
- false
- true
-
-
- (false)
+ (false)
Changes IP version from default v4.
@@ -1372,7 +1297,7 @@
- -parent parentid
+
(Re)sets the parent of this
menu. Parentid has to be of type menu. This
@@ -1589,7 +1514,7 @@
--->
+-->
diff --git a/docs/lcdproc-dev/lcdproc-dev.docbook b/docs/lcdproc-dev/lcdproc-dev.docbook
index 13e2227..d5cd99e 100644
--- a/docs/lcdproc-dev/lcdproc-dev.docbook
+++ b/docs/lcdproc-dev/lcdproc-dev.docbook
@@ -8,7 +8,7 @@
-
+
]>
diff --git a/docs/lcdproc-dev/make-driver.docbook b/docs/lcdproc-dev/make-driver.docbook
index 584a339..2dea2d8 100644
--- a/docs/lcdproc-dev/make-driver.docbook
+++ b/docs/lcdproc-dev/make-driver.docbook
@@ -5,11 +5,14 @@
Introduction
-LCDproc is meant to be modular, it is relatively easy to add new input and output drivers to LCDproc. Actually, there are a few things that you can do to make your life easier, they are listed here.
+LCDproc is meant to be modular, it is relatively easy to add new input and
+output drivers to LCDproc. Actually, there are a few things that you can do
+to make your life easier, they are listed here.
-This chapter will explain you the major steps and few gotchas of adding your own driver to LCDproc. Enjoy!
+This chapter will explain you the major steps and few gotchas of adding your
+own driver to LCDproc. Enjoy!
@@ -18,21 +21,34 @@ This chapter will explain you the major steps and few gotchas of adding your own
Shared files specific for drivers
-Driving an LCD display is not easy; you need to address ports, to send bytes in a certain order, to respect timing, and unfortunaly no two operating system let you do this in the same way. But don't dispair! There's hope! Someone in a galaxy far far away, has allready done the dirty job for you! This dirty job has been put in shared files. These shared files are full cross platform and are automagically configured by the configure script. You only need to include them and use their functions to benefit from them.
+Driving an LCD display is not easy; you need to address ports, to send bytes
+in a certain order, to respect timing, and unfortunaly no two operating system
+let you do this in the same way. But don't dispair! There's hope! Someone in
+a galaxy far far away, has allready done the dirty job for you! This dirty job
+has been put in shared files. These shared files are full cross platform and
+are automagically configured by the configure script. You only need to include
+them and use their functions to benefit from them.
-These files are provided only for drivers, others are provided for all of LCDproc. These files are located in the shared directory, they have a dedicated chapter in this book.
+These files are provided only for drivers, others are provided for all of
+LCDproc. These files are located in the shared directory, they have a
+dedicated chapter in this book.
port.h : Parallel port I/O
-The file port.h, located in the server/drivers/ directory provide Input/Output and port permissions for the PC compatible parallel port, also known as the LPT port.
+
+The file port.h, located in the server/drivers/ directory provide Input/Output
+and port permissions for the PC compatible parallel port, also known as the
+LPT port.
+
- Of course, these functions will only work if the computer where LCDproc runs has parallel port!r
- In these situations, the configure script will see this and disable drivers that need a parallel port.
+Of course, these functions will only work if the computer where LCDproc runs
+has parallel port! In these situations, the configure script will see this and
+disable drivers that need a parallel port.
port.h file defines 6 static inline functions for port I/O:
@@ -133,10 +149,10 @@ These files are provided only for drivers, others are provided for all of LCDpro
#include "port.h"
-/* Get access to these 3 ports:
- 0x378 (CONTROL),
- 0x379 (STATUS) and
- 0x37A (DATA)
+/* Get access to these 3 ports:
+ 0x378 (CONTROL),
+ 0x379 (STATUS) and
+ 0x37A (DATA)
*/
if ( -1 == port_access_multiple(0x378,3) ) {
/* Access denied, do something */
@@ -183,7 +199,7 @@ port_deny_multiple(0x378,3);
to determine the display's height and thus the maximal height of the
big numbers to be displayed.
-
+
@@ -193,19 +209,19 @@ port_deny_multiple(0x378,3);
to determine the number of user-defineable characters that can be
used in the generation of big numbers.
-
+ set_char()
-
+
to define a character necessary to write a big number.
Of course this is only necessary if there really are user-definieable
characters, i.e. only if get_free_chars() returns
a value greater 0.
-
+
@@ -214,9 +230,9 @@ port_deny_multiple(0x378,3);
to actually write the characters the big numbers consist of.
-
+
-
+
@@ -231,21 +247,21 @@ port_deny_multiple(0x378,3);
The custom-characters (if any) have to be at character positions
- offset+0,
- offset+1,
+ offset+0,
+ offset+1,
offset+2, ...
offset+
- get_free_chars()-1,
+ get_free_chars()-1,
offset+
- get_free_chars()-1 must be less than 32,
+ get_free_chars()-1 must be less than 32,
-
+
The library determines the correct font, depending on the display size and the number
@@ -283,7 +299,7 @@ port_deny_multiple(0x378,3);
num() function.
-
+ x
@@ -295,7 +311,7 @@ port_deny_multiple(0x378,3);
the position to the lib. The bignumlib has no influence on the placing of the characters.
-
+
num
@@ -305,26 +321,26 @@ port_deny_multiple(0x378,3);
and :) to be written.
-
+
offset
-
+
the character position where the user-defineable characters start
(usually 0).
The user-defineable characters (if any) are then expected to be at the character positions
- offset+0,
- offset+1,
+ offset+0,
+ offset+1,
offset+2, ...
offset+get_free_chars()-1
and offset+get_free_chars()-1 is required to be less than
- 32.
-
+ 32.
+
-
+
do_init
@@ -341,7 +357,7 @@ port_deny_multiple(0x378,3);
So the responsibility of checking and setting is left to the driver.
-
+