diff --git a/comedi_calibrate/comedi_calibrate.c b/comedi_calibrate/comedi_calibrate.c index 65361cf..e43cd72 100644 --- a/comedi_calibrate/comedi_calibrate.c +++ b/comedi_calibrate/comedi_calibrate.c @@ -125,12 +125,66 @@ typedef struct{ int new_sv_measure(new_sv_t *sv); int new_sv_init(new_sv_t *sv,comedi_t *dev,int subdev,int chan,int range,int aref); +struct board_struct{ + char *name; + void (*calibrate)(void); +}; + +void cal_ni_16e_1(void); +void cal_ni_16e_10(void); +void cal_ni_16xe_50(void); +void cal_ni_16xe_10(void); +void cal_ni_6023e(void); +void cal_ni_daqcard_ai_16xe_50(void); +void cal_ni_unknown(void); + +struct board_struct boards[]={ + { "at-mio-16e-1", cal_ni_16e_1 }, + { "at-mio-16e-2", cal_ni_16e_1 }, + { "at-mio-16e-10", cal_ni_16e_10 }, + { "at-mio-16de-10", cal_ni_unknown }, + { "at-mio-64e-3", cal_ni_16e_1 }, + { "at-mio-16xe-50", cal_ni_unknown }, + { "at-mio-16xe-10", cal_ni_unknown }, + { "at-ai-16xe-10", cal_ni_unknown }, + { "pci-mio-16xe-50", cal_ni_16xe_50 }, + { "pci-mio-16xe-10", cal_ni_16xe_10 }, + { "pxi-6030e", cal_ni_unknown }, + { "pci-mio-16e-1", cal_ni_16e_1 }, + { "pci-mio-16e-4", cal_ni_unknown }, + { "pxi-6040e", cal_ni_unknown }, + { "pci-6031e", cal_ni_unknown }, + { "pci-6032e", cal_ni_unknown }, + { "pci-6033e", cal_ni_unknown }, + { "pci-6071e", cal_ni_unknown }, + { "pci-6023e", cal_ni_6023e }, + { "pci-6024e", cal_ni_unknown }, + { "pci-6025e", cal_ni_unknown }, + { "pxi-6025e", cal_ni_unknown }, + { "pci-6034e", cal_ni_unknown }, + { "pci-6035e", cal_ni_unknown }, + { "pci-6052e", cal_ni_unknown }, + { "pci-6110e", cal_ni_unknown }, + { "pci-6111e", cal_ni_unknown }, +// { "pci-6711", cal_ni_unknown }, +// { "pci-6713", cal_ni_unknown }, + { "pxi-6071e", cal_ni_unknown }, + { "pxi-6070e", cal_ni_unknown }, + { "pxi-6052e", cal_ni_unknown }, + { "DAQCard-ai-16xe-50", cal_ni_daqcard_ai_16xe_50 }, + { "DAQCard-ai-16e-4", cal_ni_unknown }, + { "DAQCard-6062e", cal_ni_unknown }, + { "DAQCard-6024e", cal_ni_unknown }, +}; +#define n_boards (sizeof(boards)/sizeof(boards[0])) + int main(int argc, char *argv[]) { char *fn = NULL; int c; char *drivername; - + char *devicename; + int i; fn = "/dev/comedi0"; while (1) { @@ -165,13 +219,16 @@ int main(int argc, char *argv[]) eeprom_subdev=comedi_find_subdevice_by_type(dev,COMEDI_SUBD_MEMORY,0); drivername=comedi_get_driver_name(dev); + devicename=comedi_get_board_name(dev); - if( !strcmp(drivername,"atmio-E") - || !strcmp(drivername,"ni_atmio") - || !strcmp(drivername,"pcimio-E") - || !strcmp(drivername,"ni_pcimio") - || !strcmp(drivername,"ni_mio_cs")) - cal_ni_mio_E(); + for(i=0;i\n"); @@ -573,42 +635,6 @@ void cal_ni_mio_E(void) printf("channel dependence 5 range 0\n"); channel_dependence(5,0); - } -#if 0 - { - int n_ranges; - - printf("please send this output to \n"); - printf("%s\n",comedi_get_board_name(dev)); - - n_ranges=comedi_get_n_ranges(dev,ad_subdev,0); - - comedi_data_write(dev,1,0,0,0,2048); - /* ao0 offset */ - printf("channel dependence ao0=0 range 0\n"); - channel_dependence(2,0); - - comedi_data_write(dev,1,0,0,0,3072); - /* ao gain */ - printf("channel dependence ao0=5V range 0\n"); - channel_dependence(6,0); - - comedi_data_write(dev,1,0,0,0,2048); - - comedi_data_write(dev,1,1,0,0,2048); - /* ao0 offset */ - printf("channel dependence ao1=0 range 0\n"); - channel_dependence(3,0); - - comedi_data_write(dev,1,1,0,0,3072); - /* ao gain */ - printf("channel dependence ao1=5V range 0\n"); - channel_dependence(7,0); - comedi_data_write(dev,1,1,0,0,2048); - - } -#endif - }