s=dev->subdevices+0;
/* analog input subdevice */
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_DIFF|SDF_GROUND;
s->n_chan=thisboard->ai_chans;
s->maxdata=(1<<thisboard->ai_bits)-1;
s->range_table=&pci230_ai_range;
dev->read_subdev=s;
/* analog input subdevice */
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND|SDF_DIFF;
s->n_chan=16;
s->maxdata=0xffff;
s->range_table=&das16cs_ai_range;
//dev->read_subdev=s;
// analog input subdevice
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND;
s->n_chan=thisboard->ai_se_chans;
s->maxdata=(1<<thisboard->ai_bits)-1;
s->range_table=&range_unknown;
// input or output subdevice
s=dev->subdevices+0;
s->type=emul_s->type;
- s->subdev_flags = emul_s->subdev_flags;
+ s->subdev_flags = emul_s->subdev_flags; /* SDF_GROUND (to fool check_driver) */
s->n_chan=emul_s->n_chan;
s->len_chanlist=1024;
s->do_cmd=timer_cmd;
s = dev->subdevices + 0;
/* ai subdevice */
s->type = COMEDI_SUBD_AI;
- s->subdev_flags = SDF_READABLE;
+ s->subdev_flags = SDF_READABLE|SDF_GROUND;
s->n_chan = 24;
s->maxdata = 0xffff;
s->insn_read = daqboard2000_ai_insn_read;
/* ai subdevice */
s=dev->subdevices+0;
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND;
s->n_chan=8;
//s->trig[2]=das6402_ai_mode2;
s->cancel=das6402_ai_cancel;
s=dev->subdevices+0;
/* ai subdevice */
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND;
#if 1
s->n_chan=n_ai_chans;
#else
s = dev->subdevices + 0;
/* initialize the ADC subdevice */
s->type = COMEDI_SUBD_AI;
- s->subdev_flags = SDF_READABLE;
+ s->subdev_flags = SDF_READABLE|SDF_GROUND;
s->n_chan = devpriv->adc_mux == adc_diff ? 8 : 16;
s->insn_read = dt2811_ai_insn;
s->maxdata = 0xfff;
s=dev->subdevices+0;
dev->read_subdev = s;
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND;
s->n_chan=16; /* XXX */
s->len_chanlist=1;
s->insn_read = dt2814_ai_insn_read;
/* ai subdevice */
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND|SDF_DIFF;
s->n_chan=this_board->adchan;
s->insn_read=dt3k_ai_insn;
s->maxdata=(1<<this_board->adbits)-1;
/* Analog indput */
s = dev->subdevices+0;
s->type = COMEDI_SUBD_AI; /* define subdevice as Analog In */
- s->subdev_flags = SDF_READABLE; /* you can read it from userspace */
+ s->subdev_flags = SDF_READABLE|SDF_GROUND;/* you can read it from userspace */
s->n_chan = 16; /* Number of Analog input channels */
s->maxdata = 0x0fff; /* accept only 12 bits of data */
s->range_table = &range_fl512; /* device use one of the ranges */
s = dev->subdevices + 0;
/* ai subdevice */
s->type = COMEDI_SUBD_AI;
- s->subdev_flags = SDF_READABLE;
+ s->subdev_flags = SDF_READABLE|SDF_GROUND;
s->n_chan = 8;
s->insn_read = multiq3_ai_insn_read;
s->maxdata = 0x1fff;
dev->read_subdev = s;
/* ai subdevice */
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND;
s->n_chan=(devpriv->adc_mux? 16 : 8);
s->len_chanlist=16;
s->insn_read = atmio16d_ai_insn_read;
s = dev->subdevices + 0;
/* AI subdevice */
s->type = COMEDI_SUBD_AI;
- s->subdev_flags = SDF_READABLE;
+ s->subdev_flags = SDF_READABLE|SDF_GROUND;
s->n_chan = this_board->n_aichan;
s->maxdata = 0xfff;
s->len_chanlist = 1;
s=dev->subdevices+0;
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|AREF_GROUND;
s->n_chan=16; /* XXX */
s->len_chanlist=1;
s->insn_read=pcmad_ai_insn_read;
s=dev->subdevices+0;
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|AREF_GROUND|AREF_DIFF;
s->n_chan=8;
s->maxdata=0xffff;
s->range_table=&range_daqp_ai;
dev->read_subdev=s;
/* analog input subdevice */
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND|SDF_COMMON|SDF_DIFF;
s->n_chan=thisboard->aiChans;
s->maxdata=(1<<thisboard->aiBits)-1;
if (thisboard->aiMaxGain <= 32) {
s=dev->subdevices+0;
/* ai subdevice */
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ s->subdev_flags=SDF_READABLE|SDF_GROUND;
s->n_chan=(devpriv->adc_mux? 16 : 8);
s->insn_read=rti800_ai_insn_read;
s->maxdata=0xfff;
/* analog input subdevice */
s=dev->subdevices+2;
s->type = COMEDI_SUBD_AI;
- s->subdev_flags = SDF_READABLE;
+ s->subdev_flags = SDF_READABLE|SDF_GROUND;
s->n_chan = 0;
s->maxdata = 1;
s->range_table = 0;
//dev->read_subdev=s;
/* analog input subdevice */
s->type=COMEDI_SUBD_AI;
- s->subdev_flags=SDF_READABLE;
+ /* we support single-ended (ground) and differential */
+ s->subdev_flags=SDF_READABLE|SDF_GROUND|SDF_DIFF;
s->n_chan=thisboard->ai_chans;
s->maxdata=(1<<thisboard->ai_bits)-1;
s->range_table=&range_bipolar10;