Example #1
0
/*--------------------------------------------------------------- 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);
}
Example #2
0
/* check/configure/print FPGAs versions for all the ctp boards */
void checkCTP() {
printenvironment(); 
readBICfile();
//readTables();  only in ctp_proxy!
}