Add an insn_array
array_class to comedi.i
.
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.
This commit is contained in:
parent
b09e05a776
commit
1fe137aa24
1 changed files with 1 additions and 13 deletions
|
@ -64,19 +64,7 @@ static unsigned int cr_aref(unsigned int a){
|
|||
%include "comedi.h"
|
||||
%include "comedilib.h"
|
||||
|
||||
/* These typedefs work around limitations in SWIG's array_class().
|
||||
* Without them, you get errors like:
|
||||
* >>> import comedi
|
||||
* >>> cmd = comedi.comedi_cmd_struct()
|
||||
* >>> data = comedi.sampl_array(3)
|
||||
* >>> cmd.data = data
|
||||
* Traceback (most recent call last):
|
||||
* ...
|
||||
* TypeError: in method 'comedi_cmd_struct_data_set', argument 2 of type 'sampl_t *'
|
||||
*/
|
||||
typedef unsigned short sampl_array;
|
||||
typedef unsigned int lsampl_array;
|
||||
|
||||
%array_class(unsigned int, chanlist);
|
||||
%array_class(sampl_t, sampl_array);
|
||||
%array_class(lsampl_t, lsampl_array);
|
||||
%array_class(comedi_insn, insn_array);
|
||||
|
|
Loading…
Add table
Reference in a new issue