/* Dumps eeproms */ #include #include #include #include #include #include #include #include #include "examples.h" int read_eeprom(comedi_t *it,unsigned int **eeprom); void dump_eeprom(unsigned int *eeprom,int len); comedi_t *device; int main(int argc, char *argv[]) { int len; unsigned int *eeprom; parse_options(argc,argv); device=comedi_open(filename); if(!device){ comedi_perror(filename); exit(0); } len=read_eeprom(device,&eeprom); dump_eeprom(eeprom,len); return 0; } int read_eeprom(comedi_t *it,unsigned int **eeprom) { int subd; int n,i,ret; lsampl_t data; unsigned int *ptr; lsampl_t maxdata; subd=comedi_find_subdevice_by_type(it,COMEDI_SUBD_MEMORY,0); if(subd<0){ fprintf(stderr,"No memory subdevice\n"); return 0; } n=comedi_get_n_channels(it,subd); maxdata=comedi_get_maxdata(it,subd,0); if(maxdata!=0xff){ fprintf(stderr,"Memory subdevice has strange maxdata, aborting\n"); } ptr=malloc(sizeof(unsigned int)*n); for(i=0;i