mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 23:10:02 +02:00
Merge branch 'developer' into jungfrauchange
This commit is contained in:
commit
5cc17a77c7
@ -1679,7 +1679,10 @@ int Feb_Control_PrintCorrectedValues(){
|
||||
|
||||
int Feb_Control_GetLeftFPGATemp(){
|
||||
unsigned int temperature=0;
|
||||
Feb_Interface_ReadRegister(Module_GetTopLeftAddress (&modules[1]),FEB_REG_STATUS, &temperature);
|
||||
if(Module_TopAddressIsValid(&modules[1]))
|
||||
Feb_Interface_ReadRegister(Module_GetTopLeftAddress (&modules[1]),FEB_REG_STATUS, &temperature);
|
||||
else
|
||||
Feb_Interface_ReadRegister(Module_GetBottomLeftAddress (&modules[1]),FEB_REG_STATUS, &temperature);
|
||||
temperature = temperature >> 16;
|
||||
//division done in client to send int over network
|
||||
return (int)temperature;
|
||||
@ -1687,7 +1690,10 @@ int Feb_Control_GetLeftFPGATemp(){
|
||||
|
||||
int Feb_Control_GetRightFPGATemp(){
|
||||
unsigned int temperature=0;
|
||||
Feb_Interface_ReadRegister(Module_GetTopRightAddress (&modules[1]),FEB_REG_STATUS, &temperature);
|
||||
if(Module_TopAddressIsValid(&modules[1]))
|
||||
Feb_Interface_ReadRegister(Module_GetTopRightAddress (&modules[1]),FEB_REG_STATUS, &temperature);
|
||||
else
|
||||
Feb_Interface_ReadRegister(Module_GetBottomRightAddress (&modules[1]),FEB_REG_STATUS, &temperature);
|
||||
temperature = temperature >> 16;
|
||||
//division done in client to send int over network
|
||||
return (int)temperature;
|
||||
|
Binary file not shown.
BIN
slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.2.0.14.1
Executable file
BIN
slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.2.0.14.1
Executable file
Binary file not shown.
BIN
slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.2.0.16.0
Executable file
BIN
slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.2.0.16.0
Executable file
Binary file not shown.
BIN
slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.2.0.16.1
Executable file
BIN
slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.2.0.16.1
Executable file
Binary file not shown.
@ -858,25 +858,22 @@ enum runStatus getRunStatus(){
|
||||
|
||||
|
||||
|
||||
char *readFrame(int *ret, char *mess){
|
||||
//if(master){
|
||||
if(!Feb_Control_WaitForFinishedFlag(5000))
|
||||
cprintf(RED,"Error: Waiting for finished flag\n");
|
||||
cprintf(GREEN,"Acquisition finished***\n");
|
||||
void readFrame(int *ret, char *mess){
|
||||
if(!Feb_Control_WaitForFinishedFlag(5000))
|
||||
cprintf(RED,"Error: Waiting for finished flag\n");
|
||||
cprintf(GREEN,"Acquisition finished***\n");
|
||||
|
||||
if(eiger_storeinmem){
|
||||
printf("requesting images after storing in memory\n");
|
||||
if(startReadOut() == FAIL){
|
||||
cprintf(RED, "Could not read out images\n");
|
||||
*ret = (int)FAIL;
|
||||
return NULL;
|
||||
}
|
||||
if(eiger_storeinmem){
|
||||
printf("requesting images after storing in memory\n");
|
||||
if(startReadOut() == FAIL){
|
||||
strcpy(mess,"Could not execute read image requests\n");
|
||||
*ret = (int)FAIL;
|
||||
return;
|
||||
}
|
||||
//usleep(1000000);
|
||||
printf("*****Done Waiting...\n");
|
||||
//}
|
||||
*ret = (int)FINISHED;
|
||||
return NULL;
|
||||
}
|
||||
printf("*****Done Waiting...\n");
|
||||
*ret = (int)FINISHED;
|
||||
strcpy(mess,"acquisition successfully finished\n");
|
||||
}
|
||||
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
#define FEB_PORT 43210
|
||||
#define BEB_PORT 43212
|
||||
|
||||
#define REQUIRED_FIRMWARE_VERSION 14
|
||||
#define REQUIRED_FIRMWARE_VERSION 16
|
||||
|
||||
#define FIRMWAREREV 0xcaba //temporary should be in firmware
|
||||
|
||||
|
@ -1759,7 +1759,7 @@ int64_t multiSlsDetector::setTimer(timerIndex index, int64_t t){
|
||||
if (ret1==-100)
|
||||
ret1=ret;
|
||||
else if (ret!=ret1)
|
||||
ret1=FAIL;
|
||||
ret1=-1;
|
||||
|
||||
}
|
||||
}
|
||||
@ -4279,7 +4279,7 @@ int multiSlsDetector::readConfigurationFile(string const fname){
|
||||
multiSlsDetectorClient *cmd;
|
||||
// char ext[100];
|
||||
|
||||
|
||||
setAcquiringFlag(false);
|
||||
|
||||
string ans;
|
||||
string str;
|
||||
@ -5167,7 +5167,7 @@ void multiSlsDetector::startReceivingDataThread(){
|
||||
//end of socket ("end")
|
||||
if (len < 1024*256 ) {
|
||||
if(len == 3){
|
||||
//cprintf(RED,"Received end of acquisition for socket %d\n", ithread);
|
||||
//cprintf(RED,"%d Received end of acquisition\n", ithread);
|
||||
singleframe[ithread] = NULL;
|
||||
//break;
|
||||
}else{
|
||||
@ -5253,10 +5253,9 @@ void multiSlsDetector::readFrameFromReceiver(){
|
||||
dataThreadMask|=(1<<i);
|
||||
|
||||
|
||||
|
||||
//construct complete image and send to callback
|
||||
while(true){
|
||||
memset(((char*)multiframe),0xFF,slsdatabytes*thisMultiDetector->numberOfDetectors); //reset frame memory
|
||||
//memset(((char*)multiframe),0xFF,slsdatabytes*thisMultiDetector->numberOfDetectors); //reset frame memory
|
||||
|
||||
//post all of them to start
|
||||
for(int ireadout=0; ireadout<numReadouts; ++ireadout){
|
||||
@ -5329,7 +5328,7 @@ void multiSlsDetector::readFrameFromReceiver(){
|
||||
dataReady(thisData, currentFrameIndex, currentSubFrameIndex, pCallbackArg);//should be fnum and subfnum from json header
|
||||
delete thisData;
|
||||
fdata = NULL;
|
||||
//cout<<"Send frame #"<< currentFrameIndex << " to gui"<<endl;
|
||||
cout<<"Send frame #"<< currentFrameIndex << " to gui"<<endl;
|
||||
}
|
||||
setCurrentProgress(currentAcquisitionIndex+1);
|
||||
}
|
||||
|
@ -1739,7 +1739,7 @@ int slsDetector::setNumberOfModules(int n, dimension d){
|
||||
|
||||
|
||||
int dr=thisDetector->dynamicRange;
|
||||
if (dr==24)
|
||||
if ((thisDetector->myDetectorType==MYTHEN) && (dr==24))
|
||||
dr=32;
|
||||
|
||||
thisDetector->dataBytes=thisDetector->nMod[X]*thisDetector->nMod[Y]*thisDetector->nChips*thisDetector->nChans*dr/8;
|
||||
@ -4539,7 +4539,7 @@ int slsDetector::setDynamicRange(int n){
|
||||
#ifdef VERBOSE
|
||||
std::cout<< "Setting dynamic range to "<< n << std::endl;
|
||||
#endif
|
||||
if (n==24)
|
||||
if ((thisDetector->myDetectorType == MYTHEN) &&(n==24))
|
||||
n=32;
|
||||
|
||||
|
||||
|
@ -448,7 +448,6 @@ int slsDetectorUtils::acquire(int delflag){
|
||||
setFileIndex(fileIO::getFileIndex());
|
||||
pthread_mutex_unlock(&mg);
|
||||
|
||||
|
||||
if (measurement_finished){
|
||||
pthread_mutex_lock(&mg);
|
||||
measurement_finished(im,*fileIndex,measFinished_p);
|
||||
|
@ -497,6 +497,9 @@ void* postProcessing::processData(int delflag) {
|
||||
cout<<flush;
|
||||
usleep(20000); //20ms need this else connecting error to receiver (too fast)
|
||||
|
||||
if (checkJoinThread()){
|
||||
break;
|
||||
}
|
||||
//get progress
|
||||
if(setReceiverOnline() == ONLINE_FLAG){
|
||||
pthread_mutex_lock(&mg);
|
||||
|
@ -92,7 +92,7 @@ int startStateMachine();
|
||||
int stopStateMachine();
|
||||
int startReadOut();
|
||||
enum runStatus getRunStatus();
|
||||
char *readFrame(int *ret, char *mess);
|
||||
void readFrame(int *ret, char *mess);
|
||||
|
||||
|
||||
int64_t setTimer(enum timerIndex ind, int64_t val);
|
||||
|
@ -36,7 +36,6 @@ extern enum detectorSettings thisSettings;
|
||||
|
||||
//global variables for optimized readout
|
||||
char mess[MAX_STR_LENGTH];
|
||||
char *dataretval=NULL;
|
||||
int dataret;
|
||||
//extern
|
||||
int dataBytes = 10;
|
||||
@ -2527,9 +2526,8 @@ int start_and_read_all(int file_des) {
|
||||
|
||||
|
||||
int read_frame(int file_des) {
|
||||
|
||||
dataret=OK;
|
||||
int dataret1;
|
||||
|
||||
if (differentClients==1 && lockStatus==1) {
|
||||
dataret=FAIL;
|
||||
sprintf(mess,"Detector locked by %s\n",lastClientIP);
|
||||
@ -2538,25 +2536,28 @@ int read_frame(int file_des) {
|
||||
dataret1 = dataret;
|
||||
sendData(file_des,&dataret1,sizeof(dataret1),INT32);
|
||||
sendData(file_des,mess,sizeof(mess),OTHER);
|
||||
#ifdef VERBOSE
|
||||
printf("dataret %d\n",dataret);
|
||||
#endif
|
||||
return dataret;
|
||||
}
|
||||
|
||||
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
||||
dataretval=readFrame(&dataret, mess);
|
||||
readFrame(&dataret, mess);
|
||||
#endif
|
||||
|
||||
|
||||
//dataret could be swapped during sendData
|
||||
dataret1 = dataret;
|
||||
sendData(file_des,&dataret1,sizeof(dataret1),INT32);
|
||||
if (dataret==FAIL)
|
||||
sendData(file_des,mess,sizeof(mess),OTHER);//sizeof(mess));//sizeof(mess));
|
||||
else if(dataret==OK){printf("shouldnt be sending anything but i am\n");
|
||||
sendData(file_des,dataretval,dataBytes,OTHER);}
|
||||
|
||||
printf("dataret %d\n",dataret);
|
||||
return dataret;
|
||||
if (differentClients)
|
||||
dataret=FORCE_UPDATE;
|
||||
//dataret could be swapped during sendData
|
||||
dataret1 = dataret;
|
||||
sendData(file_des,&dataret1,sizeof(dataret1),INT32);
|
||||
//always fail or finished
|
||||
sendData(file_des,mess,sizeof(mess),OTHER);
|
||||
if(dataret == FAIL)
|
||||
cprintf(RED,"%s\n",mess);
|
||||
else
|
||||
cprintf(GREEN,"%s",mess);
|
||||
return dataret;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user