README
changeset 0 c9b8efdb5369
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Wed Jan 16 14:01:55 2002 +0100
@@ -0,0 +1,180 @@
+README file for the Meilhaus ME8100 driver.
+
+
+1) What you should have got:
+============================
+These files should be in your directory:
+	- me8100.c		the source code of the device driver
+	- me8100.h		a header file included from me8100.c
+	- Makefile		the makefile to compile the driver
+	- me8100-driver		a shell script to load and unload the driver
+	- sysdep.h		compatibility file down to kernel 2.0
+	- pci-compat.h		compatibility file for pci stuff down to 2.0
+	- me8100_test_counter.c	test program for counters
+	- me8100_test_dio.c	test program for digital I/O
+	- me8100_test_int.c	test program for interrupts
+	- GNU_GPL		a file containing the General Public License
+	- README		this file :-)
+
+2) How to compile the driver
+===========================
+Be sure to have installed the kernel sources on your system.
+Normally you simply type
+	make
+at your command prompt. If you have got a file me8100.o 
+the make process worked. :-)
+
+
+3) How to install the driver:
+=============================
+3.1) Automatic installation
+---------------------------
+Make sure you are root and run 
+./me8100-driver start
+
+To get rid of the driver use 
+./me8100-driver stop
+
+A look at the me8100-driver shell script will give you
+closer informations about using it.
+
+3.2) Do it yourself installation
+--------------------------------
+Make sure you are root and type
+	insmod me8100.o
+A
+	lsmod
+should print the modules loaded, including me8100.
+
+You must make a node for your driver e.g.
+mknod /dev/me8100 c <major> <minor>
+
+The major number has to be unique! The standard configuration is
+to automatically choose the major number. Type 
+  cat /proc/devices | grep me8100  
+you will get a line like this:
+254 me8100 
+
+In this example 254 is your major number.
+
+Now make a node in your file system:
+mknod /dev/me8100 c <major> <minor>
+
+The major number you already know. <minor> is the board number.
+Your first board is minor=0, second board minor=1 ....
+If you have only one board and the major number given in the example
+you would type:
+(make sure you are root !)
+mknod /dev/me8100 c 254 0
+
+
+That's it! --> Enjoy
+
+
+4) How to use the driver
+========================
+4.1) Open the device
+--------------------
+If you have used the install script described in 3.1), you have four nodes
+for your me8100 board in the /dev directroy, named me8100_0 to me8100_3.
+Before you can use the board, you have to open a path to the board:
+
+int file_handle;
+
+.
+.
+
+main(void){
+
+.
+.
+
+file_handle = open("/dev/me8100_0", 0_RDWR, 0);
+
+.
+.
+
+}
+
+When the device is opend, the board is reset. This means, that the outputs are
+set to "0" and the interrupt logic is disabled.
+
+4.2) IOCTL's of the board
+------------------------
+Now the board is ready to use. In order to work with the board, you have 
+to use the ioctl systemcall. You can find the defined ioctl's in the end of
+the headerfile me8100.h.
+
+In order to use this definitions you have to include the file me8100.h in
+your program. The ioctl systemcall will look something like this:
+
+
+#include "me8100.h"
+
+unsigned short mask;
+
+.
+.
+
+main(void){
+
+.
+.
+
+ioctl(file_handle, ME8100_WRITE_MASK_A, &mask);	
+
+.
+.
+
+}
+
+
+You have to pass the address of a variable to the driver. What type is
+necessary, you can get from the definitions of the ioctl's in
+the headerfile me8100.h. Please look at the source code to get closer 
+information about the purpose of the diffrent ioctl's.
+
+4.3) Interrupt
+--------------
+In order to get information about, how to handle the interrupt 
+functionality of the driver refer to the source code of the test 
+program.
+
+
+4.3) Close the device
+---------------------
+If the work is done, you have to close the device. You have to use the
+systemcall close for this purpose:
+
+close(file_handle);
+
+When the device is closed, the board is reset.
+
+
+===============================================================================
+Because live is never as simple as this you can read on if you got any problem.
+===============================================================================
+
+The driver has been developed and tested under SuSE-Linux 7.1 kernel 2.4.0.
+If you want to know what your kernel version is, type
+	cat /proc/version
+It will not run on older Linux versions then 2.4 down to 2.0.
+It should work with newer kernels, 
+provided Linus did not change the interface for modules again.
+
+If you want to get closer informations about how to use the driver, 
+please refer to the source code of the test programs.
+
+The handbook is also a good source to get informations, about the behavior
+of the board.
+
+- Meilhaus Electronic
+
+
+
+
+ 
+
+
+
+