diff --git a/demo/insn.c b/demo/insn.c new file mode 100644 index 0000000..bce46f3 --- /dev/null +++ b/demo/insn.c @@ -0,0 +1,64 @@ +/* + A little input demo + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +extern int verbose_flag; +extern int subdevice; +extern int range; +extern int channel; +extern int aref; +extern char *filename; + +comedi_t *device; + + +int main(int argc, char *argv[]) +{ + int ret; + comedi_insn insn; + comedi_insnlist il; + lsampl_t data; + + parse_options(argc,argv); + + device=comedi_open(filename); + if(!device){ + comedi_perror(filename); + exit(0); + } + + if(verbose_flag){ + printf("measuring device=%s subdevice=%d channel=%d range=%d analog reference=%d\n", + filename,subdevice,channel,range,aref); + } + + il.n_insns=1; + il.insns=&insn; + + insn.insn=INSN_READ; + insn.n=1; + insn.data=&data; + insn.subdev=subdevice; + insn.chanspec=CR_PACK(channel,range,aref); + + ret=ioctl(comedi_fileno(device),COMEDI_INSNLIST,&il); + //ret=comedi_data_read(device,subdevice,channel,range,aref,&data); + if(ret<0){ + comedi_perror(filename); + exit(0); + } + + printf("%d\n",data); + + return 0; +} +