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);