mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
Merge branch 'release' into jungfrauv1.0
This commit is contained in:
commit
6cc22a350d
@ -1,4 +1,4 @@
|
||||
This subversion repository contains
|
||||
This subversion repository contains
|
||||
|
||||
Common directories
|
||||
Please inform Anna, Beat and Ian if you make modifications to these directories
|
||||
@ -18,4 +18,4 @@ Please inform Beat and Ian if you make modifications to these directories
|
||||
- eigerDetector : eiger specific funcs (mainly files I/O and ..)
|
||||
- eigerDetectorServer : eiger server
|
||||
|
||||
make doc
|
||||
make doc
|
||||
|
Binary file not shown.
@ -51,9 +51,24 @@ unsigned int nimages_per_request=1;
|
||||
int on_dst=0;
|
||||
int dst_requested[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
|
||||
|
||||
//char Module_dac_names[16][10]= {"SvP","Vtr","Vrf","Vrs","SvN","Vtgstv","Vcmp_ll","Vcmp_lr","cal","Vcmp_rl","rxb_rb","rxb_lb","Vcmp_rr","Vcp","Vcn","Vis"};;
|
||||
|
||||
int default_dac_values[16] = {0,2480,3300,1400,4000,2556,1000,1000,4000,1000,1000,1000,1000,200,2000,1550};
|
||||
int default_dac_values[16] = {
|
||||
0, //SvP
|
||||
2480, //Vtr
|
||||
3300, //Vrf
|
||||
1400, //Vrs
|
||||
4000, //SvN
|
||||
2556, //Vtgstv
|
||||
1000, //Vcmp_ll
|
||||
1000, //Vcmp_lr
|
||||
4000, //cal
|
||||
1000, //Vcmp_rl
|
||||
1100, //rxb_rb
|
||||
1100, //rxb_lb
|
||||
1000, //Vcmp_rr
|
||||
200, //Vcp
|
||||
2000, //Vcn
|
||||
1550 //Vis
|
||||
};
|
||||
int default_gain_values[3] = {517000,517000,517000};
|
||||
int default_offset_values[3] = {3851000,3851000,3851000};
|
||||
|
||||
@ -145,7 +160,7 @@ int initDetector(){
|
||||
setReadOutFlags(NONPARALLEL);
|
||||
setSpeed(0,1);//clk_devider,half speed
|
||||
setHighVolage(0,0);
|
||||
setIODelay(675,0);
|
||||
setIODelay(650,0);
|
||||
setTiming(AUTO_TIMING);
|
||||
//SetPhotonEnergyCalibrationParameters(-5.8381e-5,1.838515,5.09948e-7,-4.32390e-11,1.32527e-15);
|
||||
//SetRateCorrection(0); //deactivate rate correction
|
||||
@ -279,6 +294,9 @@ u_int64_t getDetectorMAC() {
|
||||
pch = strtok (NULL, ":");
|
||||
}
|
||||
sscanf(mac,"%llx",&res);
|
||||
//increment by 1 for 10g
|
||||
if(send_to_ten_gig)
|
||||
res++;
|
||||
//printf("mac:%llx\n",res);
|
||||
|
||||
return res;
|
||||
@ -911,15 +929,15 @@ int executeTrimming(enum trimMode mode, int par1, int par2, int imod){
|
||||
|
||||
|
||||
int configureMAC(int ipad, long long int macad, long long int detectormacadd, int detipad, int udpport, int udpport2, int ival){
|
||||
if (detectormacadd != getDetectorMAC()){
|
||||
printf("*************************************************\n");
|
||||
printf("WARNING: actual detector mac address %llx does not match the one from client %llx\n",getDetectorMAC(),detectormacadd);
|
||||
detectormacadd = getDetectorMAC();
|
||||
printf("WARNING: Matched detectormac to the hardware mac now\n");
|
||||
printf("*************************************************\n");
|
||||
}
|
||||
//only for 1Gbe
|
||||
if(!send_to_ten_gig){
|
||||
if (detectormacadd != getDetectorMAC()){
|
||||
printf("*************************************************\n");
|
||||
printf("WARNING: actual detector mac address %llx does not match the one from client %llx\n",getDetectorMAC(),detectormacadd);
|
||||
detectormacadd = getDetectorMAC();
|
||||
printf("WARNING: Matched detectormac to the hardware mac now\n");
|
||||
printf("*************************************************\n");
|
||||
}
|
||||
if (detipad != getDetectorIP()){
|
||||
printf("*************************************************\n");
|
||||
printf("WARNING: actual detector ip address %x does not match the one from client %x\n",getDetectorIP(),detipad);
|
||||
|
@ -234,7 +234,11 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef
|
||||
\returns total number of channels
|
||||
*/
|
||||
virtual int getTotalNumberOfChannels()=0;
|
||||
|
||||
|
||||
/**
|
||||
\returns total number of channels for each dimension
|
||||
*/
|
||||
virtual int getTotalNumberOfChannels(dimension d)=0;
|
||||
|
||||
/** generates file name without extension */
|
||||
virtual string createFileName()=0;
|
||||
|
@ -1113,7 +1113,7 @@ string slsDetectorCommand::helpLine(int narg, char *args[], int action) {
|
||||
if (narg==0) {
|
||||
os << "Command can be: " << endl;
|
||||
for(int i=0; i<numberOfCommands; ++i) {
|
||||
os << descrToFuncMap[i].m_pFuncName << "\t" ;
|
||||
os << descrToFuncMap[i].m_pFuncName << "\n" ;
|
||||
}
|
||||
os << endl;
|
||||
return os.str();
|
||||
|
@ -110,22 +110,24 @@ int slsDetectorUsers::getPositions(double *pos){
|
||||
}
|
||||
|
||||
int slsDetectorUsers::setDetectorSize(int x0, int y0, int nx, int ny){
|
||||
if(myDetector->getTotalNumberOfChannels(slsDetectorDefs::Y)>1)
|
||||
return 1;
|
||||
int nmod=nx/(myDetector->getChansPerMod(0));
|
||||
cout << myDetector->getChansPerMod(0) << " " << nx << " " << nmod << endl;
|
||||
return myDetector->setNumberOfModules(nmod)*myDetector->getChansPerMod(0);}
|
||||
|
||||
int slsDetectorUsers::getDetectorSize(int &x0, int &y0, int &nx, int &ny){
|
||||
y0=0;
|
||||
ny=1;
|
||||
x0=0;
|
||||
nx=myDetector->setNumberOfModules()*myDetector->getChansPerMod(0);
|
||||
return nx;
|
||||
nx=myDetector->getTotalNumberOfChannels(slsDetectorDefs::X);
|
||||
ny=myDetector->getTotalNumberOfChannels(slsDetectorDefs::Y);
|
||||
return nx*ny;
|
||||
}
|
||||
|
||||
int slsDetectorUsers::getMaximumDetectorSize(int &nx, int &ny){
|
||||
ny=1;
|
||||
nx=myDetector->getMaxNumberOfModules()*myDetector->getChansPerMod(0);
|
||||
return nx;
|
||||
nx=myDetector->getMaxNumberOfChannelsPerDetector(slsDetectorDefs::X);
|
||||
ny=myDetector->getMaxNumberOfChannelsPerDetector(slsDetectorDefs::Y);
|
||||
return nx*ny;
|
||||
}
|
||||
|
||||
int slsDetectorUsers::setBitDepth(int i){
|
||||
|
@ -155,10 +155,6 @@ int slsDetectorUtils::acquire(int delflag){
|
||||
*stoppedFlag=1;
|
||||
}
|
||||
|
||||
//resets frames caught in receiver
|
||||
resetFramesCaught();
|
||||
|
||||
|
||||
if(setReceiverOnline()==OFFLINE_FLAG)
|
||||
*stoppedFlag=1;
|
||||
}
|
||||
@ -181,6 +177,11 @@ int slsDetectorUtils::acquire(int delflag){
|
||||
cout << " starting measurement "<< im << " of " << nm << endl;
|
||||
#endif
|
||||
|
||||
//resets frames caught in receiver
|
||||
if(receiver){
|
||||
resetFramesCaught();
|
||||
}
|
||||
|
||||
//cout << "data thread started " << endl;
|
||||
|
||||
|
||||
|
@ -421,6 +421,7 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing {
|
||||
virtual int* startAndReadAll()=0;
|
||||
|
||||
virtual int getTotalNumberOfChannels()=0;
|
||||
virtual int getTotalNumberOfChannels(dimension d)=0;
|
||||
virtual int getMaxNumberOfChannels()=0;
|
||||
virtual int getMaxNumberOfChannels(dimension d)=0;
|
||||
|
||||
|
@ -137,7 +137,7 @@ void postProcessing::processFrame(int *myData, int delflag, int jctb) {
|
||||
|
||||
// cout << "callback arg "<< getCurrentProgress()<< " " << (fname+string(".raw")).c_str() << " " << getTotalNumberOfChannels() << endl;
|
||||
// cout << "DATAREADY 1" <<endl;
|
||||
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),(fname+string(".raw")).c_str(),getTotalNumberOfChannels());
|
||||
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),(fname+string(".raw")).c_str(),getTotalNumberOfChannels()); //only 1d detectors
|
||||
dataReady(thisData, currentFrameIndex, -1, pCallbackArg);
|
||||
delete thisData;
|
||||
fdata=NULL;
|
||||
@ -280,7 +280,7 @@ data queue size unlock
|
||||
if (dataReady) {
|
||||
// cout << "callback arg "<< getCurrentProgress()<< " " << (fname+ext).c_str() << " " << np << endl;
|
||||
//cout << "ADATREADY 2 " << endl;
|
||||
thisData=new detectorData(val,err,ang,getCurrentProgress(),(fname+ext).c_str(),np);
|
||||
thisData=new detectorData(val,err,ang,getCurrentProgress(),(fname+ext).c_str(),np);//only 1d detectors
|
||||
dataReady(thisData, currentFrameIndex, -1, pCallbackArg);
|
||||
delete thisData;
|
||||
ang=NULL;
|
||||
@ -493,7 +493,8 @@ void* postProcessing::processData(int delflag) {
|
||||
int currentSubFrameIndex = -1;
|
||||
bool newData = false;
|
||||
int nthframe = setReadReceiverFrequency(0);
|
||||
|
||||
int nx =getTotalNumberOfChannels(slsDetectorDefs::X);
|
||||
int ny =getTotalNumberOfChannels(slsDetectorDefs::Y);
|
||||
|
||||
#ifdef VERBOSE
|
||||
std::cout << "receiver read freq:" << nthframe << std::endl;
|
||||
@ -640,7 +641,7 @@ void* postProcessing::processData(int delflag) {
|
||||
delete [] receiverData;
|
||||
if ((fdata) && (dataReady)){
|
||||
// cout << "DATAREADY 3" << endl;
|
||||
thisData = new detectorData(fdata,NULL,NULL,getCurrentProgress(),currentfName,getTotalNumberOfChannels());
|
||||
thisData = new detectorData(fdata,NULL,NULL,getCurrentProgress(),currentfName,nx,ny);
|
||||
dataReady(thisData, currentFrameIndex, currentSubFrameIndex, pCallbackArg);
|
||||
delete thisData;
|
||||
fdata = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user