13 #include "comedi_test.h"
17 int comedi_internal_trigger(comedi_t *device,unsigned int subdevice,
24 #define INSN_INTTRIG ( 6 | INSN_MASK_WRITE|INSN_MASK_SPECIAL)
26 memset(&insn,0,sizeof(insn));
27 insn.subdev = subdevice;
28 insn.insn = INSN_INTTRIG;
32 return comedi_do_insn(device,&insn);
36 int test_cmd_start_inttrig(void)
40 unsigned int chanlist[1];
46 flags = comedi_get_subdevice_flags(device,subdevice);
47 if(!(flags&SDF_CMD) || flags&SDF_WRITEABLE){
48 printf("not applicable\n");
52 if(comedi_get_cmd_src_mask(device,subdevice,&cmd)<0){
53 printf(" not supported\n");
57 if(!(cmd.start_src&TRIG_INT)){
58 printf(" not supported\n");
62 if(comedi_get_cmd_generic_timed(device,subdevice,&cmd,1)<0){
63 printf(" not supported\n");
67 if(realtime)cmd.flags |= TRIG_RT;
68 cmd.chanlist = chanlist;
69 cmd.start_src = TRIG_INT;
74 chanlist[0] = CR_PACK(0,0,0);
76 ret = comedi_command(device,&cmd);
78 printf("E: comedi_command() returned %d, expecting 0\n",ret);
81 ret = comedi_internal_trigger(device,subdevice,0);
83 printf("E: comedi_internal_trigger(): %s\n",strerror(errno));
88 ret = read(comedi_fileno(device),buf,BUFSZ);
94 printf("E: read: %s\n",strerror(errno));
101 printf("read %d %d\n",ret,total);