From 711679b1e2295672ab661a72e28d5a4aa1bb4914 Mon Sep 17 00:00:00 2001 From: Frank Mori Hess Date: Sun, 11 Jan 2004 23:14:44 +0000 Subject: [PATCH] restore README.txt that got lost when I moved the python directory --- swig/python/README.txt | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 swig/python/README.txt diff --git a/swig/python/README.txt b/swig/python/README.txt new file mode 100644 index 0000000..9ddd91f --- /dev/null +++ b/swig/python/README.txt @@ -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 -- 2.26.2