working version for eiger detector before branching to gemma

This commit is contained in:
Maliakal Dhanya
2014-12-01 17:15:31 +01:00
parent f79f8558f0
commit 28b7a73b13
4 changed files with 16 additions and 12 deletions

View File

@ -78,7 +78,7 @@ unsigned int BebInfo_GetSrcPort(struct BebInfo* bebInfo, int ten_gig) {return te
void BebInfo_Print(struct BebInfo* bebInfo){ void BebInfo_Print(struct BebInfo* bebInfo){
printf("\t%d) Beb Info.:\n",bebInfo->beb_number); printf("\t%d) Beb Info.\n",bebInfo->beb_number);
printf("\t\tSerial Add: 0x%x\n",bebInfo->serial_address); printf("\t\tSerial Add: 0x%x\n",bebInfo->serial_address);
printf("\t\tMAC 1GbE: %s\n",bebInfo->src_mac_1GbE); printf("\t\tMAC 1GbE: %s\n",bebInfo->src_mac_1GbE);
printf("\t\tIP 1GbE: %s\n",bebInfo->src_ip_1GbE); printf("\t\tIP 1GbE: %s\n",bebInfo->src_ip_1GbE);

View File

@ -14,6 +14,7 @@
#include "FebControl.h" #include "FebControl.h"
#include "Beb.h" #include "Beb.h"
#define BEB_NUM 34
enum detectorSettings thisSettings; enum detectorSettings thisSettings;
const char* dac_names[16] = {"SvP","Vtr","Vrf","Vrs","SvN","Vtgstv","Vcmp_ll","Vcmp_lr","cal","Vcmp_rl","rxb_rb","rxb_lb","Vcmp_rr","Vcp","Vcn","Vis"}; const char* dac_names[16] = {"SvP","Vtr","Vrf","Vrs","SvN","Vtgstv","Vcmp_ll","Vcmp_lr","cal","Vcmp_rl","rxb_rb","rxb_lb","Vcmp_rr","Vcp","Vcn","Vis"};
@ -477,7 +478,7 @@ enum detectorSettings setSettings(enum detectorSettings sett, int imod){
int startReceiver(int d){ int startReceiver(int d){
//if(trialMasterMode == IS_MASTER) //if(trialMasterMode == IS_MASTER)
if(!bottom) //if(!bottom)
Feb_Control_PrepareForAcquisition(); Feb_Control_PrepareForAcquisition();
return OK; return OK;
} }
@ -486,10 +487,10 @@ int startReceiver(int d){
int startStateMachine(){ int startStateMachine(){
int ret;int i=0; int ret;int i=0;
//if(trialMasterMode == IS_MASTER){ //if(trialMasterMode == IS_MASTER){
if(!bottom){ //if(!bottom){
printf("Going to start acquisition\n"); printf("Going to start acquisition\n");
Feb_Control_StartAcquisition(); Feb_Control_StartAcquisition();
} //}
//do not read status here, cannot get images then //do not read status here, cannot get images then
@ -498,7 +499,7 @@ int ret;int i=0;
ret = startReadOut(); ret = startReadOut();
////} ////}
//if(trialMasterMode == IS_MASTER){ //if(trialMasterMode == IS_MASTER){
if(!bottom){ //if(!bottom){
/* /*
if(getRunStatus() == IDLE){ if(getRunStatus() == IDLE){
@ -520,8 +521,9 @@ int ret;int i=0;
printf("*****Acquiring...\n"); printf("*****Acquiring...\n");
} //}
printf("****Returning\n"); /*else usleep(1000000);
printf("****Returning\n");*/
return ret; return ret;
} }
@ -544,7 +546,7 @@ int startReadOut(){
dst_requested[0] = 1; dst_requested[0] = 1;
while(dst_requested[on_dst]){ while(dst_requested[on_dst]){
//waits on data //waits on data
int beb_num = 24;//Feb_Control_GetModuleNumber(); int beb_num = BEB_NUM;//Feb_Control_GetModuleNumber();
if((ret_val = (!Beb_RequestNImages(beb_num,1,send_to_ten_gig,on_dst,nimages_per_request,0)|| if((ret_val = (!Beb_RequestNImages(beb_num,1,send_to_ten_gig,on_dst,nimages_per_request,0)||
!Beb_RequestNImages(beb_num,2,send_to_ten_gig,0x20|on_dst,nimages_per_request,0)))) !Beb_RequestNImages(beb_num,2,send_to_ten_gig,0x20|on_dst,nimages_per_request,0))))
@ -758,7 +760,7 @@ int configureMAC(int ipad, long long int macad, long long int detectormacadd, in
printf("dst_mac:%s\n",dst_mac); printf("dst_mac:%s\n",dst_mac);
int beb_num = 24;//Feb_Control_GetModuleNumber(); int beb_num = BEB_NUM;//Feb_Control_GetModuleNumber();
int header_number = 0; int header_number = 0;
int dst_port = udpport; int dst_port = udpport;

View File

@ -4455,7 +4455,7 @@ slsDetectorDefs::runStatus multiSlsDetector::getReceiverStatus(){
return s; return s;
} }
if (detectors[0]) s=detectors[0]->getReceiverStatus(); // if (detectors[0]) s=detectors[0]->getReceiverStatus();
for (int i=0; i<thisMultiDetector->numberOfDetectors; i++) { for (int i=0; i<thisMultiDetector->numberOfDetectors; i++) {
s1=detectors[i]->getReceiverStatus(); s1=detectors[i]->getReceiverStatus();
@ -4463,8 +4463,10 @@ slsDetectorDefs::runStatus multiSlsDetector::getReceiverStatus(){
setErrorMask(getErrorMask()|(1<<i)); setErrorMask(getErrorMask()|(1<<i));
if (s1==ERROR) if (s1==ERROR)
s=ERROR; s=ERROR;
if (s1==IDLE && s!=IDLE) //if (s1==IDLE && s!=IDLE)
s=ERROR; // s=ERROR;
if (s1!=IDLE)
s = s1;
} }
return s; return s;