#include <stdio.h> #include <stdlib.h> #include <string.h> #include <Error.h> #include <GeoVme.h> #include <dmap.h> int main(int argc, char *argv[]) { int res; unsigned char chain,crate,slot,chan; DMAP_CHAN_EL data; if (argc!=7) { printf("Use: dmapfindqcal GeoVmeMap dmap detector module card\n"); return 1; } if (strcmp(argv[5],"QCALADC")==0) data.btype = DMAP_BTYPE_QCALADC; else if (strcmp(argv[5],"QCALTDC")==0) data.btype = DMAP_BTYPE_QCALTDC; else { printf("Error: Card nor QCALADC nor QCALTDC!\n"); return 11; } if (strcmp(argv[3],"QCALA")==0) data.data.qcal.detector = DMAP_DET_QCALA; else if (strcmp(argv[3],"QCALB")==0) data.data.qcal.detector = DMAP_DET_QCALB; else { printf("Error: Detector nor QCALA nor QCALB!\n"); return 11; } data.data.qcal.module = atoi(argv[4]); GeoVmeLoadMap(argv[1]); if (dmap_load(argv[2])!=DMAP_ERROR_OK) { printf("Error in dmap_load\n"); return 2; } res = dmap_find(data,&chain,&crate,&slot,&chan); if (res==DMAP_ERROR_EMPTY) printf("Not found!\n"); else if (res!=DMAP_ERROR_OK) printf("Error in dmap_find.\n"); else { printf("Chain: %i Crate: %i Slot: %i Chan: %i\n",chain,crate,slot,chan); } dmap_dispose(); GeoVmeUnloadMap(); return 0; }