restore README.txt that got lost when I moved the python directory

This commit is contained in:
Frank Mori Hess 2004-01-11 23:14:44 +00:00
parent 09aa989c1f
commit 711679b1e2

40
swig/python/README.txt Normal file
View file

@ -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.