mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00
done for eiger, some checks for frameindex=-1,socket closing earlier than last socket etc
This commit is contained in:
parent
d751c626b3
commit
a1df8bdc15
@ -5046,7 +5046,9 @@ void multiSlsDetector::startReceivingData(){
|
||||
cout << "Subframe index: " << currentSubFrameIndex << endl;
|
||||
cout << "File name: " << currentFileName << endl;
|
||||
#endif
|
||||
if(currentFrameIndex ==-1) cprintf(RED,"multi frame index -1!!\n");
|
||||
}
|
||||
|
||||
// close the message
|
||||
zmq_msg_close(&message);
|
||||
|
||||
@ -5058,9 +5060,9 @@ void multiSlsDetector::startReceivingData(){
|
||||
//end of socket ("end")
|
||||
if (len < 1024*256 ) {
|
||||
if(!len) cprintf(RED,"Received no data in socket for %d\n", ithread);
|
||||
#ifdef VERYVERBOSE
|
||||
//#ifdef VERYVERBOSE
|
||||
cprintf(RED,"End of socket for %d\n", ithread);
|
||||
#endif
|
||||
//#endif
|
||||
zmq_msg_close(&message);
|
||||
singleframe[ithread] = NULL;
|
||||
pthread_mutex_lock(&ms);
|
||||
@ -5173,6 +5175,7 @@ void multiSlsDetector::readFrameFromReceiver(){
|
||||
|
||||
//get each frame
|
||||
for(int ireadout=0; ireadout<numReadouts; ++ireadout){
|
||||
//cprintf(BLUE,"multi checking %d mask:0x%x\n",ireadout,receivingDataThreadMask);
|
||||
idet = ireadout/numReadoutPerDetector;
|
||||
if((1 << ireadout) & receivingDataThreadMask){ //if running
|
||||
|
||||
@ -5240,7 +5243,7 @@ void multiSlsDetector::readFrameFromReceiver(){
|
||||
|
||||
setCurrentProgress(currentAcquisitionIndex+1);
|
||||
}
|
||||
|
||||
cout << "All zmq sockets closed" << endl;
|
||||
|
||||
//free resources
|
||||
for(int i = 0; i < numReadouts; ++i){
|
||||
@ -5474,12 +5477,12 @@ int multiSlsDetector::setReadReceiverFrequency(int getFromReceiver, int freq){
|
||||
|
||||
|
||||
|
||||
int multiSlsDetector::setDataStreamingFromReceiver(int enable){
|
||||
int multiSlsDetector::enableDataStreamingFromReceiver(int enable){
|
||||
int ret=-100, ret1;
|
||||
|
||||
for (int idet=0; idet<thisMultiDetector->numberOfDetectors; idet++) {
|
||||
if (detectors[idet]) {
|
||||
ret1=detectors[idet]->setDataStreamingFromReceiver(enable);
|
||||
ret1=detectors[idet]->enableDataStreamingFromReceiver(enable);
|
||||
if(detectors[idet]->getErrorMask())
|
||||
setErrorMask(getErrorMask()|(1<<idet));
|
||||
if (ret==-100)
|
||||
|
@ -1255,7 +1255,7 @@ class multiSlsDetector : public slsDetectorUtils {
|
||||
* @param enable 0 to disable 1 to enable -1 to only get the value
|
||||
* @returns data streaming
|
||||
*/
|
||||
int setDataStreamingFromReceiver(int enable=-1);
|
||||
int enableDataStreamingFromReceiver(int enable=-1);
|
||||
|
||||
/** updates the multidetector offsets */
|
||||
void updateOffsets();
|
||||
|
@ -7462,7 +7462,7 @@ int slsDetector::setReadReceiverFrequency(int getFromReceiver, int freq){
|
||||
|
||||
|
||||
|
||||
int slsDetector::setDataStreamingFromReceiver(int enable){
|
||||
int slsDetector::enableDataStreamingFromReceiver(int enable){
|
||||
int fnum=F_STREAM_DATA_FROM_RECEIVER;
|
||||
int ret = FAIL;
|
||||
int retval=-1;
|
||||
|
@ -1684,7 +1684,7 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
||||
* @param enable 0 to disable 1 to enable -1 to only get the value
|
||||
* @returns data streaming
|
||||
*/
|
||||
int setDataStreamingFromReceiver(int enable=-1);
|
||||
int enableDataStreamingFromReceiver(int enable=-1);
|
||||
|
||||
/** enable/disable or get data compression in receiver
|
||||
* @param i is -1 to get, 0 to disable and 1 to enable
|
||||
|
@ -240,7 +240,9 @@ int slsDetectorUsers::setReceiverMode(int n){
|
||||
return myDetector->setReadReceiverFrequency(1,n);
|
||||
}
|
||||
|
||||
|
||||
int slsDetectorUsers::enableDataStreamingFromReceiver(int i){
|
||||
return myDetector->enableDataStreamingFromReceiver(i);
|
||||
}
|
||||
|
||||
|
||||
int64_t slsDetectorUsers::getModuleFirmwareVersion(){
|
||||
|
@ -450,6 +450,15 @@ class slsDetectorUsers
|
||||
|
||||
virtual void finalizeDataset(double *a, double *v, double *e, int &np);
|
||||
|
||||
|
||||
/**
|
||||
Enable data streaming from receiver (zmq)
|
||||
\param i 1 to set, 0 to reset and -1 to get
|
||||
\returns data streaming enable
|
||||
*/
|
||||
int enableDataStreamingFromReceiver(int i=-1);
|
||||
|
||||
|
||||
/**
|
||||
get get Module Firmware Version
|
||||
\returns id
|
||||
|
@ -66,16 +66,16 @@ int slsDetectorUtils::acquire(int delflag){
|
||||
}
|
||||
|
||||
//start data streaming threads in receiver if enabled
|
||||
ret = setDataStreamingFromReceiver(-1);
|
||||
ret = enableDataStreamingFromReceiver(-1);
|
||||
if(dataReady == NULL){
|
||||
if(ret){
|
||||
cout << "Disabling Data Streaming from Receiver" << endl;
|
||||
setDataStreamingFromReceiver(0); //no call back but streaming enabled, then dont stream.
|
||||
enableDataStreamingFromReceiver(0); //no call back but streaming enabled, then dont stream.
|
||||
}
|
||||
}else{
|
||||
if(*threadedProcessing && (!ret)){
|
||||
cout << "Enabling Data Streaming from Receiver" << endl;
|
||||
setDataStreamingFromReceiver(1); //call back exists, threaded but streaming disabled, then stream.
|
||||
enableDataStreamingFromReceiver(1); //call back exists, threaded but streaming disabled, then stream.
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -700,7 +700,7 @@ virtual int setReadReceiverFrequency(int getFromReceiver, int freq=-1)=0;
|
||||
* @param enable 0 to disable 1 to enable -1 to only get the value
|
||||
* @returns data streaming
|
||||
*/
|
||||
virtual int setDataStreamingFromReceiver(int enable=-1)=0;
|
||||
virtual int enableDataStreamingFromReceiver(int enable=-1)=0;
|
||||
|
||||
|
||||
/** enable/disable or get data compression in receiver
|
||||
|
Loading…
x
Reference in New Issue
Block a user