2 This demo opens /dev/comedi0 and looks for an analog input
3 subdevice. If it finds one, it measures one sample on each
4 channel for each input range. The value NaN indicates that
5 the measurement was out of range.
12 #include <sys/ioctl.h>
17 extern int verbose_flag;
22 extern char *filename;
27 int main(int argc, char *argv[])
38 parse_options(argc,argv);
40 device=comedi_open(filename);
42 comedi_perror(filename);
46 subdevice=comedi_find_subdevice_by_type(device,COMEDI_SUBD_AI,0);
48 printf("no analog input subdevice found\n");
52 n_chans=comedi_get_n_channels(device,subdevice);
53 for(chan=0;chan<n_chans;chan++){
56 //n_ranges=comedi_get_n_ranges(device,subdevice,chan);
57 rangetype=comedi_get_rangetype(device,subdevice,chan);
58 n_ranges=RANGE_LENGTH(rangetype);
60 maxdata=comedi_get_maxdata(device,subdevice,chan);
61 for(range=0;range<n_ranges;range++){
62 comedi_data_read(device,subdevice,chan,range,aref,&data);
63 voltage=comedi_to_phys(data,comedi_get_range(device,subdevice,chan,range),maxdata);
64 printf("%g ",voltage);