This makes it possible to populate `comedi_insnslist_struct` for use
with `comedi_do_insnlist`.
I also removed my earlier re-typedefs of `sampl_array` and
`lsampl_array`. I didn't understand the reason for the underlying
`TypeError` when I added them. The proper way to avoid that error is
to use the `.cast()` and `.frompointer()` methods. See
`demo/python/insn.py` (coming soon) for details.
line-lengths for 80-character wide terminals. Most of the updated text
supplied by W. Trevor King. Ian Abbott added a note that it only applies
when building the wrappers separately from Comedilib without 'make'.
Add "comedi_python.i" swig interface file which merely %includes the
"comedi.i" in the parent directory. Fix paths in "setup.py" and set it up
to run swig directly (using "comedi_python.i" as the source). Change
"_comedi.py" to "comedi.py" (but keep the underscore prefix on the .so
and .la files).
Based on a patch by W. Trevor King.
The SWIG interface file (swig/comedi.i) is out of date with respect to comedi.h
and comedilib.h. I've attempted to make it current by applying most of the
changes since 1.22 (both headers).
My ability to test is limited. The swig/ruby/demo/cmd application runs
successfully using the comedi_test device. The python extension library
compiles, but that's as far as I've taken it.
'setup.rb config' calls 'extconf.rb' in the ext directory to build the extension
Makefile. 'extconf.rb' looks for C source files in the directory when it runs,
so SWIG needs to run before 'setup.rb config'. The attached patch makes the
output of SWIG a prerequisite for ext/Makefile.
If configure attempts to build the Ruby extension on a system without a previous
installation of comedilib, compilation fails because gcc can't find comedilib.h.
The attached patch adds the distribution include directory to the gcc search
path when compiling the extension.
The attached patch updates files in comedilib/swig/ruby. lib/comedi.rb is
updated to raise Ruby exceptions as indicated by the comedilib API
documentation. README and demo/cmd are updated accordingly.