/*--------------------------------------------------------------- ds_register */ void ds_register() { int ix,rc=0; int rcexit=0; char command[MAXCMDL]; if(micratepresent()& 0x2) { char msg[200]=""; vspRF2TTC=0; rc= vmxopenam(&vspRF2TTC, "0xf00000", "0x100000", "A32"); sprintf(msg, "vmxopen RF2TTC rc:%d vsp:%d\n", rc, vspRF2TTC); printf(msg); if(rc!=0) { rcexit=8; }; } else { printf("RF2TTC not connected\n"); }; if(micratepresent()& 0x1) { rc= openrfrxs(); if(rc!=0) { rcexit=8; }; } else { printf("RFRXs not connected\n"); }; if(micratepresent()& 0x2) { //w32 bcm, om; //bcm= vmer32(BCmain_MAN_SELECT); om= vmer32(ORBmain_MAN_SELECT); //printf("ds_register1: 0x%x 0x%x\n", bcm, om); writeall(); //bcm= vmer32(BCmain_MAN_SELECT); om= vmer32(ORBmain_MAN_SELECT); //printf("ds_register2: 0x%x 0x%x\n", bcm, om); }; if(micratepresent()& 0x1) { int ix; printf("getRFRX way:\n"); getRFRX(vspRFRX[0], rfrx1); getRFRX(vspRFRX[1], rfrx2); freqs[0]= rfrx1[2].freq; freqs[1]= rfrx2[2].freq; freqs[2]= rfrx1[1].freq; freqs[3]= rfrx2[1].freq; printf("ref bc1 orbit1:"); for(ix=0; ix<3; ix++) { printf("%d/%f ", rfrx1[ix].ref, rfrx1[ix].freq); }; printf("\n"); printf("--- bc2 orbit2:"); for(ix=0; ix<3; ix++) { printf("%d/%f ", rfrx2[ix].ref, rfrx2[ix].freq); }; printf("\n"); } else { printf("RFRXs not connected\n"); for(ix=0; ix<=4; ix++) { freqs[ix]=0.0; }; }; if(rcexit!=0) exit(rcexit); printenvironment(); printf("DIM server:%s\n",MYNAME); dis_add_error_handler(error_handler); dis_add_exit_handler(exit_handler); //dis_add_client_exit_handler (client_exit_handler); printf("Commands:\n"); strcpy(command, MYNAME); strcat(command, "/MICLOCK_SET"); dis_add_cmnd(command,"C", MICLOCK_SETcmd, MICLOCK_SETtag); printf("%s\n", command); strcpy(command, MYNAME); strcat(command, "/CORDE_SET"); dis_add_cmnd(command,"C", CORDE_SETcmd, CORDE_SETtag); printf("%s\n", command); strcpy(command, MYNAME); strcat(command, "/DLL_RESYNC"); dis_add_cmnd(command,"C", DLL_RESYNCcmd, DLL_RESYNCtag); printf("%s\n", command); printf("\nServices:\n"); strcpy(command, MYNAME); strcat(command, "/MICLOCK"); MICLOCKid=dis_add_service(command,"C", clocknow, MAXLILE+1, MICLOCKcaba, MICLOCKtag); printf("%s\n", command); strcpy(command, MYNAME); strcat(command, "/MICLOCK_TRANSITION"); MICLOCK_TRANSITIONid=dis_add_service(command,"C", clocktransition, 2, NULL, MICLOCK_TRANSITIONtag); printf("%s\n", command); strcpy(command, MYNAME); strcat(command, "/SHIFT"); SHIFTid=dis_add_service(command,"C", shiftnow, MAXLILE+1, SHIFTcaba, SHIFTtag); printf("%s\n", command); strcpy(command, MYNAME); strcat(command, "/QPLL"); //QPLLid=dis_add_service(command,"C", qpllnow, MAXLILE+1, QPLLid=dis_add_service(command, "L", &qpllstat, sizeof(qpllstat), // QPLLcaba, QPLLtag); printf("%s\n", command); NULL, QPLLtag); printf("%s\n", command); strcpy(command, MYNAME); strcat(command, "/RFRX"); FREQSid=dis_add_service(command,"F:4", freqs, 16, FREQScaba, FREQStag); printf("%s\n", command); rc=dis_start_serving(MYNAME); printf("serving rc:%d\n", rc); printf("not Starting the thread reading BC*QPLL_STATUS regs...\n"); //dim_start_thread(qpll_thread, (void *)&TAGqpll_thread); }
/* check/configure/print FPGAs versions for all the ctp boards */ void checkCTP() { printenvironment(); readBICfile(); //readTables(); only in ctp_proxy! }