restore README.txt that got lost when I moved the python directory
authorFrank Mori Hess <fmhess@speakeasy.net>
Sun, 11 Jan 2004 23:14:44 +0000 (23:14 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Sun, 11 Jan 2004 23:14:44 +0000 (23:14 +0000)
swig/python/README.txt [new file with mode: 0644]

diff --git a/swig/python/README.txt b/swig/python/README.txt
new file mode 100644 (file)
index 0000000..9ddd91f
--- /dev/null
@@ -0,0 +1,40 @@
+** General info on the swig-generated wrappers for Comedilib **
+
+1) Regenerating the wrappers
+       The wrapper were made using swig-1.3.19. Any of the swig-1.3.x seris should work
+       N.B. the default swig on redhat systems is version 1.1. Upgrade to v-1.3.19. It's better!
+       
+       run $> swig -python comedi.i
+       
+2) Building the module
+       i) edit the setup.py file so that the include and lib paths are correct for your system
+       ii) run $>      python setup.py build
+       
+3) Installing the module
+       i) Manual installation I'm afraid. Copy comedi.py and _comedi.pyd files to somewhere in your PYTHONPATH
+       
+4) Using the module
+       All the comedilib functions are translated directly to python function. The various comedi structs
+       are now available as python classes (e.g. comedi_cmd_struct). The members of each struct are now
+       attributes of the class and can be set and retrieved in the usual way. Comedilib Functions which 
+       take a pointer to a comedilib struct as an argument (in C) now, in python, accept the appropriate 
+       struct python object.
+       
+       For a multichannel acquisition, a C-array containing the channel list, gains and referencing is
+       required. This can be created using a swig-generated helper class: chanlist(n). This creates a C-array
+       of length n and type Unsigned Int. Individual members of the array can be accessed/set using 
+       pythons indexing syntax:
+               mylist = chanlist(3)   #creates a chanlist array of length 3
+               mylist[0] = 100 #set some values
+               mylist[1] = 200
+               mylist[2] = 300
+               
+       The chanlist object can then be passed to a comedi_cmd_struct object, for example. N.B. The
+       chanlist object contains *no* length-checking or other error protection so use with care! Don't
+       try to get/set indexes outside the array bounds.
+       
+       All the comedilib macros (e.g. CR_PACK) are now available as python functions.
+       
+       check out the example test_comedi.py to clarify the above.
+       
+       
\ No newline at end of file