From e2e25f6e62dbc5dc9117cc755095989542cf4d8b Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 19 Jun 2017 14:29:45 +0200 Subject: [PATCH 1/9] changed API for setting network parameter to remove memory leak, fixed lock issues in streaming print outs to gui, deleted return from threadpool in the right place --- .../multiSlsDetector/multiSlsDetector.cpp | 59 +++++++++++-------- .../multiSlsDetector/multiSlsDetector.h | 4 +- .../slsDetector/slsDetector.cpp | 50 +++++++++------- slsDetectorSoftware/slsDetector/slsDetector.h | 30 +++++----- .../slsDetector/slsDetectorCommand.cpp | 1 - .../slsDetector/slsDetectorUtils.h | 4 +- slsDetectorSoftware/threadFiles/Task.h | 4 +- 7 files changed, 83 insertions(+), 69 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 8db4925bd..6eea51ea3 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -1192,10 +1192,10 @@ int multiSlsDetector::setThresholdEnergy(int e_eV, int pos, detectorSettings ise ret=*iret[idet]; else if (ret<(*iret[idet]-200) || ret>(*iret[idet]+200)) ret=-1; + delete iret[idet]; }else ret=-1; if(detectors[idet]->getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<numberOfDetectors; idet++) { if (detectors[idet]) { @@ -3348,9 +3348,11 @@ char* multiSlsDetector::getNetworkParameter(networkParameter p) { } } if (s1=="bad") - strcpy(ans,s0.c_str()); + ans=s0; + // strcpy(ans,s0.c_str()); else - strcpy(ans,s1.c_str()); + ans=s1; + // strcpy(ans,s1.c_str()); return ans; } @@ -3359,7 +3361,7 @@ char* multiSlsDetector::getNetworkParameter(networkParameter p) { sets the location of the calibration files \sa sharedSlsDetector */ -char* multiSlsDetector::setNetworkParameter(networkParameter p, string s){ +string multiSlsDetector::setNetworkParameter(networkParameter p, string s){ if (s.find('+')==string::npos) { @@ -3371,7 +3373,7 @@ char* multiSlsDetector::setNetworkParameter(networkParameter p, string s){ for(int idet=0; idetnumberOfDetectors; idet++){ if(detectors[idet]){ sret[idet]=new string("error"); - Task* task = new Task(new func2_t (&slsDetector::setNetworkParameter, + Task* task = new Task(new func2_t (&slsDetector::setNetworkParameter, detectors[idet],p,s,sret[idet])); threadpool->add_task(task); } @@ -3380,6 +3382,8 @@ char* multiSlsDetector::setNetworkParameter(networkParameter p, string s){ threadpool->wait_for_tasks_to_complete(); for(int idet=0; idetnumberOfDetectors; idet++){ if(detectors[idet]){ + if(sret[idet]!= NULL) + delete sret[idet]; //doing nothing with the return values if(detectors[idet]->getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getReceiver(), portnum); + zmqSocket[i] = new ZmqSocket(detectors[i/numSocketsPerDetector]->getReceiver().c_str(), portnum); if (zmqSocket[i]->IsError()) { cprintf(RED, "Error: Could not create Zmq socket on port %d\n", portnum); createReceivingDataSockets(true); @@ -5866,10 +5875,10 @@ int multiSlsDetector::pulsePixel(int n,int x,int y) { ret=*iret[idet]; else if (ret!=*iret[idet]) ret=-1; + delete iret[idet]; }else ret=-1; if(detectors[idet]->getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<getErrorMask()) setErrorMask(getErrorMask()|(1<receiverUDPPort2=DEFAULT_UDP_PORTNO+1; /** set receiver ip address/hostname */ + memset(thisDetector->receiver_hostname,0,MAX_STR_LENGTH); strcpy(thisDetector->receiver_hostname,"none"); /** set receiver udp ip address */ + memset(thisDetector->receiverUDPIP,0,MAX_STR_LENGTH); strcpy(thisDetector->receiverUDPIP,"none"); /** set receiver udp mac address */ + memset(thisDetector->receiverUDPMAC,0,MAX_STR_LENGTH); strcpy(thisDetector->receiverUDPMAC,"none"); /** set detector mac address */ + memset(thisDetector->detectorMAC,0,MAX_STR_LENGTH); strcpy(thisDetector->detectorMAC,DEFAULT_DET_MAC); /** set detector ip address */ + memset(thisDetector->detectorIP,0,MAX_STR_LENGTH); strcpy(thisDetector->detectorIP,DEFAULT_DET_IP); /** sets onlineFlag to OFFLINE_FLAG */ @@ -5813,7 +5818,7 @@ int slsDetector::exitServer(){ }; -char* slsDetector::setNetworkParameter(networkParameter index, string value) { +string slsDetector::setNetworkParameter(networkParameter index, string value) { int i; switch (index) { @@ -5854,7 +5859,7 @@ char* slsDetector::setNetworkParameter(networkParameter index, string value) { -char* slsDetector::getNetworkParameter(networkParameter index) { +string slsDetector::getNetworkParameter(networkParameter index) { switch (index) { case DETECTOR_MAC: @@ -5889,7 +5894,7 @@ char* slsDetector::getNetworkParameter(networkParameter index) { } -char* slsDetector::setDetectorMAC(string detectorMAC){ +string slsDetector::setDetectorMAC(string detectorMAC){ if(detectorMAC.length()==17){ if((detectorMAC[2]==':')&&(detectorMAC[5]==':')&&(detectorMAC[8]==':')&& (detectorMAC[11]==':')&&(detectorMAC[14]==':')){ @@ -5908,12 +5913,12 @@ char* slsDetector::setDetectorMAC(string detectorMAC){ std::cout << "Warning: server MAC Address should be in xx:xx:xx:xx:xx:xx format" << std::endl; } - return thisDetector->detectorMAC; + return string(thisDetector->detectorMAC); }; -char* slsDetector::setDetectorIP(string detectorIP){ +string slsDetector::setDetectorIP(string detectorIP){ struct sockaddr_in sa; //taking function arguments into consideration if(detectorIP.length()){ @@ -5931,12 +5936,12 @@ char* slsDetector::setDetectorIP(string detectorIP){ } } } - return thisDetector->detectorIP; + return string(thisDetector->detectorIP); } -char* slsDetector::setReceiver(string receiverIP){ +string slsDetector::setReceiver(string receiverIP){ if(getRunStatus()==RUNNING){ cprintf(RED,"Acquisition already running, Stopping it.\n"); stopAcquisition(); @@ -6002,16 +6007,18 @@ char* slsDetector::setReceiver(string receiverIP){ setUDPConnection(); if(thisDetector->myDetectorType == EIGER) enableTenGigabitEthernet(thisDetector->tenGigaEnable); + //datastreamenable + //fifodepth } } - return thisDetector->receiver_hostname; + return string(thisDetector->receiver_hostname); } -char* slsDetector::setReceiverUDPIP(string udpip){ +string slsDetector::setReceiverUDPIP(string udpip){ struct sockaddr_in sa; //taking function arguments into consideration if(udpip.length()){ @@ -6022,21 +6029,22 @@ char* slsDetector::setReceiverUDPIP(string udpip){ std::cout << "Warning: Receiver UDP IP Address should be VALID and in xxx.xxx.xxx.xxx format" << std::endl; }else{ strcpy(thisDetector->receiverUDPIP,udpip.c_str()); - if(!strcmp(thisDetector->receiver_hostname,"none")) + if(!strcmp(thisDetector->receiver_hostname,"none")) { std::cout << "Warning: Receiver hostname not set yet." << endl; + } else if(setUDPConnection()==FAIL){ std::cout<< "Warning: UDP connection set up failed" << std::endl; } } } } - return thisDetector->receiverUDPIP; + return string(thisDetector->receiverUDPIP); } -char* slsDetector::setReceiverUDPMAC(string udpmac){ +string slsDetector::setReceiverUDPMAC(string udpmac){ if(udpmac.length()!=17){ setErrorMask((getErrorMask())|(COULDNOT_SET_NETWORK_PARAMETER)); std::cout << "Warning: receiver udp mac address should be in xx:xx:xx:xx:xx:xx format" << std::endl; @@ -6057,7 +6065,7 @@ char* slsDetector::setReceiverUDPMAC(string udpmac){ } - return thisDetector->receiverUDPMAC; + return string(thisDetector->receiverUDPMAC); } @@ -6083,9 +6091,8 @@ int slsDetector::setReceiverUDPPort2(int udpport){ } -char* slsDetector::setDetectorNetworkParameter(networkParameter index, int delay){ +string slsDetector::setDetectorNetworkParameter(networkParameter index, int delay){ int fnum = F_SET_NETWORK_PARAMETER; - char* cretval = new char[MAX_STR_LENGTH]; int ret = FAIL; int retval = -1; char mess[MAX_STR_LENGTH]=""; @@ -6114,9 +6121,10 @@ char* slsDetector::setDetectorNetworkParameter(networkParameter index, int delay std::cout<< "Speed set to "<< retval << std::endl; #endif - - sprintf(cretval,"%d",retval); - return cretval; + ostringstream ss; + ss << retval; + string s = ss.str(); + return s; } @@ -6609,12 +6617,10 @@ int slsDetector::printReceiverConfiguration(){ std::cout << "Receiver Hostname:\t" << getNetworkParameter(RECEIVER_HOSTNAME) << std::endl; std::cout << "Receiver UDP IP:\t" << getNetworkParameter(RECEIVER_UDP_IP) << std::endl; std::cout << "Receiver UDP MAC:\t" << getNetworkParameter(RECEIVER_UDP_MAC) << std::endl; - - std::cout << "Receiver UDP Port:\t" << getNetworkParameter(RECEIVER_UDP_PORT) << std::endl; - if(thisDetector->myDetectorType == EIGER) - std::cout << "Receiver UDP Port2:\t" << getNetworkParameter(RECEIVER_UDP_PORT2) << std::endl; + if(thisDetector->myDetectorType == EIGER) + std::cout << "Receiver UDP Port2:\t" << getNetworkParameter(RECEIVER_UDP_PORT2) << std::endl; std::cout << std::endl; return OK; diff --git a/slsDetectorSoftware/slsDetector/slsDetector.h b/slsDetectorSoftware/slsDetector/slsDetector.h index 951a70eb4..eca4863b5 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.h +++ b/slsDetectorSoftware/slsDetector/slsDetector.h @@ -444,7 +444,7 @@ class slsDetector : public slsDetectorUtils, public energyConversion { \returns parameter */ - char* setNetworkParameter(networkParameter index, string value); + string setNetworkParameter(networkParameter index, string value); /** gets the network parameters @@ -452,7 +452,7 @@ class slsDetector : public slsDetectorUtils, public energyConversion { \returns parameter */ - char* getNetworkParameter(networkParameter index); + string getNetworkParameter(networkParameter index); /* I/O */ @@ -1704,36 +1704,36 @@ class slsDetector : public slsDetectorUtils, public energyConversion { /** returns the detector MAC address\sa sharedSlsDetector */ - char* getDetectorMAC() {return thisDetector->detectorMAC;}; + string getDetectorMAC() {return string(thisDetector->detectorMAC);}; /** returns the detector IP address\sa sharedSlsDetector */ - char* getDetectorIP() {return thisDetector->detectorIP;}; + string getDetectorIP() {return string(thisDetector->detectorIP);}; /** returns the receiver IP address \sa sharedSlsDetector */ - char* getReceiver() {return thisDetector->receiver_hostname;}; + string getReceiver() {return string(thisDetector->receiver_hostname);}; /** returns the receiver UDP IP address \sa sharedSlsDetector */ - char* getReceiverUDPIP() {return thisDetector->receiverUDPIP;}; + string getReceiverUDPIP() {return string(thisDetector->receiverUDPIP);}; /** returns the receiver UDP MAC address \sa sharedSlsDetector */ - char* getReceiverUDPMAC() {return thisDetector->receiverUDPMAC;}; + string getReceiverUDPMAC() {return string(thisDetector->receiverUDPMAC);}; /** returns the receiver UDP IP address \sa sharedSlsDetector */ - char* getReceiverUDPPort() {char *c= new char[MAX_STR_LENGTH];sprintf(c,"%d",thisDetector->receiverUDPPort); return c;}; + string getReceiverUDPPort() {ostringstream ss; ss << thisDetector->receiverUDPPort; string s = ss.str(); return s;}; /** returns the receiver UDP2 for Eiger IP address \sa sharedSlsDetector */ - char* getReceiverUDPPort2() {char *c= new char[MAX_STR_LENGTH];sprintf(c,"%d",thisDetector->receiverUDPPort2); return c;}; + string getReceiverUDPPort2() {ostringstream ss; ss << thisDetector->receiverUDPPort2; string s = ss.str(); return s;}; /** validates the format of detector MAC address and sets it \sa sharedSlsDetector */ - char* setDetectorMAC(string detectorMAC); + string setDetectorMAC(string detectorMAC); /** validates the format of detector IP address and sets it \sa sharedSlsDetector */ - char* setDetectorIP(string detectorIP); + string setDetectorIP(string detectorIP); /** validates and sets the receiver IP address/hostname \sa sharedSlsDetector */ - char* setReceiver(string receiver); + string setReceiver(string receiver); /** validates the format of receiver udp ip and sets it \sa sharedSlsDetector */ - char* setReceiverUDPIP(string udpip); + string setReceiverUDPIP(string udpip); /** validates the format of receiver udp mac and sets it \sa sharedSlsDetector */ - char* setReceiverUDPMAC(string udpmac); + string setReceiverUDPMAC(string udpmac); /** sets the receiver udp port \sa sharedSlsDetector */ int setReceiverUDPPort(int udpport); /** sets the receiver udp port2 for Eiger \sa sharedSlsDetector */ int setReceiverUDPPort2(int udpport); /** sets the transmission delay for left or right port or for an entire frame*/ - char* setDetectorNetworkParameter(networkParameter index, int delay); + string setDetectorNetworkParameter(networkParameter index, int delay); /** Sets the read receiver frequency if data required from receiver randomly readRxrFrequency=0, diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index f0299ad1c..b6850500f 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -2930,7 +2930,6 @@ string slsDetectorCommand::cmdNetworkParameter(int narg, char *args[], int actio myDet->setNetworkParameter(t, args[1]); return myDet->getNetworkParameter(t); - } string slsDetectorCommand::helpNetworkParameter(int narg, char *args[], int action) { diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h index 1309df04e..82b78032d 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h @@ -171,7 +171,7 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing { \returns parameter */ - virtual char *getNetworkParameter(networkParameter i)=0; + virtual string getNetworkParameter(networkParameter i)=0; /** sets the network parameters (implemented for gotthard) @@ -180,7 +180,7 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing { \returns parameter */ - virtual char *setNetworkParameter(networkParameter i, string s)=0; + virtual string setNetworkParameter(networkParameter i, string s)=0; /** changes/gets the port number diff --git a/slsDetectorSoftware/threadFiles/Task.h b/slsDetectorSoftware/threadFiles/Task.h index e90deb9c2..450946662 100644 --- a/slsDetectorSoftware/threadFiles/Task.h +++ b/slsDetectorSoftware/threadFiles/Task.h @@ -126,7 +126,7 @@ public: /* Return: int, Param: none */ Task(func0_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(t),m11(0),m12(0),m13(0){}; /* Return: char*, Param: networkParameter,string */ - Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(t),m12(0),m13(0){}; + Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(t),m12(0),m13(0){}; /* Return: void, Param: none */ Task(func00_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(t),m13(0){}; /* Return: int, Param: int,int,detectorSettings */ @@ -174,7 +174,7 @@ private: /* Return: int, Param: int */ func0_t * m10; /* Return: char*, Param: networkParameter,string */ - func2_t * m11; + func2_t * m11; /* Return: void, Param: none */ func00_t * m12; /* Return: int, Param: int,int,detectorSettings */ From 48f853aa1a217ec0ab7f076e2e618a36c04b4cf0 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 20 Jun 2017 12:38:59 +0200 Subject: [PATCH 2/9] fixed gui getting stuck (wrong datathreadmask more than 64 bits cuz of 72 sockets) --- .../gotthardDetectorServer/firmware_funcs.c | 21 +-- .../gotthardDetectorServer/firmware_funcs.h | 1 + .../gotthardDetectorServer/server.c | 1 + .../gotthardDetectorServer/server_funcs.c | 1 - .../gotthardDetectorServer/trimming_funcs.c | 20 +-- .../multiSlsDetector/multiSlsDetector.cpp | 147 +++++++++++++++++- 6 files changed, 162 insertions(+), 29 deletions(-) diff --git a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c index 615427959..8366f8eb4 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c @@ -14,6 +14,7 @@ #include + //for memory mapping u_int64_t CSP0BASE; @@ -171,8 +172,8 @@ int mapCSP0(void) { return FAIL; } #endif - printf("CSPObase is 0x%x \n",CSP0BASE); - printf("CSPOBASE=from %08x to %x\n",CSP0BASE,CSP0BASE+MEM_SIZE); + printf("CSPObase is 0x%llx \n",CSP0BASE); + printf("CSPOBASE=from %llx to %llx\n",CSP0BASE,CSP0BASE+MEM_SIZE); u_int32_t address; address = FIFO_DATA_REG_OFF; @@ -827,7 +828,7 @@ u_int32_t testRAM(void) { int i=0; allocateRAM(); // while(i<100000) { - memcpy(ram_values, values, dataBytes); + memcpy((char*)ram_values, (char*)values, dataBytes); printf ("Testing RAM:\t%d: copied fifo %x to memory %x size %d\n",i++, (unsigned int)(values), (unsigned int)(ram_values), dataBytes); // } return result; @@ -970,7 +971,7 @@ int64_t getActualTime(){ int64_t getMeasurementTime(){ int64_t v=get64BitReg(GET_MEASUREMENT_TIME_LSB_REG, GET_MEASUREMENT_TIME_MSB_REG); - int64_t mask=0x8000000000000000; + u_int64_t mask=0x8000000000000000; if (v & mask ) { #ifdef VERBOSE printf("no measurement time left\n"); @@ -1000,7 +1001,7 @@ int loadImage(int index, short int ImageVals[]){ for(i=0;i<6;i++) printf("%d:%d\t",i,ImageVals[i]); #endif - memcpy(ptr,ImageVals ,dataBytes); + memcpy((char*)ptr,(char*)ImageVals ,dataBytes); #ifdef VERBOSE printf("\nLoaded x%08x address with image of index %d\n",(unsigned int)(ptr),index); #endif @@ -1816,7 +1817,7 @@ int allocateRAM() { int prepareADC(){ printf("Preparing ADC\n"); u_int32_t valw,codata,csmask; - int i,j,cdx,ddx,value; + int i,j,cdx,ddx; cdx=0; ddx=1; csmask=0x7c; // 1111100 @@ -2208,7 +2209,7 @@ int readCounterBlock(int startACQ, short int CounterVals[]){ printf("Value of multipurpose reg:%d\n",bus_r(MULTI_PURPOSE_REG)); #endif - memcpy(CounterVals,ptr,dataBytes); + memcpy((char*)CounterVals,(char*)ptr,dataBytes); #ifdef VERBOSE int i; printf("Copied counter memory block with size of %d bytes..\n",dataBytes); @@ -2278,7 +2279,7 @@ int resetCounterBlock(int startACQ){ #endif - memcpy(counterVals,ptr,dataBytes); + memcpy((char*)counterVals,(char*)ptr,dataBytes); #ifdef VERBOSE int i; printf("Copied counter memory block with size of %d bytes..\n",(int)sizeof(counterVals)); @@ -2350,7 +2351,7 @@ int calibratePedestal(int frames){ int a; for (a=0;a<1280; a++){ - unsigned short v = (frame[a] << 8) + (frame[a] >> 8); + //unsigned short v = (frame[a] << 8) + (frame[a] >> 8); // printf("%i: %i %i\n",a, frame[a],v); avg[a] += ((double)frame[a])/(double)frames; //if(frame[a] == 8191) @@ -2377,7 +2378,7 @@ int calibratePedestal(int frames){ - double nf = (double)numberFrames; + //double nf = (double)numberFrames; for(i =0; i < 1280; i++){ adc = i / 256; adcCh = (i - adc * 256) / 32; diff --git a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.h b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.h index 975342e92..9904bc1f7 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.h +++ b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.h @@ -72,6 +72,7 @@ int getAdcConfigured(); u_int64_t getDetectorNumber(); u_int32_t getFirmwareVersion(); +u_int32_t getFirmwareSVNVersion(); int testFifos(void); u_int32_t testFpga(void); u_int32_t testRAM(void); diff --git a/slsDetectorSoftware/gotthardDetectorServer/server.c b/slsDetectorSoftware/gotthardDetectorServer/server.c index 2a61aeac6..2c571d748 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/server.c +++ b/slsDetectorSoftware/gotthardDetectorServer/server.c @@ -6,6 +6,7 @@ #include "communication_funcs.h" #include "server_funcs.h" #include +#include extern int sockfd; diff --git a/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c index b7ee31dd6..28a9d7e67 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c @@ -2376,7 +2376,6 @@ int set_speed(int file_des) { int set_readout_flags(int file_des) { enum readOutFlags arg; - int n; int ret=FAIL; diff --git a/slsDetectorSoftware/gotthardDetectorServer/trimming_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/trimming_funcs.c index 9a28b9b4a..6f0d726e8 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/trimming_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/trimming_funcs.c @@ -164,8 +164,8 @@ int choose_vthresh_and_vtrim(int countlim, int nsigma, int im) { double vthreshmean, vthreshSTDev; int *thrmi, *thrma; double c; - double b=BVTRIM; - double a=AVTRIM; + //double b=BVTRIM; + //double a=AVTRIM; int *trim; int ich, imod, ichan; int nvalid=0; @@ -236,7 +236,7 @@ int choose_vthresh_and_vtrim(int countlim, int nsigma, int im) { while (runBusy()) { } usleep(500); - fifodata=fifo_read_event(); + fifodata=(int*)fifo_read_event(); scan=decode_data(fifodata); for (imod=modmi; imod= 96) { + cprintf(BG_RED,"Error: Too many sockets %d for gui to process. Goodbye!", numSockets); + createReceivingDataSockets(true); + exit(EXIT_FAILURE); + } //wait for real time acquisition to start bool running = true; @@ -5290,22 +5299,41 @@ void multiSlsDetector::readFrameFromReceiver(){ if(checkJoinThread()) running = false; - for(int i = 0; i < numSockets; ++i) - dataThreadMask|=(1<numberOfDetectors); //reset frame memory //get each frame for(int isocket=0; isocket= 32) && (isocket < 64) &&((1 << (isocket-32)) & dataThreadMask2)) || //next 32 sockets + ((isocket >= 64) && ((1 << (isocket-64)) & dataThreadMask3))) { //next set of sockets + //if((1 << isocket) & dataThreadMask){ + cout<<"isocket running"<numberOfDetectors); //reset frame memory + + //get each frame + for(int isocket=0; isocket Date: Tue, 20 Jun 2017 12:40:28 +0200 Subject: [PATCH 3/9] fixed gui getting stuck (wrong datathreadmask more than 64 bits cuz of 72 sockets), gotthard detector server udpated --- .../gotthardDetectorServerv2.0.3 | Bin 127664 -> 0 bytes .../gotthardDetectorServerv3.0.0.0 | Bin 0 -> 127704 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv2.0.3 create mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.0 diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv2.0.3 b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv2.0.3 deleted file mode 100755 index d6d9b460ed85b9694b91c580caf4d8ec5571b9b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127664 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 diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.0 b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.0 new file mode 100755 index 0000000000000000000000000000000000000000..ca32eb110de285e8f7a11bb84f0b57480151b6e2 GIT binary patch literal 127704 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

l=4fQ3$c^`B*C*#N!(7@d&R%92> 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

b#`R`ZB%EJL;)Up*n@; zh319kh319Eg~o;Q3FQ;+@UG{R{_=d%TXp?JT@P?SC-@cr!t%|^H)~urKkfs6be?s< zdDcPaW~I)}VqDF&e3`GXI!vp>bb<$Xf+u;N7g#>i@|iJy#`qcgp0V$lyR1KFy11KP za+-hT-#Evw`5%7A@|ls(s`#tougQN+{%gtimVUUVA8vA-dsx4Y>DRGI&hP>+@-nYDhx^ny z+-Dr)GQQ7o?&W^Y@H89$Z+`qX?-WLE{8hj180C`JiN z5kncG(a2BpSimBdu#6R~Mk7HXj0waE#0kU+#0kU+%n!s0#EKjDU_Tmp*y*)#54O1i z=TPZ=e%OdE*W$%jv1i;4c9DPm-g^bGR=fz-iCZUbjd*?y>&44ag=*BI4)th2BU*4B zt!P6#ZlMF62$0XA8@=d90s|Pv2u3l62}~k`Y0P2{^H{(lmavQ!tYZV4*upk;u#5ND zxBmhZB8o#ej3N}H1f__f4CSamC8|)3TGXK)4QRo2w4x2|xP=Y`(a6v9SimBdu#6S# zVGgTU#|AdBg>CF$HyY^?w@2I_aeKt=5x1`ba_W;)UoGm<2zm6KLpAEqfR<<^<#kGo zlo%;vQ^ux@O?9Ia0lJVMYmJn7DeI=Jl@dSIi&0Es0kfFHJO(g^X$)fo6Ud++iD)Ea ze#Yxe{t(E$v3|M|)u_WcST8MJx(b`oNSOc3+_ZUV@zdg`<&qXFy@VC4VjUY; k7Iz-o(a2O0#F=V`@l$e~GA3Jy7_61`S+*Y;h>_j@A605;?f?J) literal 0 HcmV?d00001 From fe73e09aa492599692b4fd7f9faf98afd2d3f2c2 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 21 Jun 2017 17:05:47 +0200 Subject: [PATCH 4/9] removing unnecessary printouts, ensuring lost packets are 0xff --- .../multiSlsDetector/multiSlsDetector.cpp | 157 +++--------------- .../slsDetector/slsDetector.cpp | 46 ++++- 2 files changed, 60 insertions(+), 143 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 30497581b..d87899bd0 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -41,7 +41,9 @@ int multiSlsDetector::freeSharedMemory() { perror("shmdt failed\n"); return FAIL; } +#ifdef VERBOSE printf("Shared memory %d detached\n", shmId); +#endif // remove shared memory if (shmctl(shmId, IPC_RMID, 0) == -1) { perror("shmctl(IPC_RMID) failed\n"); @@ -414,9 +416,9 @@ int multiSlsDetector::addSlsDetector(int id, int pos) { void multiSlsDetector::updateOffsets(){ - +#ifdef VERBOSE cout << endl << "Updating Multi-Detector Offsets" << endl; - +#endif int offsetX=0, offsetY=0, numX=0, numY=0, maxX=0, maxY=0; int maxChanX = thisMultiDetector->maxNumberOfChannelsPerDetector[X]; int maxChanY = thisMultiDetector->maxNumberOfChannelsPerDetector[Y]; @@ -432,7 +434,9 @@ void multiSlsDetector::updateOffsets(){ for (int i=0; inumberOfDetectors; i++) { if (detectors[i]) { +#ifdef VERBOSE cout<<"offsetX:"<getTotalNumberOfChannels(Y) <<" maxChanY:"<getTotalNumberOfChannels(Y); maxX += detectors[i]->getMaxNumberOfChannels(X); maxY += detectors[i]->getMaxNumberOfChannels(Y); +#ifdef VERBOSE cout<<"incrementing in both direction"<getTotalNumberOfChannels(Y); numY += detectors[i]->getTotalNumberOfChannels(Y); maxY += detectors[i]->getMaxNumberOfChannels(Y); +#ifdef VERBOSE cout<<"incrementing in y direction"<getTotalNumberOfChannels(X); numX += detectors[i]->getTotalNumberOfChannels(X); maxX += detectors[i]->getMaxNumberOfChannels(X); +#ifdef VERBOSE cout<<"incrementing in x direction"<offsetX[i] = offsetX; thisMultiDetector->offsetY[i] = offsetY; +#ifdef VERBOSE cout << "Detector[" << i << "] has offsets (" << thisMultiDetector->offsetX[i] << ", " << thisMultiDetector->offsetY[i] << ")" << endl; - +#endif //offsetY has been reset sometimes and offsetX the first time, but remember the highest values if(numX > thisMultiDetector->numberOfChannel[X]) thisMultiDetector->numberOfChannel[X] = numX; @@ -490,9 +501,10 @@ void multiSlsDetector::updateOffsets(){ thisMultiDetector->maxNumberOfChannel[Y] = maxY; } } - +#ifdef VERBOSE cout << "Number of Channels in X direction:" << thisMultiDetector->numberOfChannel[X] << endl; cout << "Number of Channels in Y direction:" << thisMultiDetector->numberOfChannel[Y] << endl << endl; +#endif } string multiSlsDetector::setHostname(const char* name, int pos){ @@ -560,7 +572,6 @@ string multiSlsDetector::ssetDetectorsType(string name, int pos) { } string multiSlsDetector::getHostname(int pos) { - string s=string(""); #ifdef VERBOSE cout << "returning hostname" << pos << endl; @@ -577,8 +588,8 @@ string multiSlsDetector::getHostname(int pos) { s+=detectors[ip]->getHostname(); s+=string("+"); } - cout << s <getTotalNumberOfChannels(X); slsmaxY = detectors[0]->getTotalNumberOfChannels(Y); } + //getting multi values nx = getTotalNumberOfChannels(slsDetectorDefs::X); ny = getTotalNumberOfChannels(slsDetectorDefs::Y); @@ -5282,132 +5294,6 @@ void multiSlsDetector::readFrameFromReceiver(){ int* multiframe=new int[nel](); int nch; -/* - //left shift can be done to a maximum of 32 bits (so using 3 x 32 bits, instead of 2 x 64 bits) - volatile uint32_t dataThreadMask1 = 0x0; - volatile uint32_t dataThreadMask2 = 0x0; - volatile uint32_t dataThreadMask3 = 0x0; - if(numSockets >= 96) { - cprintf(BG_RED,"Error: Too many sockets %d for gui to process. Goodbye!", numSockets); - createReceivingDataSockets(true); - exit(EXIT_FAILURE); - } - - //wait for real time acquisition to start - bool running = true; - sem_wait(&sem_newRTAcquisition); - if(checkJoinThread()) - running = false; - - - for(int i = 0; i < numSockets; ++i) { - if(i < 32) - dataThreadMask1 |=(1<numberOfDetectors); //reset frame memory - - //get each frame - for(int isocket=0; isocket= 32) && (isocket < 64) &&((1 << (isocket-32)) & dataThreadMask2)) || //next 32 sockets - ((isocket >= 64) && ((1 << (isocket-64)) & dataThreadMask3))) { //next set of sockets - //if((1 << isocket) & dataThreadMask){ - cout<<"isocket running"<numberOfDetectors); //reset frame memory + memset(((char*)multiframe),0xFF,slsdatabytes*thisMultiDetector->numberOfDetectors); //reset frame memory //get each frame for(int isocket=0; isocketdetectorMAC,detectorMAC.c_str()); if(!strcmp(thisDetector->receiver_hostname,"none")) +#ifdef VERBOSE std::cout << "Warning: Receiver hostname not set yet." << endl; +#else + ; +#endif else if(setUDPConnection()==FAIL) std::cout<< "Warning: UDP connection set up failed" << std::endl; }else{ @@ -5927,7 +5937,11 @@ string slsDetector::setDetectorIP(string detectorIP){ if(result!=0){ strcpy(thisDetector->detectorIP,detectorIP.c_str()); if(!strcmp(thisDetector->receiver_hostname,"none")) +#ifdef VERBOSE std::cout << "Warning: Receiver hostname not set yet." << endl; +#else + ; +#endif else if(setUDPConnection()==FAIL) std::cout<< "Warning: UDP connection set up failed" << std::endl; }else{ @@ -6030,7 +6044,11 @@ string slsDetector::setReceiverUDPIP(string udpip){ }else{ strcpy(thisDetector->receiverUDPIP,udpip.c_str()); if(!strcmp(thisDetector->receiver_hostname,"none")) { +#ifdef VERBOSE std::cout << "Warning: Receiver hostname not set yet." << endl; +#else + ; +#endif } else if(setUDPConnection()==FAIL){ std::cout<< "Warning: UDP connection set up failed" << std::endl; @@ -6054,7 +6072,11 @@ string slsDetector::setReceiverUDPMAC(string udpmac){ (udpmac[11]==':')&&(udpmac[14]==':')){ strcpy(thisDetector->receiverUDPMAC,udpmac.c_str()); if(!strcmp(thisDetector->receiver_hostname,"none")) +#ifdef VERBOSE std::cout << "Warning: Receiver hostname not set yet." << endl; +#else + ; +#endif else if(setUDPConnection()==FAIL){ std::cout<< "Warning: UDP connection set up failed" << std::endl; } @@ -6073,7 +6095,11 @@ string slsDetector::setReceiverUDPMAC(string udpmac){ int slsDetector::setReceiverUDPPort(int udpport){ thisDetector->receiverUDPPort = udpport; if(!strcmp(thisDetector->receiver_hostname,"none")) - std::cout << "Warning: Receiver hostname not set yet." << endl; +#ifdef VERBOSE + std::cout << "Warning: Receiver hostname not set yet." << endl; +#else + ; +#endif else if(setUDPConnection()==FAIL){ std::cout<< "Warning: UDP connection set up failed" << std::endl; } @@ -6083,7 +6109,11 @@ int slsDetector::setReceiverUDPPort(int udpport){ int slsDetector::setReceiverUDPPort2(int udpport){ thisDetector->receiverUDPPort2 = udpport; if(!strcmp(thisDetector->receiver_hostname,"none")) - std::cout << "Warning: Receiver hostname not set yet." << endl; +#ifdef VERBOSE + std::cout << "Warning: Receiver hostname not set yet." << endl; +#else + ; +#endif else if(setUDPConnection()==FAIL){ std::cout<< "Warning: UDP connection set up failed" << std::endl; } @@ -6137,7 +6167,9 @@ int slsDetector::setUDPConnection(){ //called before set up if(!strcmp(thisDetector->receiver_hostname,"none")){ - std::cout << "Warning: Receiver hostname not set yet." << endl; +#ifdef VERBOSE + std::cout << "Warning: Receiver hostname not set yet." << endl; +#endif return FAIL; } @@ -6195,9 +6227,9 @@ int slsDetector::setUDPConnection(){ } }else ret=FAIL; - +#ifdef VERBOSE printReceiverConfiguration(); - +#endif return ret; } From f66950d312089d2a5259d1095aab9883bf083b99 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 22 Jun 2017 14:32:24 +0200 Subject: [PATCH 5/9] fixed the 9m master server having to be rebooted for hv to work --- .../eigerDetectorServer/9mhvserial_bf.c | 20 +++++++++------- .../eigerDetectorServer/FebControl.c | 22 +++++++++++------- ....0.16.0 => eigerDetectorServerv3.0.0.16.1} | Bin 285067 -> 285198 bytes .../bin/hv9m_blackfin_server | Bin 0 -> 30352 bytes 4 files changed, 26 insertions(+), 16 deletions(-) rename slsDetectorSoftware/eigerDetectorServer/bin/{eigerDetectorServerv3.0.0.16.0 => eigerDetectorServerv3.0.0.16.1} (57%) create mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/hv9m_blackfin_server diff --git a/slsDetectorSoftware/eigerDetectorServer/9mhvserial_bf.c b/slsDetectorSoftware/eigerDetectorServer/9mhvserial_bf.c index 4e4ee0ac6..fbedbeefa 100644 --- a/slsDetectorSoftware/eigerDetectorServer/9mhvserial_bf.c +++ b/slsDetectorSoftware/eigerDetectorServer/9mhvserial_bf.c @@ -8,6 +8,7 @@ #include // read, close #include // memset #include // I2C_SLAVE, __u8 reg +#include #define PORTNAME "/dev/ttyBF1" #define GOODBYE 200 @@ -89,37 +90,40 @@ int i2c_write(unsigned int value){ int main(int argc, char* argv[]) { - int fd = open(PORTNAME, O_RDWR | O_NOCTTY); + int fd = open(PORTNAME, O_RDWR | O_NOCTTY | O_SYNC); if(fd < 0){ cprintf(RED,"Warning: Unable to open port %s\n", PORTNAME); return -1; } struct termios serial_conf; - // Get the current options for the port - tcgetattr(fd, &serial_conf); // reset structure memset(&serial_conf,0,sizeof(serial_conf)); // control options serial_conf.c_cflag = B2400 | CS8 | CREAD | CLOCAL; // input options - serial_conf.c_iflag = IGNPAR; + serial_conf.c_iflag = 0;//IGNPAR; (stuck because it was in ignore parity) // output options serial_conf.c_oflag = 0; // line options serial_conf.c_lflag = ICANON; // flush input - tcflush(fd, TCIFLUSH); + if(tcflush(fd, TCIFLUSH) < 0){ + cprintf(RED,"Warning: error form tcflush %d\n", errno); + return 0; + } // set new options for the port, TCSANOW:changes occur immediately without waiting for data to complete - tcsetattr(fd, TCSANOW, &serial_conf); - - + if(tcsetattr(fd, TCSANOW, &serial_conf) < 0){ + cprintf(RED,"Warning: error form tcsetattr %d\n", errno); + return 0; + } int ret = 0; int n = 0; int ival= 0; char buffer[BUFFERSIZE]; + memset(buffer,0,BUFFERSIZE); buffer[BUFFERSIZE-2] = '\0'; buffer[BUFFERSIZE-1] = '\n'; cprintf(GREEN,"Ready...\n"); diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index de207f7f3..25bc2b44b 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -13,6 +13,7 @@ #include #include #include // POSIX terminal control definitions(CS8, CREAD, CLOCAL..) +#include #include "FebRegisterDefs.h" #include "FebControl.h" @@ -225,31 +226,35 @@ int Feb_Control_Init(int master, int top, int normal, int module_num){ int Feb_Control_OpenSerialCommunication(){ cprintf(BG_BLUE,"opening serial communication of hv\n"); - if(Feb_Control_hv_fd != -1) + //if(Feb_Control_hv_fd != -1) close(Feb_Control_hv_fd); - Feb_Control_hv_fd = open(SPECIAL9M_HIGHVOLTAGE_PORT, O_RDWR | O_NOCTTY); + Feb_Control_hv_fd = open(SPECIAL9M_HIGHVOLTAGE_PORT, O_RDWR | O_NOCTTY | O_SYNC); if(Feb_Control_hv_fd < 0){ cprintf(RED,"Warning: Unable to open port %s to set up high voltage serial communciation to the blackfin\n", SPECIAL9M_HIGHVOLTAGE_PORT); return 0; } struct termios serial_conf; - // Get the current options for the port - tcgetattr(Feb_Control_hv_fd, &serial_conf); // reset structure - memset(&serial_conf,0,sizeof(serial_conf)); + memset (&serial_conf, 0, sizeof(serial_conf)); // control options serial_conf.c_cflag = B2400 | CS8 | CREAD | CLOCAL;//57600 too high // input options - serial_conf.c_iflag = IGNPAR; + serial_conf.c_iflag = 0;//IGNPAR; (stuck because it was in ignore parity) // output options serial_conf.c_oflag = 0; // line options serial_conf.c_lflag = ICANON; // flush input - tcflush(Feb_Control_hv_fd, TCIFLUSH); + if(tcflush(Feb_Control_hv_fd, TCIFLUSH) < 0){ + cprintf(RED,"Warning: error form tcflush %d\n", errno); + return 0; + } // set new options for the port, TCSANOW:changes occur immediately without waiting for data to complete - tcsetattr(Feb_Control_hv_fd, TCSANOW, &serial_conf); + if(tcsetattr(Feb_Control_hv_fd, TCSANOW, &serial_conf) < 0){ + cprintf(RED,"Warning: error form tcsetattr %d\n", errno); + return 0; + } return 1; } @@ -605,6 +610,7 @@ int Feb_Control_SendHighVoltage(int dacvalue){ } char buffer[SPECIAL9M_HIGHVOLTAGE_BUFFERSIZE]; + memset(buffer,0,SPECIAL9M_HIGHVOLTAGE_BUFFERSIZE); buffer[SPECIAL9M_HIGHVOLTAGE_BUFFERSIZE-2]='\0'; buffer[SPECIAL9M_HIGHVOLTAGE_BUFFERSIZE-1]='\n'; int n; diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.0 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.1 similarity index 57% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.0 rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.1 index d7836a0005ea3f19360eacde861840974cb22918..0dd6872d3a2486d3a4e841df7c1bb16bba0fd7a4 100755 GIT binary patch delta 55204 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

&UMbod=H{+EP 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 delta 55817 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 O0Q-WG!dG?=E% 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 Date: Thu, 22 Jun 2017 14:36:02 +0200 Subject: [PATCH 6/9] updaterev --- .../bin/eigerDetectorServerv3.0.0.16.1 | Bin 285198 -> 285198 bytes .../bin/hv9m_blackfin_server | Bin 30352 -> 0 bytes .../eigerDetectorServer/gitInfo.txt | 8 ++++---- .../eigerDetectorServer/gitInfoEiger.h | 8 ++++---- slsDetectorSoftware/gitInfo.txt | 8 ++++---- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- 6 files changed, 16 insertions(+), 16 deletions(-) delete mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/hv9m_blackfin_server diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.1 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.1 index 0dd6872d3a2486d3a4e841df7c1bb16bba0fd7a4..fa32ba4bd524f3060c86842a5ccc2279139334ad 100755 GIT binary patch delta 34 pcmeC%BG|V@aD()HMv2KX_mvrynjP-9JKSdkVy5j5_nFUC0RZz-4p0C9 delta 34 pcmeC%BG|V@aD()HM#jl9_mvrinjP-9JKSdkVy5j5_nFUC0RZp{4k-Wt diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/hv9m_blackfin_server b/slsDetectorSoftware/eigerDetectorServer/bin/hv9m_blackfin_server deleted file mode 100755 index 6aa6ff9eb16500651e402765346219226e2ae635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30352 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 Date: Thu, 22 Jun 2017 16:44:29 +0200 Subject: [PATCH 7/9] ensuring acquire, p receiver start and the gui enables and disables data streaming accordingly. those with api will have to know what they want before acquiring --- .../multiSlsDetector/multiSlsDetector.cpp | 12 ++++----- .../slsDetector/slsDetectorCommand.cpp | 25 ++++++++++++++++--- .../slsDetector/slsDetectorUtils.cpp | 17 ------------- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index d87899bd0..9f06f7ab2 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -5656,7 +5656,7 @@ int multiSlsDetector::enableDataStreamingFromReceiver(int enable){ } } - }else enable = dataSocketsStarted; + } int ret=-100, ret1; for (int idet=0; idetnumberOfDetectors; idet++) { @@ -5670,11 +5670,11 @@ int multiSlsDetector::enableDataStreamingFromReceiver(int enable){ ret=-1; } } - /* - if(enable == -1) - return dataSocketsStarted; - */ - return (dataSocketsStarted & ret); + + if(ret != dataSocketsStarted) + return -1; + + return ret; } int multiSlsDetector::enableReceiverCompression(int i){ diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index b6850500f..230666be6 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -1319,7 +1319,15 @@ string slsDetectorCommand::cmdAcquire(int narg, char *args[], int action) { myDet->setOnline(ONLINE_FLAG); - myDet->setReceiverOnline(ONLINE_FLAG); + if (myDet->setReceiverOnline(ONLINE_FLAG) == ONLINE_FLAG) { + //if it was not off + if (myDet->enableDataStreamingFromReceiver(-1) != 0){ + //switch it off, if error + if (myDet->enableDataStreamingFromReceiver(0) != 0) { + return string("could not disable data streaming in receiver\n"); + } + } + } if(myDet->acquire() == FAIL) return string("acquire unsuccessful"); @@ -4830,12 +4838,23 @@ string slsDetectorCommand::cmdReceiver(int narg, char *args[], int action) { myDet->setOnline(ONLINE_FLAG); - myDet->setReceiverOnline(ONLINE_FLAG); + int receivers = myDet->setReceiverOnline(ONLINE_FLAG); if(cmd=="receiver"){ if (action==PUT_ACTION) { - if(!strcasecmp(args[1],"start")) + if(!strcasecmp(args[1],"start")) { + //to ensure data streaming enable is the same across client and receiver + if (receivers == ONLINE_FLAG) { + //if it was not off + if (myDet->enableDataStreamingFromReceiver(-1) != 0){ + //switch it off, if error + if (myDet->enableDataStreamingFromReceiver(0) != 0) { + return string("could not disable data streaming in receiver\n"); + } + } + } myDet->startReceiver(); + } else if(!strcasecmp(args[1],"stop")){ //myDet->stopReceiver(); // myDet->startReceiverReadout(); diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp index 2da38b73d..c47b43980 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp @@ -62,18 +62,6 @@ int slsDetectorUtils::acquire(int delflag){ bool receiver = (setReceiverOnline()==ONLINE_FLAG); if(!receiver){ setDetectorIndex(-1); - }else{ - //put receiver read frequency to random if no gui - int ret = setReadReceiverFrequency(0); - if(ret>0 && (dataReady == NULL)){ - ret = setReadReceiverFrequency(1,0); - std::cout << "No Data call back and hence receiver read frequency reset to " << ret <<" (Random)" << std::endl; - } - - //start/stop data streaming threads if threads in client enabled/disabled - ret = enableDataStreamingFromReceiver(-1); - // cout<<"getting datastream:"< Date: Thu, 22 Jun 2017 16:59:41 +0200 Subject: [PATCH 8/9] parallelized enabledatastreaming --- .../multiSlsDetector/multiSlsDetector.cpp | 43 ++++++++++++++----- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 9f06f7ab2..abd90230c 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -5658,21 +5658,42 @@ int multiSlsDetector::enableDataStreamingFromReceiver(int enable){ } - int ret=-100, ret1; - for (int idet=0; idetnumberOfDetectors; idet++) { - if (detectors[idet]) { - ret1=detectors[idet]->enableDataStreamingFromReceiver(enable); - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<numberOfDetectors]; + for(int idet=0; idetnumberOfDetectors; idet++){ + if(detectors[idet]){ + iret[idet]= new int(-1); + Task* task = new Task(new func1_t (&slsDetector::enableDataStreamingFromReceiver, + detectors[idet],enable,iret[idet])); + threadpool->add_task(task); + } + } + threadpool->startExecuting(); + threadpool->wait_for_tasks_to_complete(); + for(int idet=0; idetnumberOfDetectors; idet++){ + if(detectors[idet]){ + if(iret[idet] != NULL){ + if (ret==-100) + ret=*iret[idet]; + else if (ret!=*iret[idet]) + ret=-1; + delete iret[idet]; + }else ret=-1; + if(detectors[idet]->getErrorMask()) + setErrorMask(getErrorMask()|(1< Date: Fri, 23 Jun 2017 17:26:46 +0200 Subject: [PATCH 9/9] parallelizing adcs and dacs --- .../multiSlsDetector/multiSlsDetector.cpp | 119 +++++++++++------- .../multiSlsDetector/multiSlsDetector.h | 2 +- slsDetectorSoftware/threadFiles/Task.h | 39 ++++-- 3 files changed, 103 insertions(+), 57 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index abd90230c..04cc54322 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -2970,53 +2970,86 @@ int multiSlsDetector::getAngularConversion(int &direction, angleConversionCons dacs_t multiSlsDetector::setDAC(dacs_t val, dacIndex idac, int mV, int imod) { - dacs_t ret, ret1=-100; - - int id=-1, im=-1; - int dmi=0, dma=thisMultiDetector->numberOfDetectors; - - if (decodeNMod(imod, id, im)>=0) { - dmi=id; - dma=dma+1; - } + dacs_t ret = -100; + if(!threadpool){ + cout << "Error in creating threadpool. Exiting" << endl; + return -1; + }else{ + int id=-1, im=-1; + int posmin=0, posmax=thisMultiDetector->numberOfDetectors; + if (decodeNMod(imod, id, im)>=0) { + posmin=id; + posmax=id+1; + } - for (int idet=dmi; idetsetDAC(val, idac, mV, im); - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<(&slsDetector::setDAC, + detectors[idet],val, idac, mV, im, iret[idet])); + threadpool->add_task(task); + } + } + threadpool->startExecuting(); + threadpool->wait_for_tasks_to_complete(); + for(int idet=posmin; idetgetErrorMask()) + setErrorMask(getErrorMask()|(1<numberOfDetectors; - - if (decodeNMod(imod, id, im)>=0) { - dmi=id; - dma=dma+1; - } - - for (int idet=dmi; idetgetADC(idac, im); - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<numberOfDetectors; + if (decodeNMod(imod, id, im)>=0) { + posmin=id; + posmax=id+1; + } + //return storage values + dacs_t* iret[posmax-posmin]; + for(int idet=posmin; idet(&slsDetector::getADC, + detectors[idet],idac, im, iret[idet])); + threadpool->add_task(task); + } + } + threadpool->startExecuting(); + threadpool->wait_for_tasks_to_complete(); + for(int idet=posmin; idetgetErrorMask()) + setErrorMask(getErrorMask()|(1<* t): m1(t),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0){}; + Task(func1_t * t): m1(t),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: int, Param: string,int */ - Task(func2_t * t): m1(0),m2(t),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0){}; + Task(func2_t * t): m1(0),m2(t),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: string, Param: string */ - Task(func1_t * t): m1(0),m2(0),m3(t),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0){}; + Task(func1_t * t): m1(0),m2(0),m3(t),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: char*, Param: char* */ - Task(func1_t * t): m1(0),m2(0),m3(0),m4(t),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0){}; + Task(func1_t * t): m1(0),m2(0),m3(0),m4(t),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: detectorSettings, Param: int */ - Task(func1_t * t): m1(0),m2(0),m3(0),m4(0),m5(t),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0){}; + Task(func1_t * t): m1(0),m2(0),m3(0),m4(0),m5(t),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: detectorSettings, Param: detectorSettings,int */ - Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(t),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0){}; + Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(t),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: int, Param: int,int */ - Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(t),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0){}; + Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(t),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: int, Param: int,int,int */ - Task(func3_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(t),m9(0),m10(0),m11(0),m12(0),m13(0){}; + Task(func3_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(t),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: int, Param: trimMode,int,int,int */ - Task(func4_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(t),m10(0),m11(0),m12(0),m13(0){}; + Task(func4_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(t),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: int, Param: none */ - Task(func0_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(t),m11(0),m12(0),m13(0){}; + Task(func0_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(t),m11(0),m12(0),m13(0),m14(0),m15(0){}; /* Return: char*, Param: networkParameter,string */ - Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(t),m12(0),m13(0){}; + Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(t),m12(0),m13(0),m14(0),m15(0){}; /* Return: void, Param: none */ - Task(func00_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(t),m13(0){}; + Task(func00_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(t),m13(0),m14(0),m15(0){}; /* Return: int, Param: int,int,detectorSettings */ - Task(func3_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(t){}; + Task(func3_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(t),m14(0),m15(0){}; + /* Return: dacs_t, Param: dacs_t, dacIndex, int, int */ + Task(func4_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(t),m15(0){}; + /* Return: dacs_t, Param: dacIndex, int */ + Task(func2_t * t): m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(t){}; + @@ -150,6 +155,9 @@ public: else if(m11) (*m11)(); else if(m12) (*m12)(); else if(m13) (*m13)(); + else if(m14) (*m14)(); + else if(m15) (*m15)(); + } private: @@ -179,6 +187,11 @@ private: func00_t * m12; /* Return: int, Param: int,int,detectorSettings */ func3_t * m13; + /* Return: dacs_t, Param: dacs_t, dacIndex, int, int */ + func4_t * m14; + /* Return: dacs_t, Param: dacIndex, int */ + func2_t * m15; + };