int comedi_do_insn(comedi_t *it,comedi_insn *insn)
{
- comedi_insnlist il;
-
- il.insns = insn;
- il.n_insns = 1;
-
- return comedi_do_insnlist(it,&il);
+ return ioctl(it->fd,COMEDI_INSN,insn);
}
int comedi_lock(comedi_t *it,unsigned int subdevice)
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
-#include <sys/ioctl.h>
#include <errno.h>
#include <comedi.h>
#include <string.h>
#if 0
if(s->has_insn){
comedi_insn insn;
- comedi_insnlist il;
lsampl_t data;
- il.n_insns = 1;
- il.insns = &insn;
-
memset(&insn,0,sizeof(insn));
insn.insn = INSN_CONFIG;
insn.n = 1;
insn.chanspec = CR_PACK(chan,0,0);
data=io;
- return ioctl(it->fd,COMEDI_INSN,&il);
+ return comedi_do_insn(it,&insn);
}else
#endif
{
trig.chanlist=&chan;
trig.data=(sampl_t *)&data;
- return ioctl_trigger(it->fd,&trig);
+ return comedi_trigger(it,&trig);
}
}
if(s->has_insn){
comedi_insn insn;
- comedi_insnlist il;
lsampl_t data;
- il.n_insns = 1;
- il.insns = &insn;
-
memset(&insn,0,sizeof(insn));
insn.insn = INSN_READ;
insn.n = 1;
insn.subdev = subdev;
insn.chanspec = CR_PACK(chan,0,0);
- ret = ioctl(it->fd,COMEDI_INSN,&il);
+ ret = comedi_do_insn(it,&insn);
*val = data;
trig.chanlist=&chan;
trig.data=(sampl_t *)&data;
- ret=ioctl_trigger(it->fd,&trig);
+ ret=comedi_trigger(it,&trig);
if(ret>=0 && val)*val=data;
if(s->has_insn){
comedi_insn insn;
- comedi_insnlist il;
lsampl_t data;
- il.n_insns = 1;
- il.insns = &insn;
-
memset(&insn,0,sizeof(insn));
insn.insn = INSN_WRITE;
insn.n = 1;
data = val;
- return ioctl(it->fd,COMEDI_INSN,&il);
+ return comedi_do_insn(it,&insn);
}else{
comedi_trig trig;
lsampl_t data;
trig.chanlist=&chan;
trig.data=(sampl_t *)&data;
- return ioctl_trigger(it->fd,&trig);
+ return comedi_trigger(it,&trig);
}
}
data[0]=mask;
data[1]=*bits;
- ret = ioctl(it->fd,COMEDI_INSN,&insn);
+ ret = comedi_do_insn(it,&insn);
if(ret<0)return ret;