From ca358e4d17c36d2a726714a3e35a90c202eee8fa Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 27 Jun 2017 17:46:32 +0200 Subject: [PATCH 01/41] changes to the eiger and jungfrau server regarding getnumberofchans etc a typo bug resulting in could not allocate --- ....0.16.1 => eigerDetectorServerv3.0.0.16.2} | Bin 285198 -> 285478 bytes .../eigerDetectorServer/gitInfo.txt | 8 ++++---- .../eigerDetectorServer/gitInfoEiger.h | 8 ++++---- .../slsDetectorFunctionList.c | 4 ++-- slsDetectorSoftware/gitInfo.txt | 8 ++++---- ...3.0.0.2 => jungfrauDetectorServerv3.0.0.3} | Bin 105068 -> 105044 bytes .../jungfrauDetectorServer/gitInfo.txt | 8 ++++---- .../jungfrauDetectorServer/gitInfoJungfrau.h | 8 ++++---- .../slsDetectorFunctionList.c | 4 ++-- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- 10 files changed, 28 insertions(+), 28 deletions(-) rename slsDetectorSoftware/eigerDetectorServer/bin/{eigerDetectorServerv3.0.0.16.1 => eigerDetectorServerv3.0.0.16.2} (59%) rename slsDetectorSoftware/jungfrauDetectorServer/bin/{jungfrauDetectorServerv3.0.0.2 => jungfrauDetectorServerv3.0.0.3} (99%) diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.1 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.2 similarity index 59% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.1 rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.2 index fa32ba4bd524f3060c86842a5ccc2279139334ad..8db331b1d23b8985f366ae27d4edba6591d4000f 100755 GIT binary patch delta 53013 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 delta 50020 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 Hag`AOc;qRy delta 146 zcmcbzh3(B2wh79dt_%zejFFBk9@8&6GD>W8SyCp>DZ-fWVE4z}k9Ia4V`^eZaDOPS z!2VEV^Z&Ai%H|9&m>C!zD=}~wI6Ry&ivfsFI556oU=RSB!vLfmA0C;-2*hZzo3GEh gd`4_m4g Date: Wed, 28 Jun 2017 10:24:07 +0200 Subject: [PATCH 02/41] changes for setting threshold without trimbits for eiger --- .../commonFiles/communication_funcs.c | 10 +++ .../eigerDetectorServer/Makefile | 5 +- .../bin/eigerDetectorServerv3.0.0.16.2 | Bin 285478 -> 0 bytes .../eigerDetectorServer/gitInfo.txt | 8 +-- .../eigerDetectorServer/gitInfoEiger.h | 6 +- .../slsDetectorFunctionList.c | 63 +++++++++++------- .../multiSlsDetector/multiSlsDetector.cpp | 6 +- .../multiSlsDetector/multiSlsDetector.h | 3 +- .../slsDetector/slsDetector.cpp | 49 ++++++++------ slsDetectorSoftware/slsDetector/slsDetector.h | 9 ++- .../slsDetector/slsDetectorActions.h | 2 +- .../slsDetector/slsDetectorBase.h | 2 +- .../slsDetector/slsDetectorCommand.cpp | 29 +++++++- .../slsDetector/slsDetectorUtils.h | 2 +- .../slsDetectorAnalysis/energyConversion.cpp | 24 ++++--- .../slsDetectorAnalysis/energyConversion.h | 6 +- slsDetectorSoftware/threadFiles/Task.h | 8 +-- 17 files changed, 152 insertions(+), 80 deletions(-) delete mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.2 diff --git a/slsDetectorSoftware/commonFiles/communication_funcs.c b/slsDetectorSoftware/commonFiles/communication_funcs.c index ab37c8996..e8238731a 100755 --- a/slsDetectorSoftware/commonFiles/communication_funcs.c +++ b/slsDetectorSoftware/commonFiles/communication_funcs.c @@ -550,6 +550,16 @@ int receiveModuleGeneral(int file_des, sls_detector_module* myMod, int receiveA myMod->chipregs=chipptr; myMod->chanregs=chanptr; +#ifdef EIGERD + //feature to exclude sending of trimbtis, nchips=0,nchans=0 in that case + if(myMod->nchip == 0 && myMod->nchan == 0) { + receiveAll=0; + nchipold=0; + nchanold=0; + } +#endif + + nChips=myMod->nchip; nchipdiff=nChips-nchipold; if (nchipold!=nChips) { diff --git a/slsDetectorSoftware/eigerDetectorServer/Makefile b/slsDetectorSoftware/eigerDetectorServer/Makefile index ccf582d27..5c473e367 100755 --- a/slsDetectorSoftware/eigerDetectorServer/Makefile +++ b/slsDetectorSoftware/eigerDetectorServer/Makefile @@ -12,7 +12,7 @@ SRC_CLNT = communication_funcs.c slsDetectorServer.c slsDetectorServer_funcs.c OBJS = $(SRC_CLNT:.c=.o) -all: clean $(PROGS) #hv9m_blackfin_server +all: clean updateVersion $(PROGS) #hv9m_blackfin_server boot: $(OBJS) @@ -32,3 +32,6 @@ hv9m_blackfin_server:9mhvserial_bf.c clean: rm -rf $(DESTDIR)/$(PROGS) *.o $(DESTDIR)/hv9m_blackfin_server +updateVersion: + ./updateGitVersion.sh + diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.2 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.2 deleted file mode 100755 index 8db331b1d23b8985f366ae27d4edba6591d4000f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285478 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%0DoRcly}9^Z#97L?Oopwe(?8Z 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 } - if ((srcMod->nchip)>(destMod->nchip)) { + //no trimbit feature + if (destMod->nchip && ((srcMod->nchip)>(destMod->nchip))) { printf("Number of chip of source is larger than number of chips of destination\n"); return FAIL; } - if ((srcMod->nchan)>(destMod->nchan)) { + //no trimbit feature + if (destMod->nchan && ((srcMod->nchan)>(destMod->nchan))) { printf("Number of channels of source is larger than number of channels of destination\n"); return FAIL; } @@ -1249,14 +1257,19 @@ int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod){ if (srcMod->offset>=0) destMod->offset=srcMod->offset; - for (ichip=0; ichip<(srcMod->nchip); ichip++) { - if (*((srcMod->chipregs)+ichip)>=0) - *((destMod->chipregs)+ichip)=*((srcMod->chipregs)+ichip); - } - for (ichan=0; ichan<(srcMod->nchan); ichan++) { - if (*((srcMod->chanregs)+ichan)>=0) - *((destMod->chanregs)+ichan)=*((srcMod->chanregs)+ichan); + if((destMod->nchip!=0) || (destMod->nchan!=0)) { + for (ichip=0; ichip<(srcMod->nchip); ichip++) { + if (*((srcMod->chipregs)+ichip)>=0) + *((destMod->chipregs)+ichip)=*((srcMod->chipregs)+ichip); + } + for (ichan=0; ichan<(srcMod->nchan); ichan++) { + if (*((srcMod->chanregs)+ichan)>=0) + *((destMod->chanregs)+ichan)=*((srcMod->chanregs)+ichan); + } } +#ifdef VERBOSE + else printf("Not Copying trimbits\n"); +#endif for (idac=0; idac<(srcMod->ndac); idac++) { if (*((srcMod->dacs)+idac)>=0) *((destMod->dacs)+idac)=*((srcMod->dacs)+idac); diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 04cc54322..4a472c281 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -1168,7 +1168,7 @@ int multiSlsDetector::getThresholdEnergy(int pos) { } -int multiSlsDetector::setThresholdEnergy(int e_eV, int pos, detectorSettings isettings) { +int multiSlsDetector::setThresholdEnergy(int e_eV, int pos, detectorSettings isettings, int tb) { int posmin, posmax; int ret=-100; @@ -1189,8 +1189,8 @@ int multiSlsDetector::setThresholdEnergy(int e_eV, int pos, detectorSettings ise for(int idet=posmin; idet(&slsDetector::setThresholdEnergy, - detectors[idet],e_eV,-1,isettings,iret[idet])); + Task* task = new Task(new func4_t(&slsDetector::setThresholdEnergy, + detectors[idet],e_eV,-1,isettings,tb,iret[idet])); threadpool->add_task(task); } } diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h index 22d582151..3d854a714 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h @@ -462,9 +462,10 @@ class multiSlsDetector : public slsDetectorUtils { \param e_eV threshold in eV \param imod module number (-1 all) \param isettings ev. change settings + \param tb 1 to include trimbits, 0 to exclude \returns current threshold value for imod in ev (-1 failed) */ - int setThresholdEnergy(int e_eV, int imod=-1, detectorSettings isettings=GET_SETTINGS); + int setThresholdEnergy(int e_eV, int imod=-1, detectorSettings isettings=GET_SETTINGS,int tb=1); /** get detector settings diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 53ed118ac..62879a78f 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -2980,7 +2980,7 @@ int slsDetector::setModule(int reg, int imod){ }; -int slsDetector::setModule(sls_detector_module module, int iodelay, int tau, int e_eV, int* gainval, int* offsetval){ +int slsDetector::setModule(sls_detector_module module, int iodelay, int tau, int e_eV, int* gainval, int* offsetval, int tb){ int fnum=F_SET_MODULE; int retval; @@ -2997,6 +2997,11 @@ int slsDetector::setModule(sls_detector_module module, int iodelay, int tau, int if (thisDetector->onlineFlag==ONLINE_FLAG) { if (connectControl() == OK){ controlSocket->SendDataOnly(&fnum,sizeof(fnum)); + //to exclude trimbits + if(!tb) { + module.nchan=0; + module.nchip=0; + } sendModule(&module); //not included in module @@ -3030,23 +3035,29 @@ int slsDetector::setModule(sls_detector_module module, int iodelay, int tau, int if (ret!=FAIL) { if (detectorModules) { if (imod>=0 && imodnMod[X]*thisDetector->nMod[Y]) { - (detectorModules+imod)->nchan=module.nchan; - (detectorModules+imod)->nchip=module.nchip; + if(tb) { + (detectorModules+imod)->nchan=module.nchan; + (detectorModules+imod)->nchip=module.nchip; + } (detectorModules+imod)->ndac=module.ndac; (detectorModules+imod)->nadc=module.nadc; - thisDetector->nChips=module.nchip; - thisDetector->nChans=module.nchan/module.nchip; + if(tb) { + thisDetector->nChips=module.nchip; + thisDetector->nChans=module.nchan/module.nchip; + } thisDetector->nDacs=module.ndac; thisDetector->nAdcs=module.nadc; if(thisDetector->myDetectorType != JUNGFRAU){ - for (int ichip=0; ichipnChips; ichip++) { - if (chipregs) - chipregs[ichip+thisDetector->nChips*imod]=module.chipregs[ichip]; + if(tb) { + for (int ichip=0; ichipnChips; ichip++) { + if (chipregs) + chipregs[ichip+thisDetector->nChips*imod]=module.chipregs[ichip]; - if (chanregs) { - for (int i=0; inChans; i++) { - chanregs[i+ichip*thisDetector->nChans+thisDetector->nChips*thisDetector->nChans*imod]=module.chanregs[ichip*thisDetector->nChans+i]; + if (chanregs) { + for (int i=0; inChans; i++) { + chanregs[i+ichip*thisDetector->nChans+thisDetector->nChips*thisDetector->nChans*imod]=module.chanregs[ichip*thisDetector->nChans+i]; + } } } } @@ -3277,11 +3288,11 @@ int slsDetector::getThresholdEnergy(int imod){ return thisDetector->currentThresholdEV; }; -int slsDetector::setThresholdEnergy(int e_eV, int imod, detectorSettings isettings){ +int slsDetector::setThresholdEnergy(int e_eV, int imod, detectorSettings isettings, int tb){ //currently only for eiger if (thisDetector->myDetectorType == EIGER) { - setThresholdEnergyAndSettings(e_eV,isettings); + setThresholdEnergyAndSettings(e_eV,isettings,tb); return thisDetector->currentThresholdEV; } @@ -3322,7 +3333,7 @@ int slsDetector::setThresholdEnergy(int e_eV, int imod, detectorSettings isetti -int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isettings) { +int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isettings, int tb) { //if settings provided, use that, else use the shared memory variable detectorSettings is = ((isettings != GET_SETTINGS) ? isettings: thisDetector->currentSettings); @@ -3388,7 +3399,7 @@ int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isetti #endif //read the files myMod=createModule(); - if (NULL == readSettingsFile(settingsfname,thisDetector->myDetectorType, iodelay, tau, myMod)) { + if (NULL == readSettingsFile(settingsfname,thisDetector->myDetectorType, iodelay, tau, myMod, tb)) { if(myMod)deleteModule(myMod); return FAIL; } @@ -3423,13 +3434,13 @@ int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isetti int tau1 = -1; //not included in the module int iodelay2 = -1; //not included in the module int tau2 = -1; //not included in the module - if (NULL == readSettingsFile(settingsfname1,thisDetector->myDetectorType, iodelay1, tau1, myMod1)) { + if (NULL == readSettingsFile(settingsfname1,thisDetector->myDetectorType, iodelay1, tau1, myMod1, tb)) { setErrorMask((getErrorMask())|(SETTINGS_FILE_NOT_OPEN)); deleteModule(myMod1); deleteModule(myMod2); return FAIL; } - if (NULL == readSettingsFile(settingsfname2,thisDetector->myDetectorType, iodelay2, tau2, myMod2)) { + if (NULL == readSettingsFile(settingsfname2,thisDetector->myDetectorType, iodelay2, tau2, myMod2, tb)) { setErrorMask((getErrorMask())|(SETTINGS_FILE_NOT_OPEN)); deleteModule(myMod1); deleteModule(myMod2); @@ -3445,7 +3456,7 @@ int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isetti iodelay = iodelay1; //interpolate module - myMod = interpolateTrim(thisDetector->myDetectorType, myMod1, myMod2, e_eV, trim1, trim2); + myMod = interpolateTrim(thisDetector->myDetectorType, myMod1, myMod2, e_eV, trim1, trim2, tb); if (myMod == NULL) { printf("Could not interpolate, different dac values in files\n"); setErrorMask((getErrorMask())|(SETTINGS_NOT_SET)); @@ -3461,7 +3472,7 @@ int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isetti myMod->module=0; myMod->reg=thisDetector->currentSettings; - setModule(*myMod, iodelay, tau, e_eV, 0, 0); + setModule(*myMod, iodelay, tau, e_eV, 0, 0, tb); deleteModule(myMod); if (getSettings(-1) != is){ std::cout << "Could not set settings in detector" << endl; diff --git a/slsDetectorSoftware/slsDetector/slsDetector.h b/slsDetectorSoftware/slsDetector/slsDetector.h index eca4863b5..a35f2b697 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.h +++ b/slsDetectorSoftware/slsDetector/slsDetector.h @@ -965,10 +965,11 @@ class slsDetector : public slsDetectorUtils, public energyConversion { \param e_eV threashold in eV (detector specific) \param gainval pointer to extra gain values \param offsetval pointer to extra offset values + \param tb 1 to include trimbits, 0 to exclude (used for eiger) \returns current register value \sa ::sls_detector_module */ - int setModule(sls_detector_module module, int iodelay, int tau, int e_eV, int* gainval=0, int* offsetval=0); + int setModule(sls_detector_module module, int iodelay, int tau, int e_eV, int* gainval=0, int* offsetval=0, int tb=1); //virtual int setModule(sls_detector_module module); /** @@ -999,17 +1000,19 @@ class slsDetector : public slsDetectorUtils, public energyConversion { \param e_eV threshold in eV \param imod module number (-1 all) \param isettings ev. change settings + \param tb 1 to include trimbits, 0 to exclude \returns current threshold value for imod in ev (-1 failed) */ - int setThresholdEnergy(int e_eV, int imod=-1, detectorSettings isettings=GET_SETTINGS); + int setThresholdEnergy(int e_eV, int imod=-1, detectorSettings isettings=GET_SETTINGS, int tb=1); /** set threshold energy \param e_eV threshold in eV \param isettings ev. change settings + \param tb 1 to include trimbits, 0 to exclude \returns OK if successful, else FAIL */ - int setThresholdEnergyAndSettings(int e_eV, detectorSettings isettings); + int setThresholdEnergyAndSettings(int e_eV, detectorSettings isettings, int tb=1); /** get detector settings diff --git a/slsDetectorSoftware/slsDetector/slsDetectorActions.h b/slsDetectorSoftware/slsDetector/slsDetectorActions.h index a034e6bf0..b0b7dfe56 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorActions.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorActions.h @@ -207,7 +207,7 @@ class slsDetectorActions : public virtual slsDetectorBase /* *\/ */ /* virtual detectorType getDetectorsType(int pos=-1)=0; */ - virtual int setThresholdEnergy(int, int im=-1, detectorSettings isettings=GET_SETTINGS)=0; + virtual int setThresholdEnergy(int, int im=-1, detectorSettings isettings=GET_SETTINGS, int tb=1)=0; virtual int setChannel(int64_t, int ich=-1, int ichip=-1, int imod=-1)=0; diff --git a/slsDetectorSoftware/slsDetector/slsDetectorBase.h b/slsDetectorSoftware/slsDetector/slsDetectorBase.h index e29e17a30..e19cb992d 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorBase.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorBase.h @@ -429,7 +429,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef virtual externalCommunicationMode setExternalCommunicationMode(externalCommunicationMode pol=GET_EXTERNAL_COMMUNICATION_MODE)=0; int setTimingMode(int i=-1){return slsDetectorUsers::getTimingMode( externalCommunicationType( setExternalCommunicationMode(externalCommunicationType( slsDetectorUsers::getTimingMode(i) ) ) ) );}; - virtual int setThresholdEnergy(int e_eV, int imod, detectorSettings isettings=GET_SETTINGS)=0; + virtual int setThresholdEnergy(int e_eV, int imod, detectorSettings isettings=GET_SETTINGS, int tb=1)=0; int setThresholdEnergy(int e_eV){return setThresholdEnergy(e_eV,-1);}; diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 230666be6..43e080e76 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -564,6 +564,10 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) { descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSettings; i++; + descrToFuncMap[i].m_pFuncName="thresholdnotb"; // + descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSettings; + i++; + descrToFuncMap[i].m_pFuncName="trimbits"; // descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSettings; i++; @@ -3390,10 +3394,10 @@ string slsDetectorCommand::cmdSettings(int narg, char *args[], int action) { return myDet->getDetectorSettings(myDet->getSettings()); } else if (cmd=="threshold") { if (action==PUT_ACTION) { - detectorType type = myDet->getDetectorsType(); if (!sscanf(args[1],"%d",&val)) { return string("invalid threshold value"); } + detectorType type = myDet->getDetectorsType(); if (type != EIGER || (type == EIGER && narg<=2)) { myDet->setThresholdEnergy(val); } else { @@ -3405,6 +3409,25 @@ string slsDetectorCommand::cmdSettings(int narg, char *args[], int action) { } sprintf(ans,"%d",myDet->getThresholdEnergy()); return string(ans); + } else if (cmd=="thresholdnotb") { + if (action==PUT_ACTION) { + if (!sscanf(args[1],"%d",&val)) { + return string("invalid threshold value"); + } + detectorType type = myDet->getDetectorsType(); + if (type != EIGER) + return string("not implemented for this detector"); + if (narg<=2) { + myDet->setThresholdEnergy(val, -1, GET_SETTINGS, 0); + } else { + detectorSettings sett= myDet->getDetectorSettings(string(args[2])); + if(sett == -1) + return string("invalid settings value"); + myDet->setThresholdEnergy(val, -1, sett, 0); + } + } + sprintf(ans,"%d",myDet->getThresholdEnergy()); + return string(ans); } else if (cmd=="trimbits") { if (narg>=2) { string sval=string(args[1]); @@ -3487,7 +3510,8 @@ string slsDetectorCommand::helpSettings(int narg, char *args[], int action) { if (action==PUT_ACTION || action==HELP_ACTION) { os << "settings s \n sets the settings of the detector - can be standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain" "lownoise, dynamichg0,fixgain1,fixgain2,forceswitchg1, forceswitchg2"<< std::endl; - os << "threshold eV\n sets the detector threshold in eV"<< std::endl; + os << "threshold eV [sett]\n sets the detector threshold in eV. If sett is provided for eiger, uses settings sett"<< std::endl; + os << "thresholdnotb eV [sett]\n sets the detector threshold in eV without loading trimbits. If sett is provided for eiger, uses settings sett"<< std::endl; os << "trimbits fname\n loads the trimfile fname to the detector. If no extension is specified, the serial number of each module will be attached."<< std::endl; os << "trim:mode fname\n trims the detector according to mode (can be noise, beam, improve, fix) and saves the resulting trimbits to file fname."<< std::endl; os << "trimval i \n sets all the trimbits to i" << std::endl; @@ -3497,6 +3521,7 @@ string slsDetectorCommand::helpSettings(int narg, char *args[], int action) { if (action==GET_ACTION || action==HELP_ACTION) { os << "settings \n gets the settings of the detector"<< std::endl; os << "threshold V\n gets the detector threshold"<< std::endl; + os << "thresholdnotb V\n gets the detector threshold"<< std::endl; os << "trimbits [fname]\n returns the trimfile loaded on the detector. If fname is specified the trimbits are saved to file. If no extension is specified, the serial number of each module will be attached."<< std::endl; os << "trimval \n returns the value all trimbits are set to. If they are different, returns -1." << std::endl; } diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h index 82b78032d..b6c684559 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h @@ -421,7 +421,7 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing { // double* convertAngles(){return convertAngles(currentPosition);}; // virtual double* convertAngles(double pos)=0; - virtual int setThresholdEnergy(int, int im=-1, detectorSettings isettings=GET_SETTINGS)=0; + virtual int setThresholdEnergy(int, int im=-1, detectorSettings isettings=GET_SETTINGS, int tb=1)=0; virtual int setChannel(int64_t, int ich=-1, int ichip=-1, int imod=-1)=0; virtual double getRateCorrectionTau()=0; diff --git a/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp b/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp index 57eee451b..9afe150f1 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp +++ b/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp @@ -138,7 +138,7 @@ int energyConversion::writeCalibrationFile(string fname, int *gain, int *offset) -slsDetectorDefs::sls_detector_module* energyConversion::interpolateTrim(detectorType myDetectorType, sls_detector_module* a, sls_detector_module* b, const int energy, const int e1, const int e2){ +slsDetectorDefs::sls_detector_module* energyConversion::interpolateTrim(detectorType myDetectorType, sls_detector_module* a, sls_detector_module* b, const int energy, const int e1, const int e2, int tb){ // only implemented for eiger currently (in terms of which dacs) if(myDetectorType != EIGER) { printf("Interpolation of Trim values not implemented for this detector!\n"); @@ -168,8 +168,10 @@ slsDetectorDefs::sls_detector_module* energyConversion::interpolateTrim(detector } //Interpolate all trimbits - for (int i = 0; inchan; i++) - myMod->chanregs[i] = linearInterpolation(energy, e1, e2, a->chanregs[i], b->chanregs[i]); + if(tb) { + for (int i = 0; inchan; i++) + myMod->chanregs[i] = linearInterpolation(energy, e1, e2, a->chanregs[i], b->chanregs[i]); + } return myMod; } @@ -180,7 +182,7 @@ slsDetectorDefs::sls_detector_module* energyConversion::interpolateTrim(detector /* I/O */ -slsDetectorDefs::sls_detector_module* energyConversion::readSettingsFile(string fname, detectorType myDetectorType, int& iodelay, int& tau, sls_detector_module* myMod){ +slsDetectorDefs::sls_detector_module* energyConversion::readSettingsFile(string fname, detectorType myDetectorType, int& iodelay, int& tau, sls_detector_module* myMod, int tb){ @@ -372,19 +374,21 @@ slsDetectorDefs::sls_detector_module* energyConversion::readSettingsFile(string infile.read((char*) myMod->dacs,sizeof(dacs_t)*(myMod->ndac)); infile.read((char*)&iodelay,sizeof(iodelay)); infile.read((char*)&tau,sizeof(tau)); - infile.read((char*) myMod->chanregs,sizeof(int)*(myMod->nchan)); #ifdef VERBOSE for(int i=0;indac;i++) std::cout << "dac " << i << ":" << myMod->dacs[i] << std::endl; std::cout << "iodelay:" << iodelay << std::endl; std::cout << "tau:" << tau << std::endl; #endif - if(infile.eof()){ - cout<chanregs,sizeof(int)*(myMod->nchan)); + if(infile.eof()){ + cout< If it is NULL a new module structure will be created + \param tb 1 to include trimbits, 0 to exclude (used for eiger) \returns the pointer to myMod or NULL if reading the file failed */ - sls_detector_module* readSettingsFile(string fname, detectorType myDetectorType, int& iodelay, int& tau, sls_detector_module* myMod=NULL); + sls_detector_module* readSettingsFile(string fname, detectorType myDetectorType, int& iodelay, int& tau, sls_detector_module* myMod=NULL, int tb=1); /** writes a trim/settings file diff --git a/slsDetectorSoftware/threadFiles/Task.h b/slsDetectorSoftware/threadFiles/Task.h index ac33aa23b..5aff13284 100644 --- a/slsDetectorSoftware/threadFiles/Task.h +++ b/slsDetectorSoftware/threadFiles/Task.h @@ -129,8 +129,8 @@ public: 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),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),m14(0),m15(0){}; + /* Return: int, Param: int,int,detectorSettings,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(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 */ @@ -185,8 +185,8 @@ private: func2_t * m11; /* Return: void, Param: none */ func00_t * m12; - /* Return: int, Param: int,int,detectorSettings */ - func3_t * m13; + /* Return: int, Param: int,int,detectorSettings,int */ + func4_t * m13; /* Return: dacs_t, Param: dacs_t, dacIndex, int, int */ func4_t * m14; /* Return: dacs_t, Param: dacIndex, int */ From 2126e2a723a9789d2de13c6aabe75c2393ca0403 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 10:24:49 +0200 Subject: [PATCH 03/41] added updategit --- .../eigerDetectorServer/updateGitVersion.sh | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 slsDetectorSoftware/eigerDetectorServer/updateGitVersion.sh diff --git a/slsDetectorSoftware/eigerDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/eigerDetectorServer/updateGitVersion.sh new file mode 100755 index 000000000..800a31bed --- /dev/null +++ b/slsDetectorSoftware/eigerDetectorServer/updateGitVersion.sh @@ -0,0 +1,42 @@ +GITREPO1='git remote -v' +GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" +BRANCH1='git branch -v' +BRANCH2=" | grep '*' | cut -d' ' -f2" +REPUID1='git log --pretty=format:"%H" -1' +AUTH1_1='git log --pretty=format:"%cn" -1' +AUTH1_2=" | cut -d' ' -f1" +AUTH2_1='git log --pretty=format:"%cn" -1' +AUTH2_2=" | cut -d' ' -f2" +FOLDERREV1='git log --oneline . ' #used for all the individual server folders +FOLDERREV2=" | wc -l" #used for all the individual server folders +REV1='git log --oneline ' +REV2=" | wc -l" +RDATE1='git log --pretty=format:"%ci" -1' +COMMIT_TITLE_SCRIPT='git log --pretty=format:"%s" -1' + +cd .. +COMMIT_TITLE_SCRIPT='git log --pretty=format:"%s" -1 eigerDetectorServer' +COMMIT_TITLE=`eval $COMMIT_TITLE_SCRIPT` +echo $COMMIT_TITLE +if [ "$COMMIT_TITLE" == "updatereveiger" ]; then +echo "No update" +elif [ "$COMMIT_TITLE" == "updaterev" ]; then +echo "No update" +else +cd eigerDetectorServer +GITREPO=`eval $GITREPO1 $GITREPO2` +BRANCH=`eval $BRANCH1 $BRANCH2` +REPUID=`eval $REPUID1` +AUTH1=`eval $AUTH1_1 $AUTH1_2` +AUTH2=`eval $AUTH2_1 $AUTH2_2` +REV=`eval $REV1 $REV2` +FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +RDATE=`eval $RDATE1` +echo Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer $'\n'URL: ${GITREPO}/eigerDetectorServer $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt +cd ../../ +./genVersionHeader.sh slsDetectorSoftware/eigerDetectorServer/gitInfo.txt slsDetectorSoftware/eigerDetectorServer/gitInfoEigerTmp.h slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h +echo "Revision Updated" +cd slsDetectorSoftware +fi + +cd eigerDetectorServer From c2624daa9a4ef11d7c749fc695133c354a3aa788 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 10:27:40 +0200 Subject: [PATCH 04/41] uncommented a print --- slsDetectorSoftware/slsDetector/slsDetector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 62879a78f..5b284e57b 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -3463,7 +3463,7 @@ int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isetti } //interpolate tau tau = linearInterpolation(e_eV, trim1, trim2, tau1, tau2); - printf("new tau:%d\n",tau); + //printf("new tau:%d\n",tau); deleteModule(myMod1); deleteModule(myMod2); From a7d3006cda397058ba2a12b6550f35b564b578c4 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 10:48:03 +0200 Subject: [PATCH 05/41] added updateversion into makefile while compiling --- .../bin/eigerDetectorServerv3.0.0.16.3 | Bin 0 -> 285766 bytes .../eigerDetectorServer/gitInfo.txt | 8 ++--- .../eigerDetectorServer/gitInfoEiger.h | 8 ++--- .../eigerDetectorServer/updateGitVersion.sh | 27 ++++++-------- .../jungfrauDetectorServer/Makefile | 5 ++- .../bin/jungfrauDetectorServerv3.0.0.3 | Bin 105044 -> 105044 bytes .../jungfrauDetectorServer/gitInfo.txt | 8 ++--- .../jungfrauDetectorServer/gitInfoJungfrau.h | 8 ++--- .../updateGitVersion.sh | 34 ++++++++++++++++++ 9 files changed, 65 insertions(+), 33 deletions(-) create mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.3 create mode 100755 slsDetectorSoftware/jungfrauDetectorServer/updateGitVersion.sh diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.3 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.3 new file mode 100755 index 0000000000000000000000000000000000000000..3ef6a6fb383b39952e3b2717e7c8746879f507e1 GIT binary patch literal 285766 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%0A{QJK4&A^ZCs2{Bff#uT09lq{pav@Q>H& zwrt~}pDMh{cqQ++AP*TBgf4IPJ7Gw?XvzXF#b%sH7n*Sxe3|w$=2fOVNXvA0Y@-J- zLN? zsXOg??Q!4{$0KI39r%(j5?=|(qaDCS+250n9D#DIE zaK~XwLZQ;_kSHf3D{}|hfS@N{vWr&#&xEg zOIF`gZhd>bHI2JJ=rNeH#1?Gb@9I9pH^?5g?lptK2L3TI=Dw7z=zn&`SI2TJ<*|FP z$FzH+%v0NZ*iuKnHhd1goQQry=Y}(59JJjgB>%8&@b7P|A>78!VOrMi)=M9@c)@^) z3Gz&vjzve+neQ7qKo-((hMjm%mtUU~lK-LQd0HoQ&60kMO+j0h^LCIi9i5lzbETRh zeQxrrgFdH<4HY^UJ|1a^J0?0Qj|fM1G4>kj`?>EtXkhVc%fji=l>G|-$Mk>HuMXtL zD_Qp6Wa~dg6T)lxJ_Az{wPs!Xg999Qd2BKEH{Q7feVg@)v`v?(d%X6YAJ?*Im9}rV zN7qj8Dztzwkx;vwe@UU&J z3>aHo$BLmlI?%S6qkg(HV_aqrEMyDyv!Z^+*tAR*IUbX5T6g2yEjBpoe2hWM;zMH)xQG;L$BU)?$BL$0!Q#ymE zu>~5ZNYUa9c9hW>9b<(8RnNiJwpbwhe!tIJYwvge3W0X+x##n_f8?|CzH6;#J!#)XDRi821s|&G_-oUY;wf(Z0a1#D^oDnBT6*oa*T` z?Q76p_TQuZ611mJL4T0_;ZA|FApS2pk7uUe^NqhVw{*QjO=j-kzOzw-#KSYWJbO-s zcW%KRyS(4n$3K~mW_%h;!6y&Edlx>yhv4;VR)+EaM6@XyWBS_A4=OfKt=yS>Q@Zc$ z;2xeoT)4o~j!9p3O#bVIraz8FDgJ*s%d4{OL)5!_`1~(hk%g(wmj7SD{h;+{$EWus z4`6MVPfz}y{D1H8@cAEDYUYGKSNAy1Ck5_)%<><1z{N`QcHpBdznt>Y_1?X0_+t_qpNo%F5~rn|lYZmS*gKY5E6V$kH?vp9Ve|KA+UvS(s=arfDmK6s`OEmD;36$G>L9L!U zD-LDp{A=D%Ok{#@PTB?3bLrE; zE(CE7whnDZppEsTY+k>g?PC?ZO9O4)vd(suQnY=r^8vOuaX9Sb_wV+}%Mw#Z?6$9t zKVF(;>XgI2RQc*$;e$i_&%T_NUIdQ)2)qWE%lm%Dj)9+sM-R@@{QJrz%7Nj%%}r;0 zzEX0Ko5z#A6x`-6 z&L_Modfw2C_~y-Pa_RlY*M0ONm!f@c)H^S?-b)#JHQXN^lXe>4tZ!I|Z@i!3N z(Lee-*vvA@2>Pqnaot~4n0?1m7kY!fi61s%s4vsz*UB7IPKM9TN$hDZeO4jM*LQKp zfZmf?Z+I&H0N_4kX(K%ve%WI_{LLK6-1kfVo+IxMzHND{EQZ%sW80RYR zuxCY$j$Ij(@d+$4>wnH`dMsBm=M*$|R6$l2eZ*({u0XD08|s+77umJGtlnO^*}%L{ z>uo2+_^R231A+V;&YUUV|GvEzxN|34hcYsH-B>l&;PXNAl3zx3DxH*Z3_wj6P^r27XWcvb-q7f!~iSg2O7;;K1=G4s(ST$4JYyVT-|*ob45m6wA4?cC|OLHF-`j9<=!%M4x6l^lnM zrh{)a_>Q>3_uK>2E#F*Pt}iZ=E6u#P>lM>C?NLp$ zn>TN@ek+`}`n{dEm*vn|fWw_1701EOi@OZ{>SN4-n!-8oP*ls-UE?&aYJUb-jYpx5 z(eI1t7>z5+i}UNw68y5b-nqfx!0#Ly-~A!+$+P-%{&y)m#(tZ5{E(+7RCDr9Jnp?xF#z6HqF&b!>{dCX~i_r)2iRUv`6<##CUzMDuoyVx#5QYv# z-3aQMwOxn&E|Giwr+aMQ7%TdMrRp8_7RkCEbE365zKSXrU&_d^_2C##+SqntKHS8D zKy?@NEZ*n9nwkD*-p|xd8YrjuzXf%2a*w6k{*>P*8%_?AIldY_Mnm$ZZJ4}ys5EcN zGBF|K*YHMdM*ru)o1cF4d+=tsxvA~o{h4&lkU161A8TV}e+cGOuy78Y^v`R{mp<^t z<~l+gOTT_G=O`>c&HRUci<|i`cbnn9 z#Q)w&dTU|-xrZA%rjqsq_2~E6vCGE5xiLe@vGdKj7~zBW+4VuLp&Olxer~k$f<74e zNBph5AP#m+isYkxw5HdyPr`-Fl;U4D#_3X_qTeWcJagWdYc2R5r1gitYT}LC?fy@W zwQKiI#wteO-dDSyTJ{LDJ?|!`Jdy_56S>=&G-AzV8FUhTcI3&92k?vix$(~>8eoeI z9K^>;=g#ErXXg9z^K4uLW1fp^XUv5;$a6toe_Q0t=ul$=zIwp$9BWg5Ih(u!PM*In zmgmar|M&|0C$3v!FU8l&QMcAVj>)GWFNO!pUjh!O8&&T+Hg4s&ieXo4lUv?rzOW|w zV|+U(aNFzThZ(1AELw6s|DEkR$Kv8!G43p#3vh8?pxZ*cLh-MK0rOqbvwEx>3ga)8 zbi;a$?O)#Z%a+tvUo-i>+iui6s6dYE0>2FwdPC}KtB50DOZ=nlM+JFc?{nd}x@KIt zcYyv@{`iQEjpKfxaQyr<#;Ghf_qoMyFB|pUeigsAIMd(J_XCao#J6-qBliVg~TI99-@X1`!#)YuQxE3pe|&h;%;AG#)tfx ztt;za=wrI+4|$;x$I&0+$I$1&1J}HV9E_mN#u{1qNb;;!IRT?{aWt6!=p&MB=DZmzaU?5W%lZT(0YO-R`#Ve||5c?ebB}ST?RfjgmV>Zit2w3ubl- zU4Uu6rJIQ%QP)j@uZD-NACKk+<^Eo{G>q(PyZq?ju<$W4f*&70F1dJA<@2Qe_vcB~ zIr8KzaTzvGfREt`eDGPr1#27IfgVMLm|{9hw8XMxkO z`INakN)3-k{_zrg>i=*&`a{UjS>QBm9%W@IH8%IVW3UUOA{$P|@!o&e5aT`EkNrEw zO#VBX=u^Wl`WY3MhH`^(KY z-=4_$_~@fU;9+j0#*~EDrQubTg6H^fHg>jbjeQ3@`!V`}f3X_pWZJs4jgq7*dv+uG#1Zj(H(X`23RypU|^f>=^2gW}W2lIct zcOn~pb3*8rn4?dB%V&!CWb(}U;i> z_$T|hHmYMNU2pfhdG$oTSkK~}p|x-wv1nYEsI!g#E4e)6lggVd9QbO(ros4yB7^W}3*x%0d^$U_w95YEAm`u3 zZm~S+&R<)+LF2a4^>$rhbWvqC_i;MY)<<)%9?w>Zf3P0M@hsK%QwC<059SjVAHduL zI?6(7^-&G;&t5e$@>*$_KX{=Co;kS!4RcM%z%=VWDm4VmNriZx61mA8?=?#eOq2hV zn4=PKs~C@Szoc0!pgj5Gdz*jwL(2m42hR54%fk0%|ALYCA!OkP;|h6vGSjwD7H)$4 z%eO=rx0R5E?{6sN@ySO@%fgK>nmq&uO2d5qxgvN@^}#ec$jZWvUokM5-zb6S^RoYy zdHJl&{!Vmzaap+WVgs|jYl`G;j4X`UX83$Ia!@pHhVwzMbBz=Fy9RjIXc?S!J>KVi zBQ1T1beVo@WFExV^hE=+-Zb-yxhAXsOXb3f;sE_mUgr2XMjtVU)rx*=p|kREocRQF zs(hCLyrGVgZ*ETAm>%FW`DWHwt=%0Cep$Poy?X-w*qYGal}0Aotgfv=rQuG z&<3nM&&mtx&PCmq_-yO8^rn0^;Nf?Dbzv`lyTM;K*S0+ToUNOkFKbTev72G?Gsw;1 zo@cD}R9HB$7gZU5AkX*7_%m6$bH)Ssd%&rJb3*u_{os)CoAYu^4}Z$yhjx-1&rvg<{$`?~!>)h&$E_6pMg0omNmJ9oH#iKq<-WGMU(Jgm zaFy6#=n{TkWtMGMfNz7GCzm}1_Wl#?BlZ=8DK;1|-E)Q6Ug0W>i>6q8F`s=k|aIo}yh@k#;(6FnF1E>(TCdw43gmyNsk2gd+_7(&Kbt|mDD>%PQkmt0rX>KcqraQ{PhfOYk}uIpk1e746~zQ_D>a#z#NrjwAg^!=Fc7%82IA^d~e9k90%>(`|gE*D2!i?%i|c zkB#>xxku7>G}v!g_f7Q4mFU_@ZqV$nkh_u~6OU{LE(<`H_?JeOOx>!yx{oT<#do>1 zZ*Jtr)UC;{+k(0mpl*!(YIY%XnnxBV*#{#0P>;$Qjpos`gyzwsZ$tyrc)nb0g=fw* z0bU2**>!Ti%uj5uC|B&u_M_o^9edlSVIQK-1sEBc7^`r4iqvgIUGA^3K37S5W^8-G z{eTu*e?F{bfW*@cb&)%#|!ztsP*5YfvNWl1D|5KCE4dST>Eb4Oi1;)#I5W0Y))g%OwqfbXWjHk zF3*jl&JC)Z>oTM-`_1JD_rIMT9@%0QYs>kU#D%y_2txZ@K5IE&V?W#rLkdHmbgRM}D1X zVA90}@6=Bu4r83iykS(moROdF`m^8iXz87Hb$rVo|5HnU`mXri1*xd&yCxH>6rOqM zZc#J$$JPE<09S0^)v0xxHSRAzWWRHVXRJNHoUk}?4+8feB=_PxI=-pOZ|?%<+0-Lf z_pkfF)W0!PpXb&uMZGUdJ>-AnJKsE)Y|pS_&0DpnkT)>{cu`d~h*()gj-96`x_80i9?g8d4AG&6nd`plSRV##0JVBcl+`(x4<;_^QN z?Kb}>;~0uRhC8=fkYCB@!&0$jF&qN8FXRQ=UpAgS_M&|U9865`n8Xg~e>VD}eOW>| z2&u_CA6jnTM$7 zsZlx)qGo(jIR4)dza<(7+wu43NV0V0=6JGWZT9gYH{{Grf0)Tp0Z$XNeX}|mXlDEa zc@1pOr=2o3GyOjv^5JFM!H*8VWZI$5;PXZ5%talu{uhX`E@_rN#JBq1645K*+067Q z$K)m}@&7&iA3PNw+lOlp;I)}P%Lyl>cBy6;^ICj(41|8yig(7Z&%9&3GE-05YG0?1 zJ|E$<`pXPlQnl8l4r~K1~=R+uzhW% zo{niUYkaLU(?5I8@(Frtq`>OkrN^v)S1Z@Y;4?uElNmeh8+*iqe|n1^d&zN}$+s<- z1LzNNH=4dPNXmWSPDR1^(bjV7MOrd;xUU^2o_}=avH8Oi1zM-*A^J-_@ z2P33K7cy+$C>)jcb-~OH3v%Fd+IbY5r@XFYRZyu-IL<1Ae z{2Ug)3Tz*2l*H{FVFAu+%a-qm^f?t`l_k_!`<+C9*5nj1l&0GlXYJ? z*fzg@qIchf&bIsUi+vp6nQEJf_m|aAOx$%{XIr#>BF6@NKA(Rv_3q>t?&$3rhk1_g zQzphae-(CQ95Q7XU+Q8z&W&Bzqtrz@>^S2dAtTqyKZdC1(@}l=4i>*>vj=sMXGeda zVP^XEmpDG`f6Zj2k}v#9=0Et9^>vEa8u-PTd-2H^_N8(7-V(GOM!xuaOYC^$#bnuW z@cG{0vwYvk@&PpH^Zx7gS_^pxKGmY!-j|8xJ+9pXWi0oUV^)IsN=N;)fh`tHIN!Kl+#- zmmDbMn`7t3Fg&oWw1cW^3eLHuOW?V)ZeWu!%=b3@Gy zucN$k3~h4g_bODYtJEmj3WH+Sj10b6|mo~wm_DsT_l)(+w%!B-{QE7!N>1Ry{sO{*aY~0Z^^zaz^I{r2paO% zmpa8}7#teui_T2H-DLTl^_~CSZ!@fX?bq^k)eB|}{Jv8uz7*IE;|u4nkzqfxgEJRz zZSmnUeP;UK#Ghrqq$PL%%zr)Rt83Q9-j>)YS9Uf?E+-nes-g(qrF^~u{SBFhZ~oSZ zB7GLI85=s|0+Bx&eQ+$h_9~U>01r0XwSG| zF6LTgyo@^OU$6JkLLCQwZZvwc@tD?E|JGcjPD<0;_#(%{`X|7d^HuI7hE3!7_)5qr z^x!epll*nURiA5XNDrbf2ntypY$?wIrKYQk!qzsLH^TSU>);|0~WZlE>M%L@x zRitP2XV*?-dgUtC8n}><2|NAzZN3rj6bDkSl*zz^t|C-yyCbeSDb4?Vn z&o3n2p-+@bM(`c-$SS}rlJD{7Q8!-WgEAXXR>Y;e9e;(}rhXE3<93d|0XtboE@w z3F+p#ZN12a+Njs*eu%!`L3tWEPRJ5)I}ftM_!;v4ctrF^L7j$UdM;NA?WiX*51pF_ ztKkI$XP<@x{=5So2O2=X%vsu9=Cbhn+@+aZAMCpa|48PMdhR^SOFPEY?Z6qfd;L>I z$^?g~+HyL-EE=eP$-cAqo7%BK{a0)ma4v6(?`7P9^Dj8lLVwkKlYLE8ufI0AzH<0M z^s{X)n(Z+UI@zYH9`grnIA-Fzb?)k<@hjW5}y?G<69^2_rveS6F1^) zbWT;*6!F{Q+K(QTb99io>Sh=5UIg{0s1)S4dy+flxPEr=>~?oeaZ@-$&~5phy}RUZ z3iusWe=m7T_==Nbmn``#`b1k*tnHUAe=Xdo`nwlNe@vC{mi@HgA!r&IQhT@C_`t}C zi(l$~_>&dP`MA9EhhvjHBjgtH+pMD?UwfsVSDPeu5T7P*UQOLND&pfyJ^0e-dk*1w zqVGA3=N8{{1kclb&rv+j0xzn8tKq-12eQ63GiJVVH1oLz^I5)=A~|aHgz!~xEtHKA zd5}xL>O_Av;C-!MRxy`Fjzk`PeP-Gx83)N3E8(9{j`HBUos-|5f5g4I+0|PCX5|bB=QC%zVt8VdK1C{*+QUCuw*AxXb~l?QIsPLS6Ii23v+X z*a2Bt3>}E|jqT%n@0Z~HQX?B3kd4JHy+0h#a@?DhjXXJyY;@{#+eGAU^r+hS-BP*+ zZMdFOk3Jf~)8o32ukP~UBJ%-tLZ~wl`nLo6cQMuvAM@3bIf6Q2)M-H-x$_%!?)KG@ zd4oDaPZmz^Y+DCq5wxG4)yrS?+gq7uzV@b%-pu%;EQ6JNNHV^s}I1}8t_$e9=SR( zR~Ly5HZ~#LYkjTt**LdgF3DZ}1$xl0i~KONcIKPcmzrx+H#%E0^!jvWMz`kq8ToqK z%(o@GNls|C(J} z@sO2gE9+79)M0Id&eg81Xf6VCjfR=)Go77X`%OQ_Ya|x`w`1(Y_KKfj_O(Lh;$2fB zJzcj)R^`}wj6ZZM{O-jWooL3r!|!v1;i~~|#FQZqpH4SN>>f0&YizqrnNOb3Uh*)_ z$w+S|_x()zvzL+=DhW?;8Uo&ZKAcTX=;cq@ci_P(p;h$?PSLhQ61svG1~D+$-^JH1L^X`Oi{0 zubljgS-0WZ^%ux*t^?(*JCw`;nz`_k@ zsT)S!*<35h%*oumcE6d6(~%F7yFEF!s}YX^{wd5O#L}a9FEaP%BEJ9hl1XmW$mWK< z+wIz)rWqSV5f7ps?fDt%m2HZthgsL{nj&`{)OZ!nK|I&txeo1-!`EvR_@BA*^D##3 z-@O=X(*APLi+slubAS`R$+LHR*A!JH>o2&o!S3x^GY&bVse0cA^k5ZytlHE&=r@hH zOZSO2{Tkjcm5IUm|5b7qS6YD|c5NV1f`MBgQy$W|g!zyP4RQv7G3A$U|9k!xNivPol)VxF6Bl zglmT=TRcSB#!_Xz{$FGN#?Q?B4?q0?=U=`aC_)>*`OS3zdoGJ}0rwD%#M*7@67Gw( z@By>jCztuKi{;@9?!qQ)qjRE!+vKWi@mobdNbfuP)OXGMjrgthy?>1FyWqbYKjSrw z|8!HAGU$i#W%GV9e*G}o_`WL(i-&`M9vtSVEdAuaz%~4k9BeWAiuqkF^rze> zwhBDh8R$5b9qT`N&Xo80%FBJ_{Qec&?>GDj`pWJxWdo*cv9IhlQ}(eB?g3vpzmEmD znp75vDBUgZo;x{ErWlFT>U2faTw7Pu~;I$@(A1-Un}v zul}68zFJW>vdKNT9lx-jo96hwS9f{tUWE%D!F^m!)*iqPSHeejK;IS8HoggGgf94q zbC>o9awvW|?DQM#Bcu+#MO#k!#+g*E)pNY;-U-XQSt7S6lbrX4bU*sQH;Suxo{an# z{(W~sU&jz*S4`(+?np(ywSbe!f#Nymj$7a_J`e0~6>)7zy^2`l^6#!rYMV+O5LvHk z48OWr2lzb(dba_Vw1KbQ9aR$~e+gbx8vblWy;n`UezucXEKqeD+CjIE;yusYFTnXs z95ef+?&g)tUTD$fYC;0ME2USL7`?C-HpzZVF=cqt2|QA!5BNm* z-Vx3vg6>r)=YGx*e(Uf%5%=TsIgDREx8VJB{6_HGj^F8c&*vz9`Aiu2Uv=Yu!q|*o z!r(Ju@R>07;FmBC;g>M@Oc;Eg700+?%p@+sm<6J${xrs{6*zO<%s*zY=`s7G!?=?= z+J&4R>Vz_SK{ZI86)>wz*+gI2Bb0xXRhzP~uk0RER%6Oqd}X(pvRYFX@s){>1(@`K ziOY0f*`=mkohgg@$|QC|yLwYLD_d4CJ|@cOvvFRZK%GYVzeeup`&PsEt%2`b3*VQ0 z*LB^_d)3dQ|4W#S+%p4N*XJ~ns0+DFrsl}IMEurHfBBjzDu(jdBzN}vcQo8LR^N|( zCH6cG;xF0?Tw)rRZ&}%op)am~$Mkqq{u+Ife&1NsTl(jiGT&I#Tl(jkGT&HSX6cWc zGT&HS_Nw7&yD9UH#bwW#vJO+`8;i>xGi8fSnQtsEOPI1Hrpz}Mm)&8?Bwu01VySN| z=3p%5Vl3hqi*}3!`(BK(SP~6XPR0LKsj+H~@Oq<~h-d1Dx#pR2;o`Z&JX0>~@VuDM zn4eMnKL@-gjJfz_+c#%RV0i4c5 z8FT2ZTAy5Y1@y`45_Yse7XyyXgRGKysqg84j#Y;+x2bz;%rAXku@9KnHIxypi!bGU z2Be2N$TzRQ^|6+tFfn6XYHv;-4!& zpFLcHC&rcsU%^^o3vj5Xd`(@CZ~6G-BdW%)L3_sY(5st!NgM2VFd7Ixl4+xDIAZZp zeUuB(O?eGM_R5W%_~i}d<5%SIkp2(n??fL=<8y4@r}-JY6mY8z9!Br7@LPtpp9o}QJA4j-N4_+< zTY4y8sbg5%#@T-4nu5qXS9-v0_0Itt`N}n;;I}eAjtg4l`!EYtCF)e+>}fUYt+^9^ zBkNtpHDqTA;P(<=1Hbp2;NJlF3sg1o9yQX(7fl~`p-^{mZ$Bm5kL<8j?QqEDf5A%^e zV>QdPZMo#7Jl$Yq|H*pRLEG<|wv=7z4>B?f{|gM!18VG70Hd-?+l^I}F}@cWQ)8dd zWBTM`(r*1Vu{nWq=0W^$8VCpP{PT(TfLCdoGWI!?+4<93!u}TI_+;M58bNm6kYC^j z=+Cl;0BgFXh4z>07EyHx+mRltS8TiOnzvuMg!`JymHcfv5Zsv+aE*&&Qz9TT;y9tj-%bxf&;ZOxj5fuWuG|K8}6HojtR_@6S>XTfW`CaK=lJ0-@tYCShO~p8vhY(|Bl7#w z));Ld=)Y0g#M$QmM4O+uzBZ0&({9?xdM(;q*pi7WO7iI_=*{EP;0w~O1fL)aZ;~IR zzd7j~D4}DE`J$P8)9QDS6G@A2DzOY{ySPYB4E&YvG9wPGLmY_v$d6tR+@MdkieAbJrx9$uN+~nep z`C~pgY8?Vrvkw+!v@BEzYlDS_oFntB*sHyDUul>}4zqsdOto|Bbm_WBKj9p}IEPs0 z%=yT{4}84M>W9L84F$0rbQ$AX!(Y)`MdbkJsxIX@Sl}aP4M209@I`I4K1>k)LQT{; zC36e7(^nq`?&;M6C;n6|+TK9AwOp5sN3*_zPe!Pd0jF3D58dn3OPRh;Ixm-N;)VEA zp{R4x?BP%+q(0`~@}KlAEH0^V`cHlhEIGVgE4d;3j-hVm=h8X{LF7R~G|ULLrlt>GUgmoER}WPZcI?lVgH zWRdXj%sVG}4s9->5PAzAp6+a&2jTKTJvP(fE>9Uike!@i|5R zt3S3ef%wo_KlQ07=W^6J!TY&p0go!Pj)J|9q0c880`yI}2D827`i}Ek#uGjt^-p+T zfR)wA8ExMaY9j8h2}5pW?+EpsmD{tifjHB3pO+B*S5!ZeZ>aMW@ARhpl(MC$BY7#i zrEjE4? zbop;?K|98pBSWc!FT)SJz-RM}EI9j6&UQVf9rXBb#-SbkG`9OGj*r|}q@C9L>Z#49 zof~z2eGKhrSJ)2w$Q;Q(<;tEz-;@3In|5_*_g%E3j%T}n1bqvN^hbQyPGTpFS3TPC zoNc3Nhc)W5Erso54;k7$Ep`d*8qsd5w22ePvRCAP$T0LCc`^pSnRpK48AZA1aNLo( zgt7rW9X$6cU%g70XtT5nZ3q{2_^r|DIkwID<-6oBcnTXY_GWrp!${H7++Sny zVXPpz3g=fZ5Er(wJ{JDhI&5RQ-N%=B2|aTbeEHRgJig@d?N`?rzI;r4AoIxU!3Po^ z{qlM82;)_Tz0EP=NIlw9!98vA9bU#{;%~7Xe6v=m1OKIGOimr<{=xHK%KRWa+8XmF3b;!n|)&%tB71_%gHCmJ-(TNeG0xYwLTSpsS8jad?@>O$N=SmxgFs# z_C4CYcm8__xRP?O%9w;m4Ttti5InULiX!^aSo@_~j!-?4f^-X8n`gJ-eAX z%J$nKhrRgYy;z`=aZiiyIf&;*-*Xk7Ykkiyo-Kdr!<0WU1+YLX_uGI^))&m5%LB${ z)nQK8(q?7(ke_4bdV|<3U#{;(jKiqe(8)5dfH&84P2T-!@sXm=hs|tH+iK!TV7kn)lURQ*;i!9p|-8d|0dF!{Db(S#`F|F=eAZvF)%1n#yfA z>TTODTb60}0%*s+?59^poevJDfD^}8=j(&COBo)Xg`LAU6|oNcLluD^Jsr6u?dL#; zr7H6ITh@&}BbZ;2>|80sdXlU=a!$37zj~bcO+m>4rVRgV8F?@Bskfr9gR(>)3Ux&$ zI8UNzsdTrmE=!NB3{<1 z+c=eaZk0dpYh!RP-(uR3et(;4)8;;38`9BW=I|Nluye2c`r>qC$}eUA=mR-r2ncmJ z{912}bI{ORqwy#^J#;oLD;_53cslrl~^gzYZnQx(k%iq23^?`K=YJ%|U7 z-T=5YGt=)sZ~SKCD~pY#uYc56SK8IoB>1S}~ z)2BI~YZd$s?ERu&MLftS$}!^bAnsvvcxPR+%R5wldub6I=0u$%PZ%61XX0Z~NBD49 zg>uXDQu}HO?32OUu5$*VW6T=x0qQ8OiBVVP1Q3tnOnk+6qPgPW6bz2ZNZ+DczIPo^on!nP1@hCDb&B2Js?^Z)H5l;$2t5Q z=tev1YkjZB_)N9*a}ssfOVO*!aQ56mjwMLhiaLkn`+C4v{95`*_Wv&Y@9WFh`)7Jh zU&v33Zzp4IXe~9qIk5z3L?8H$^YPs#w}>-E`hJfT;y5cm7G_?~umBe9E@iI(o`usj zCFk4Hb|1bf0lz>N$#>vPd1EZf{YK(5fOqr#yoOxqwPWYdvqO!0!5z}%J#4n8Ms8dA zl2YG%M+JM(7vtFsjz!ilhJy1g!1;T?=@mHT=M0D6rhXW3Nc#}DWPDum%1e#!T!*;{ z8Y;p2;5v*cX(Lba#o0}D8oqbs&W8hB=*k8d?_7XbR4X%p#K6LS`IubO^j;e@^Zt= zc9h9G+6eMe=i=U>KPT_0gYEzRI=D;Yw0%EBoi~S3hieLF>Wg~@Z5^S2EMcySIlJE6J_)g!2be!j4Yw#SxFZ^GJ_3OpPLhoep`rWgTCE6sc?KuCKg_rfu z_zvHA+hh7=4s5IWpK+JoPX-(yClZTwP0@Kb?m0!QM%WssisJ$NU(L9sUB_kgL+V>n z$LUXEuVUaUD6bb^dW=#{uFPq~Jy?rO!Y?*?G{~01b5-*q<*dQ4mBpFq-#vo%Ik__6 zJ`cH9#_gnEuYqq!PtSX%jc+vbCqmhUzwui3ezMw65Cd z%+k+lujX@h-61t*SFd>|F?6$Q_53dQ%KH0^)Ni@(Gvns(U+m$`^a=41DHmD2sQbV; z5ijjCY*c;tzcE&Ee7CZ1fsPQq`NWJq_q8Yw zke@k)c&7*PJ|^vC?r7M$?fRQtOrN19vs2`pNI>+^K3YNSyj||^DyEP#1kw7E|Nn$eFbe9_=y;Bo5Um9zW?im zz){C58$@p+hf#HH^Axm`ame*K2$y_DAMe6$j>d0;Z9jEGdX>PBZ(A32{&ifI#z;y3 z+vq^hSh#1w;JTju0avU&zWHU2GvtDC>Qa`&?(Zaz{W`<0r&xZY-8HOZ&dH6EoKl?d z-uSZbJ?{sgypcb9G>vbFEn^JIKD(xfj&iB%uqUBAukNeR^`+=MZs@EAos~Av*_@f< zed_?rH@Ex9NB{Fy{hT?+nc}n7?|mua$1yWF%X%!!qz-I7_U&!<)!z(VOFJ*V63R%2 zzpq~Xoaw8_*S06GuZzXb<@UASSATt8Uu%73tBG$*YR?78Z=VM5s!HhMq5MM2gH=X% z`gC32D$S3B@3K#fo$<-~)?v(Rvi$m&TZ+)Y+<=v{>4LNPOns}gym0?c&R&_?VXO<& z9&s*AH9vIf)E0=020oN|zif@*Fe_W^>C<#MjSy&`_gk=q=b+g*ACigWfB( zK9`2yJP$oo9d%xl`*WIId)H7O>}F;Rx7)t3AIlG`hc->hEbMu>%Ln-gtuuf7iI$B| z%bn~}PtPZrBWC`I-3DECJ~+Kiz{6i3`ltS0l{`%aK(W_1F zvl;lnwKt3FKQAc6^;z)~*e`Hhdj?#yw2O)IvKl=>J8 z=wQu1Q$L4)Qm*r}lusj*HohPqp!fcEmeqS)Pl!7I^aN?fnvso#*casWZz^#M z-|4kwt5EimDf{^~}{-5vC_5dfpZ5G`eihl>b>p#8#Su?bMrv=a7 zm9c^>oSlvP=u@U2>|09j08D>=sgzGv;HR+fW>?ueO|)zoor3qdeu;SxJK*y>#lO&J zZXtV=A>cx}72gHC%JIE4Uy&P_f*cld45-g|te9m3qu+^H8I3xxIA`jcb;Buz`(yFlcC!u!*$Ufsuxp%u+y_$^j;GV8i}k8ce(kG^ zd}7J9ZQ3-K(b~%`Z1+Z3h9@#U6z^;D+^*5zJ>XPh;#_&i1?_`j2nYbSJHQxze z9^VI*^~7AgR!WEW7s<&M>_z9Ee)9j^&Mj=UE0uCNB4#WkH{bdUFN_ zJfYr5+<@=M4)4rL2XL;TjhLA}F8fhP3+7ura7HZloy{!I#x;A_U@srnA*jo`@yl3{ zHVwH7**}~{TiOJh^H_&DDt-y-QU7P^fk)gUhco)(AK2J`73yX7Euasvm(*=tm^&ON zlmBGSQsNBA_mzhK2k_3$e_dDX3v^e;1|A<_bqe|q*>UmNK&-P_8~97vXJq&hG5pw* z=_3hzeEI(@k6z?Adt`43c?0@d&_;5X=o9vhy6xjPeR$;CSGEbp!DIHtIS4qxF31O- z&A$D?4+xWVL9d+6`apr6037Iuk=B-B%|-4ub@3kiL&e6`@qfc(*EhD-#?|H8xWH=G z2i|A4ar(?woye>{pXE|+=Qs41(j|mj)GnQQo)_f9>W4AUg*N2FIM2;I`OvXr2U%x6 zh4bV%%d;}@BV(Wbcbp?1Sf8G8%Ngd#|CBRGxpQQDcFvZZBmZy%_GLL{%u39Wk23aO zbOpxU=o0$F|6y~4;~7%hr(<5p*$CiRpBs0+@MWnJ-;Oc_li-M!4I(O7Di7Zu85zX=K3|`PV6yK{EjDl_9xB?mWgqpS10lt zblDu?$FFNS-A-LJk#fqMm+S|0`gfgs9|3 zaLVX8{*V24I8QJrXF$)OU(?T- zwS_)Dn;5w-qko`#qs|Xspf1SskM{WL?`d*#)-ev`^|dXpuQz;c-^lB$tw>)xeD!za z^|jqs=3B>j>l*r^zsEYpPGbvd1U_UA_H!r4DeCOLknbQ*b{(T1;|ZH@*L`-cDMEw) ztnYLS6S0lt35&!vfB1Ebygf}?2G951PwZ$tsN>Z=!^o5D;T(gkn>CDof8N*(f1czm zODp)d2RwuSXVyoMzgpuvvkhLXmbyBxl@I&2BCu0_*d@+^zb5jPdk);+k1prff$p6C zeR(*1bMtNXpWKM~W%9jd&SvB5!aZ2U;wJG;C@*R>p36pnIio+?lFc=p+~s@E z7^Q$#=+$k^H5vaAG3&7MMccuX|36;@ei}P3yp2@^TdZCHU*QL(2PN*yoLLOe?=O`z zDj{>JVsW0xgg^h|*Bj6cHXrWK8HsHA+i(p3z&Ru7Lu@8;Q~xjKj0$L*9X+(_0@8Z=k z{y_UKt49#e``25d25ybH-?<9U?6-zv5BQaM4*8yu&vrhJI)8s2-kCk9Y3A4LnrUkZ zpLV$7D*pDFH(TkRn4m%IpabN+=_Ek~|&y>gT9oy7BnYf>m% z&b@Qks~aAts%}bQO$hCD`Je1UoiDRa%RJ~k?&n2aTW{^Sw5(^D*jPRMgyKHDTJ%?k zvnn;bGsb&-Jo;(e!hWZ&S1oe)%OUoy2)E8#h&q7ltsLK(n1;25_FFrb1I}`^M_;w* z%Oy^eZc8baCw1E3QVQ6&KdZ&nu=)MY1#xpqSv1qw4dEa}T$tT}Ozn{6AeX<`JlOp^gzokF$mHp+=N}j)T zb*Hy=LZ{a|p_6%=sp|tgpU&Uf#K>v)Fb_kWB5N7%MNIoES0gU}9Qp zYuk*}C2ixoCnsirmp!c!@5u?B+~<{;5r95yjf7uJr@7ypWq4nS=RuYwqOGljmjFEP zKERr3U^M_X)(?{1(Fkcm8#mEFSkXxH2!U0_GU{18561damn0PO(9r)^JpdURJ*|^@ z7y4Y|7U6k@vpOSBCB`y&Kk!6*!kD@%z0>;%_%Q}^>l@A<$T|2_6T$nzeaBk}I+ugaAA!zUhR#OvY+fh(rW}Hv z+6>RWC3IG@Z0d%<#KafDE5euu7|ToW>P~@?;Z^uYxxB*jV5~QFiPz7ymcci?BjFR{ z8o-~Rvl@5Mzh!w99^m@G={=qbg~mS#-e3QLjD7O(t&b)j*JJM`fy1N^AS0nrau?)d zXMJmIOX`xpcp5ZaKLPWpK9W3ovNO>T3W2UVZwtq-KGHna$O6joz7o%aEc3oq-%9w2 z+d&^;&!`u<`iotVg&CZmt&!x~*lEjR%&gA2u z=UeX^dI$^hmoTtUM&95V^8~PNhrIM)+&UoF``k|_9}Gpjo^c1mLDXN5^_T}kj4x^v zYMRUe?2|eb{+8wi#&KVwVNNKy!i_|BrU$g_o_Z@5KYuXx!1;s8R9M9p-84D&ApYiE z*ca=*urD!s&TQZ=|Ud9I_ZT_)kV+R*t9X!zh`_PbuarcCB)mHE9o_ep- zo~S_XxFUTriM|s-6`H!ii6&;KR(G@-i?XKX8E8K`mVw9lrD5LO*&N|LeE81GO4$#@ z7^>Xszq*s~r{0UZNqQ8%vx&dB=(>99ina!)r#XnV`5@L0d$>k_l>2WFwM_^tYnw50 zGIBO*_PoHd+0*)3Tgy%;+OJ5LQ%~N2?@Kl9YPFws=+vEwhR;-!N9?B>j2_zb>>$H4@jtMu9K|9=4>3gTgVt4we9t)hU zsMGz3PQo}uHl{tcVSmlaQKT31-~;NUwhGV+T=4wXRT7t$b&?L!I(2utX8r^fX^Gwvg!PZwF zpue=>g}n6C-Gd!o_h+hOD^4r}tpVbUb`kP4vhj2ud4T^Z2M56G9<~MF;_dTt<;)F2 z&K9U9v0FKEHVty-wt9lk>Gc?2WqBFdeR`eI`3~f@9DIUaKmEo~G7H=q#pl|nj?0*? zfDfTzuOgoKQkN8R(ol|-a!R}$a?!KJ-a`sX7^f;*i+GAW!b1rfHdzS9U zsg-uS({nu27vfqwZ)(pCaDS83W{P zWaHqrY(G|ZPHh)i+ms$ijJLcz)vCur9nBvL;ol<6dHN6qWARyjNBp>^>Ga&#yrY9l z7paJqSIAIpY{k*RyD!H(@Dj)RJw_5WgT_-%rnNKIz%lz4Wy5EeS8IzOUhFAMI&Y-nC z+t!ZT$vEd0br8-XZMO9J@QtW|>%rd>zyAx5s}b-kgUNk?C!wpS(Em?el9szSll{M} zj>QAZV)Jlj;9j-(s+6p4m0vf2xw+8^#U8k6O6)8<)qXJW(`suLAuPu`R&ci~H6uBq7k87kE_qb3|alI}uV`ab(0cPy)I#})zR zJen7wtXC=Y%kotQk4ik3MRun>lm+pB0A))I4t$>iJihDnR*mn3@5FoaX5kn2#Rcl{ z%kM<=Ub8?Yp>KD#MdbTkT)zmy29)0&2~y`&w#{(9*t`JW&047j+akYM*0x~eWbrLr zC2}5)E7e*SSe63cW{>Y{rH?&(`3Z%XBbSL%mAaS@@WkXQ+P%&X0aUAr8d;?3j9US%-rC8GS4J@LH5gHluA^;akrtTVi4fc3rA{uQn2>gK=@CRtm;S&{% z?+s#8ssLBk>48I-N9)R4_uj#<=o$z-s2Ov9} zIj8ZvoqQlH=)_9;9BmD6E~9J`Z@%;1$Gb&%r}MWibuGtd7WUADy0LcCJ+3OgTsb$T z;8&mwZ6+q~cU5FJzU!50Rp4nI_*<3i36sAyh|_0<_M+Y1rmFalOgqF2fa%=0Tkp#e zSg=vpqcg~Uh%4;*9L6<#hcm~sSciD&?xfWdS`A$Z$hoDfIbvx21>Vg7 zt)K(-*)Q=bPAke#C(Kxj?uc+TiU z{GZi_T2H0`PwT@Xy2!waB)$k;G}7pzz0gG(hw03vB))iaCwLyfe6T()We56Ht;es# zuK0iY#0t@=t+AhEedX|8Rlf8mTBpYLI$sP|$hQawGq9i|Vn6xCvKaj26m%)aMsz8C z<1+ZhMRY3h0sTve8|`G`fq8t6xAd!I7`%yNJ`h&>Phjt%m#y!~KE?Me0hfA|@WlS# zi~Zf`XX(p$2OkM~wS)N%^s_Z_xpNTu9Csy!KHqkE=<2r1|8#d^!sn~Kew+*1J9e;R zFZA19#IJkHIt}gBvHnqmvAys|5vO<~ua+DYbj$&dIiU;<~`yB=rPehn+AKyYr;a`Yh#$(oXfF=nB#Xrm*I?{ zjn^=q5$fsWD9p=m;2znE*4c>N6!jKlzEgZ2_{=(92(%_{U|z1K)%(SD%-gNIsvPaU zpYCV-$T!k^JZbM7*Lu%s(fZPvBk>LNIPintAJ~>ygt!B+?p|1~5EGU+SAbs{rua?p z)9W%Z5!x^w6hD0h{B*{Hap?a=(EqSGiA9J9iPs{H*WGc%gB^?q)hX($@EF8{phw4p zY5;dvw7M0D2ge{DWIS0hD+7-_)G%k#CaJb~me05!p}g%&qXr2duys5LTNVbN!N>YU z1>(U)dGX*Pi3hzl_*sm5DEIUyXrEi()A1mEZsPAPf{cI%GUvtDOdp*HdkLAWO0;W! zQI@n`AKYQV}-m&BPE!PR4a0 zo?AFa#}GMkf_QF`#ryPI63>zE;5p*CH>eBE9Fp~X&{i|f1+10KLBQw8fi)hqpKiIT zjB>9&5cyq+cush7dOu_*LqFJXZjL+UC#5hwet&-D-v=C?a3j(AS!Mm)C& z@f`35EElod_G}-B<>dXTk4=1XC^66S@zh$3*&!JNGru`k$HmPU#Pj(EJ-$fdxS*!x zbc@7O3!#4(Y5B+8s*SBg9Jc`Pz)w6^+OoDqh!<1_pLW7v8F28Zm+oF5GTLGB%kt+` z*u-&R-S4SA(l7h4{W6YYznC8q$KgF>b2WUZdf~+{I5xKLlSjqh*?oGy88hYqFb*dV z$ei7j-p{ecGvo(yA#I_bb)9XZ3zXD9Zu`&TdU924f#~dIG2~O2Z{u8@1-@dQYyf{J z;`fpHi&Sdd4eHUv!Wi?4mGGSxCKg8JZe4GoIzT^)x$B!!SjUMc)A4!mALE~?=5r(D z7JPjzw($HkeuLgTb--JsCXSn+HUjpeTx&u<=XX-WDLw|WQY=NgDA&je; zi#Y!P-AK5E1^rmpj`8=?i@H@A+5sQWiu_|A><|2_^Yae$)#vlg&$HM(wTxq6c@`$m z7OE!Xnn!r^m_z2dWAF^N$ScG7M9s4~F=LC!pM0K?Uwog#v$*gKcP8iZjQp@T&^BW1 z$&bzS^8uH-TYlT2A}k+JF8|{<%=Mz!Huw;Ti<0-pm8>0M9f>}6Z2o6DW2v#r+D3h* zvu!+nXUt#L7M#D#J91H{+{>{AzDsvaxNUq*IMLC{TyZ!2jiuDZ&_{LNz(w~UxAnm_ zi)i=C!pO(q+lviViRjJrH)2;kI0`XIAlQCHV)iiBH@1U6W2bH?n*;voJl?#yA#VWR zDRy>8V(V{t)K9YP%fs;X(1|s+w*<-dQn%WkPV9X^s=h&E|3Qyg;#`v%G;w*^NmYmQ(Zj4qozdvx!AYJK^H zteev3^ye;+A6Z5IgJ$GN*^k<4`3qldC&z^I2(s?LH{c!#B|NOdTJnfns+W!t99Lh} z1A7e~z~9)1Jo+H2NOz;|YLN#~j95wGAWqZg{C3D$acckyF-wmD+8Q6pzwa5Vc z^ST=J(~LDgX|t9%LMOM|cFpl1?DiGRV`2l%a1uWE%H* z4<3Tg5)Z@g!WofekbC;1b17@dBMnvm^?lOg^rGLYDJx&jhcJh?{S-v*A z;Bg7whDWF0fEhHqn4w{X+Ow11FXNR-fk2sY8IrysXt}-U(vpU zV+r4|B^P%)|4z2ZoZXaui*pBa){NKhq+h_X@u{3QfqXXR!4Dc)3HfAYogPPL|FC6c zJoM72Tj+arXkMRuBi4(xg3&l%*L`#_w&iF!_(Q+4F7`hBy@e_WUewUXh#i9-jo*qn zg>^H?THA!N%b26)9on*nkkK{2LkxV;Jyr(+);epej6USLLWT#~@%>#5#{l&){*a$d zCtC!!3WM8I=pV8V|Fb89+orUaj~jHS9gDZ@SY-9!Cp!|CL+@=mbu`=WC%u#_*!uym zw>)<)KZUt``FPRsRu6~{z}$oU_LwnU3;Mv<2JrQFRiwc;o~tP%7|)(8E>@mDsiz&v z%FriE&JB;jM$79gO(*uNz^HYywO(yVpV$XZ9o{3Q3)aIM4pG4e22>)_s!%>EaC z3xR%lYJ6vGe%WOB!CV8`>}|dkW8-YT>OSbN4%mOJ4MOJyy{+)Md(>r9H{@#7CUkZC%el$Pny?H2^d=dV+(wO6yl=bDJRpX!G(CR|H!6vw|9uN;al0r2PftsFEY>2_8w?k zF0_Th%hM;ue+zz2;)9TP#0@3CeH~-wkUQ_xc_xP#=h&m4O3+pYxa;u0+&j-P#yjR9 zyPM;q(&1k1AIrHgj0N=@^K`9S;g59m{->L_!XGJ{R&tLN@kO8L1K)KV5FL*Xn-c!u zTj;ag!bhLXbyWH4;CZl*_}IQ#*Y*$jQNzaJFzAOq@ZP?<^Qu)UfcT&uzsQM}Z^y5L z=k?btC`(7W%67&^`+T?ve7G&};Ue(iHam7+9MjPh&?SSGFz0cLir$ z*Vz`uzOKX59`$}a^ZWqYyC^mqvS0wPy3KJ@nfc{TT- zU_DUp>p~gcSMpiP(xF!G9l(2X>Ot?$aR-x!PqhBUVZd6CeKuRL=S}bZ!JZ((sgHz_ z14g`6ZQfV%nPuKQ;DB~qqx25X`E+u5IFh{YmV;B*JMH*id1K*MV9yi$l39uMC#t+3 zH_2WY@*DdKLf)Og;XU9`HtwKzB-9!^f_-X_gPtQNJF)MDIM;bch(kCMMqDj8==YU; zW|^nLt=_=2M-!s}=K;V8B7RkXvkJ5*?A_|dIv(LD!ckeC==Yi@DD%3}E)H4-kULSJ zr8^Sw25vbRS?{ROPaxwDjzfDlf<5hNZ#i_@J6Ct2414BWt{w4LMRu$D&NAdw#FRZ~Ye5t{ndSTQ} zz8|mlUUpz(1{Wt&b0U#lr+Z?x@OPg+p_1!whOFX$b%H*#2R;Bsx|RBjdJl841?`T5 zmxSGzTp36E^lH71Fjxy7v3^x@WhlbD2-c9wQU9%R3r+=KlMqX)cI|7Z?&gN_OT5v@ z`;CTA3j63;zZ825Gk)ooxuIAE=KKm1x4CA{W3S}Wrx`R!_lhp75TbT|U_% zHq2Ej#5+qHoVCMa_jcJ)Lpzf9T-=235V(-tzj*J}y4bUCPb6|WZSX`5A!a8yyIJN4IGP8y$ za)7r$Zxgpa(F`@0egLgKX++AA+{O6 zPk~Qcg+HF*kKCh`;m_f#bNSP2_;Vll(+mD=@$m<~MoIpl3_J`o_9&q9@U5T;>!X`w zz0~tolE%#QQsHUtdMV}|bOP2(lcQYn)aANqK2M2@@aBHuO%Hf8VBaZcu<@+?t*I*b z@Exjhn0{A$2)`?KR(==wo$GgDuhH4~U2mO(-^D&l`(5iw`(0%n;&&~F-{l?Be%Av- z_+7n4{H|W@cV&I1bjarq(I<0re5PLUnPR>=^qEd^pQ`vd8`Tc&=U^`l{T%oJ+Rq8R zWplTX%c@XH>pc3=OScyBb2g~O`8tVyPAPw8cGUQUkelU@n^ODdiDUA?_h8$#e}*|8 zEA8(gS7Ut6;lfXR$vK#ehd-UXKKyCyWB+twLc_u2mN}pHjx-$fy8pa7F~hB*9>U&I ztZmJx_D)_~op|tC+^OOm#Gb*bM8ggEQwNeC{G!@>hvnfa?+D`I8FAgNAtZIYBdBxw zL{&2ViNK1jj5gA*N~YBTw)dX?X?3FEB=&HY-Q#VUf%WAZp_`+P9`dMG|1W*UQM3WE z?i&X^g?MH!VAOvG{>RmfaoyM$=Hj#sWgN>jPudIGQt}YvUax&a6<&H&V&RbGtM~HN zolylniF%X`*xf_)Pn#oI|J06U#>Ob^=hN1lE#KLn?Hhebe$2uz<--qmOmqE}Q(N== znVmjAfO#+Ean&mE1IpnC1oQlWiXr@fxbXwvTZ6AD#FbwD9ME?8)G04GLE>(VQwMx| zSsw}owNH@s2Tr{v{y+u%fvw2H#lsZ+gq$c4|ibmaYy+?`1r`_#}e&vyYHrHen9| z+H(&<;s$AdRIfug13D)ZP>`<_>|i*up}d+gC}j|HKAV#Uyu@Poo@KMEmj)$=3mC{r z-$4B}!fop?Iq5~nKaWA&6Fi~9$GE;c4S93CL%tpOU|m?^^wrYe1M~|6Vd!qiL*S4* z3Tq6q2cabdJC3}hU1J!ZU1RumONg{3;-GWXg;m5QHcHkQxSu9BuW%GOhA7q;WZl5& z#~z3J1lCNwBdzc`X#-lZ|DOB79O!}8R<7qF4?$dNaQ`8EPNDtCw@_9V&%L} z@(1#{L}Y`xe)x5mC)J6?$T5{QU>_;V2U|?OvC_5+4;qL zLHbn@%6santFeg-1x9&WDZ-U;wH#dQem`R07A z1RuWDzjWRpt)%I>_89Yv@orO!<-AB7A+*=NnuvLax7sb&%t)^tMummBp=mVho6%TZKISJmmNxSFo#fu)TwK*Nb0MBl-VlkYne0#zlI({~z|g z1u(9%%KzRwH`BbDrVmOVf!_3)Li1`vDWQd?N!q4O(~zVO9y*<5Ce6@ECY_nIDHbS? z)vD}@!n!C0DuSzs3M;PYvTH$B@U@GIiipT6?xM@C^}nv*3e5laJKufHBxzH`wOu>y zz4v>b?|kPw-#O{Lt&Z+e`UPiBeEs*v^?z>L ze1h;$}w_RwTxY5T?+|B`R^zn0V!iO7VS|7#${(8kbKD<_34V@4F z{;z#)&ga}+F#)^;{lU2*b9X0rY1j6etNYZrIP+fSJmwqtV%LbxOGfX~g=4PKvq+ujv} zpW@wtH@bGHwf742OPzx;&%%6PZT;L_M)`t$-O};`b1LN?(x+Xp_;>%Y|Gktkkb8aV zJ*EA9_L&&?oVmVr&%|7rbtdMfu0G$Hn3$ZkDMUMG!&kQg@0R`de#m&raQ1_`k^8{J ztNj;;xAH8{C56y`@GnvSu^pT>EaI3rbzpy=;ndsTv%Y4mdO}mQ0eZ+DzUZQ3v}2#? zIk?}(8T25|D|2z?evE@N&jqj@;@v(Dyq&tl`&e}y+{G@i>2s{|Jnxi!b_M62_+AQp zL0$PT;d^L-1GG6vbJ=%42X@AlHl0m1p0>T&PCpfR|KNU{%ST!v?fCMTRs`GWjQvHh z<8dZq3;3ygap2vAw`H-S$0eh|RIn5dC@VNXW{!me<*D>tquk4MU0{hUwD+VlO&7$# zKiGRGU68-Ot1o(u-!|!rsq-`R!Es-|>s>Qo@8Wx``L7*7zetZA7wpif_e`{t8Cqy^ zZ-MU+uwA}8!M?+Wyj;DTDCb0QF4I0Ig8B!xRDibl-YI$Z5}c80$2sXs8trpj2cY-R zUe`NomcfU2%>{k0UAO-T^fb;pbN{pNN!XPWurL1ejl)|ils$>}3igAi;Y-ap=Xlz$ zuDFov8rtS@8&{!+ZJWKoF(MxD+3t^4;Jv|obw-JJ<>GX;bs=P3rkL$V7aQeMgX zs{lDJMoUeoakccX`GkC-q`i~Uszpxb;WAf)^#;kTgq-{ zU3K08w)W!2VO1Y{JnzK3eKK&()eGyy-%VMHF}NG`z(1;QEbG8gFqT1{zVR~qpvL!& z!;Y^E@AAJu+r{yNac@$-i*N`0i}=>S#>_8v%h}9Bc>e?66X16Rpo8-cjPh>3^Bn{S zrdR&|)j}VBi*;7^9FV=X8+`AqJM}dE7jfYA6u)C)@0nI`&lEV-$-80Y*fYR>=`9V~ z4EXNKfU|{f2Jr94FWLW&*~9xk44l7k?(oLfAN}eL|8T&(;m!lvwRgPGe(j;@yTOY! z7yfVUT%ximoIDBo>cZRQB@bzJw;r-Z!8TxI_@@wyU0rpkq1>jnD1KQ)h z;0HQuF+pQmv-7)Yx#O z)YzET3{7tg4_E_wU zM+dZ2G#>3qS1h*DvHobpN(`mTwPq<38?ch6a<--k}tlu<_WN7>Y-_QSgz z#CyX-adape8%QS^j}7bz$MNj%jm4vQ4mi(5nw^(Ao7>wqcXe)QZwKCOo7Zev+sWsq z=1mgs>_DOB_KwY6n>B4{VAnum?|>z=L3-x(uiTV*{fQ;n*H^Ak@vpQZ|1~?jKfBC` zI)_m95nT5lyIgL)|J8W$ad0a;PJRxZM#KFp-xwRlSDqU?kFdTHSNUIgdG_UXwf%|- z_ahA`3CVH)&zA!j5 zo&sC;L}PoRk#bFQg4W2wvBA_a^A#|(GbW5kxCbD{&JRZiW-llfOc@o|PDk z4v;{YO6g=G?#xTfLq{aIWzX@dd1>Pc6)N&BNKwQr)D~d2_HbH@G$IC8DxDa#+pf2q zc}5I4CT~$+&pF5Kt*<%CxRG7`z58m*HxU(J8LhA*8jkF%s;Yu~T$e~hy7xtyjJ~%iV(3$5Ov0VQ9fU~URm#qpr6 zGgqR+(VihSTl%7wTYeP>tztoHu{%fBhMKoGH-;KFZ`#z*)}(1`L+hHmLd_i=n>*}q zQ*&2yW7p=6P}imH%}DD+e%qE!YnnSko7aXmZEo7q+T3ZE-PEvs)I8Q{-rm*R(bmu! z>TFrZ$J*A0b!;yyk9cfpYiVrgYT4XI;LYf}!l?z=G2GO$uB8k0yP7+@7;gZu&Fkza z;>~RhYg(I~smU2uxhiT zxuMBRS{qVjpjb9{TuK}y--#m5J~ggyXlrY3b>aKt%x`FIb;@)ShN{y7-KF~5xL$?5 zvMueTGvkWt3OA0IKkk%wM#h1S^sbh+b1YmZ0@o2Hdf&3C0SLQwHvy)@bL>~=rEQJtJ2tnq zT;`t;HfCW=U|>X1D>uXA|K?D8a}(xGgH3aLu5>lGh1RvKYjE)(Z;~Es zTDm;m>{=6QZ|LGAmU3ziVAf!y)}cRHEw_LKNRzo1YH!(Y&jVi^6SN6@yA{26$|;U_ z=!oeG>TT}mfb?OS@KR11+iYv@+P1l4BXA?{kbHpGv3VV0p|$Po6zRp1Dkkl1-Uh;X z?KL!ZwQL1!$?IqaCi)4;N=Jg*9;@XevAg)_+9maJ( zu7`0wj_WC0uz`N`60TooUVk2So-f8V1J`_9HMmydT92y>*A85;iJl+EbtA5uaUH_- zaa<4KI)dvPxSqlFBCeyjUdz1x<9uAxa9OyP;97yJ30FI=D{%GUO5-|!>n2>c;kpOc z1GpZ+^(3yRalL@+Wn8bqb#LM-#Z`u@0#_Zb)wo)5ZO0YCHHd3Ju7kL4#dR3h{kR^+ z^*FAlwhX{(O6(knU4`X=Lp&IC@n|>|wIT^ICkB&=o@g{eJ?rUKEmQ6q`=bL`rdYjbI^Bnih>eKg>F8juFf0uhea*wallVKOJ5}kmC_V1(&|a(Uw+Wurb`Qul zG!W|v%R&#Gf|+5X&=u>a?IURw3nJrgjQx-K2BM|OY8i+`hhedd8wg=UVmo7L&?OyB zrCp>bj~uh9qRB4Ng%aaN&sV0;drb&smR|x z6i?x=ppBD9IgYS=T+%d!drq9tpeMLXOw7L6&OU2TBA$lnY6GoW6OLF|un$FHaaLLI zK3d7}0J4Fi*u*tl#x1R>v9@w{9~+j{8BNB*@#@&p9;|KrY^OL*?C@jYGM@Uv=XQru zR$n+}bw{z5;gWGDraF)v0xR~$1`w%mQd5J`o>*_J$KpcIv#A}rAeHtuR-S6kBLa^} zG68=LlDmh}Scrm5;v8{gfIMIS4dm@Bke9!K?B(-+^ZL!pXcuz+70CHlAm?9!oPPy! z{uRjiS0LwKX~hLO{|e;%E0FWAK+eAcIsXde{40?2uN=iioR4xY!ai{MEc5znD{x(L zYFxj24S43`nug25wFFlau68;iqGX9=bSFJ(Nw-lNiJbIwU z%IoO^GRz#M9?33w7&*}aC!nI0O<`9&uB?UHh`@)EPR9Bzx_oUh3;#FW-y}f?JK2*+ z!l0xrQf0LzV3CRc*h+_oELf3yVzBzEtfpufMfN~v!aR{`jczq`lw*`j&rM>j<)}w^ z%qi7HqoLl&aa6U&Ka!fv4|Il@`AtL3Zr?T^sZFxm=B(Mt?zol5rEa9J>Aqw%)t7+p zE;>CL8!}3v9okzbWJH11!y%UiN zumQ1~1fhcgPW1NX&d(}q(-6%0ZkUh**0QA*Sf_Tm)g6;58^ws=1HZ?Z-c?qkOK9RB zODnrG^TuKm$C8g^U%6?y@#B@x%|Bjzu}Pd%-xf#nB z?2i^|vhiteCOA#0JS!aMnC#2-WGH&cmWERSG;HSvZ=2fIk{OmxBv5lNi9z~0TOhDd zWo_Y&e|HRy4m%qk(zG{@UaTxNAP166x!BK>VVa z7IGFS0&jF-Z_0x0OUKGIMNdsC)jNb8U!22AsLhmEzqi07EKiQHgw?|A@s1AZ)E~|^ z-c$PqditNJVcL%;QUEiY8%@nj)#ks0?DP+8jksRaq5T?tI-?q!)K{C z)d2d?V|xvv)*w7#(6(?NIi4f04ac_-wc71coO=-BesQP4wo{g!n+Z-5N1J#Qgh$`RdL5I@YtLD&gO2vzC8_E!F_z3J^zmIM zN1|(u)gDgMB{yCoVI15wBrI^q3MPC*-K~buKRx)#t9wTcoHXQXBz@J8s zXn$gl&*ITEmCt2?H=3jXoKUU-?&Wws9e+M8I?AOusSfid$9VTl^k`&>)qiY_e?mOK zm4H$&5ohda{rKDWow$C2B(QnY z){7$>#B$~M`VkADoxsrI{)fMh-h6NOl^8!0D|sbQhXy>6E%VcZEmk{tS1j#u10PK6 zg^U{8$mnN9np@U2ci8sM=q28K zi|!c*;O*}Gw6t3dkw~(>pgn-SKZU5Q^?9^Iv7^B`2tw<};f-y<_ZBIJq zpSy83G#H^U?zOwBmZu^on}^luDP?e0S6CK%IleacU^Q@zrj^-kcNTLC-p{C2 z-IwT(RwomQbhTOwaJiAHhA|t9RHcX0D95vh3x@CqF`d1}7#1T7hD63G7^!`!>YjKw zm8yn#u8yYrYO2FvNtmyws@1c;Z8OJul{su#`>majAJ!slC&1_+123|ZD)(56YL}j0 zRfB)Ei%<~9c&tjaS=qak@Tv%}W~tcVw8z&rufdWKLkqjkHd`Y+I<#ht^qg5~;Sh(F zlcwdwtu>pwx;AebQEWsxb$a3W#MLG3W|gMs$9Y?L6eZm{^<`Ntqw+p0ZQY-r-S# ze~G)dvqVX}OX^~rVH4*wcsc14p3<~n ziQ_oScD{feVUZ{yk*&!b=LkI}Y3#sthk5XJ04Me|&4ne)75czr6|I1cnosXTJuKZM zjO3`S%SOUbW!hllji+2^xHn2%gtk71u5)IP!cM$%Xt_$sccJH4?UD{-<-re#2@gVa zgyn4LSmm$|1rH1*hEk5n;-eLox(W!bDaSpbNam7Jk-+wz`09EG0K}7+Vm0d=89Nsj zxCX^5h`e6d#%_8F&O=`wOi*#YyZP{aVmX(LB`BL%bJTXRn%W88_qUwO*M3hU-Rpku z?TFJ3(s8AgapvWXbbjWIAuIF7o*Of74EK50-W^`ppYDW*UUOy>3@)6EaL$z5K4K24 z!y}$SOk)h)jmE<`^Wi)HSl2%aF!GSIlyn@n;JKxvmCY?E=T5SxRW2xZoP@H#)^ZjP zo?Bcw*!|;@>wK?Q9TmLxc$xiSxI}HFWuEx+VkybCYEap#~!yA4>Y3RvJ${CPmY)K!{Q&Os-bT?+}6<1hQo*TSWu*g;FNLg4Z7fLdxF;LFwREd@DL}b8hZ+MD13FQq9-21 z(IhE{@o-^oA`?X;E>OaRt;DK*;bcT?U#8)W2-4H7mx~J){w^xxLxe754_+=F769hr zfh3}VQzOoQv3Kfe^o(``{8X|hM5m@OwH=QQ*30`VkyJY5gjo*Vlnkc(!%ltTOW}e= zn{1jS@Meh}2Q&0x-)|R-xO3iW*$kfr#E{J#;!o%jx3%L|Rj=saz(*7!6in2~jifHP zBe?h&NG(wbkns@lvL~d{ZQsb7ft3pg_{tpcJ3G9swVZv?9FK=RC#0&kTWW2Uvpu8? z29OAgH-~#L-o~qwO9?LR%L#faVdRYT00NNm?>RbUU4kD!SCsvmMBu-?C_ z$C)#}0igFAOxhW702wr<_9QtJC+9bap75NDA=>@FE0{rvN`sT06TnBDK|4fDMQSj|kZ& z3PKx0yMI1f_;wYrG40@my7pEIHqOQ0gl8%-lxDEn&V1)GSuVvR0Cb_p z24uS+8;<>^(YRoFWwXHf@Zu2;Hg`O{oO0Q4u=d6BPzfmTOI^S7qL9kqTHSY)6V3GP zafV8x6;Pc{@9V@%D8dJ>9^InOFoNmitsk|kl;U*dq=WqQYgVKY2fL}BnA%`LSy`9F zu`t1SIE`kvql5KF{LI#VM;S(12S$>6I>k5~qR5*C4qrFDT%-(gy4b z;HQjF%mgQWliD4!jZ!b2h4J&H!{owG(`5U!0tXHj`{Uh-bUM**Cn*{hxJ2ZuQm#sk zxZ8kyX|l>8M{XSj@Ho|khB@uPKFO&|Zx}})MU@17tC}q6!0g+@nFztVC&sl9+#5JO z%yZ9VL%Z+xl7{uPf`*8C;b{ou%+0r5K;SNj}N&Um>)?61e+p1UA5muIr* z*2=D$&G-I#Hp*jH)kO5=b^x>#m?FE`s}?a;M9jfrk{xuKlLL!*s2sB*rw^(g6s&KH zEC!j!Ro93ymKSv4H&Z<1Yd5F<7}Ys%LNvJ+yGWck3`M6LFn$`G04}2YU1Z)gF4Y5muo=Smb3U0?_;9O7^$mp3%U}ZpZscL%fN}TxE^wODBi^J?Cu+d)iY; z(vG^IU%?y1kmtZsGth?#&%k#NrEH3g=!+`v7@cy`KD&m3FU9JuwX*X+b_W%$c&^QD z?>MxM4b-@<0`Z;a^k*Ej-U;D5lGZtJJmwX1P{s`7G>^E;!Gbb#^~pJm9>-%OP#F2yj{mZ{N^;2Bj}phP!ZLGGORZ_|kiXZ@lfIWGfS_PzwX8`d1WwE_+91w+3mmG{x#R8ZnTOqT+w`f-; zFI+fsz642XJneq+n2k@XIX=B5LjNq?=3p^qeYMJLYPiHH=`p$bn1<-v5qk(;skPDW z5dF@0XFmkI8`TSG&S?)JW86LhMLc=v5fWX=Oe_g7P|+km-%*Y}g5mt&V3lzvsw)92 zw}N{d9&gsWYg4Rju?BRPs1E2Xde!?0#&fuKDL=ffoHegnOL}k}>(gFUE7a_Mycsy6 zH*E{jnS3V%hvwKQ$eb{YQ4lF~^oy)V*Cvu{?Zq;OSK_-sWb z&c(Cqt3ja)TGUHHCm41vl9uRAaC&{ZJ!Lg!-y zDg?BkLYLxVnL~cL!hJI7^fAcn_Rua14t04lyI+0^IkmFzJSLIcH=G@u1`}}G#nSs6 z<^+9V%I^V5@ZPsg^|8th;4Eft*(hCIoL>?k)wCrzMm<&|Bl7?hVwVWG?Yl75L0L@K zY+fF)UC_=MNE{f!$sXGic~vx-!2XCW!Q0#~9NBfUMJd|MdgH{Av$9d_y_YgZDf_&m zo2xj}rYvmQ-oh-r>(y&5>Rpx;O|r$9!^5$DtY}?Emt77_4A^UU&&B150=g)iC6`kP zWrmKkeifa`6)Y?#yq%wp#`odlW}+MDl5^p+2-PJB00nH99HD1D!_b9`!wfuN1CA7+ zB*9=G^pj10A6z%fd4Iw`XZ$wQSg?B%@u7Zhknj_2BjIOdJ8cxg(6V2Q!UxUl!RB%U zeJilCwd?>jKOF^7vITsn!6&(#Lkk7Y%LN!B2b@=@c^LMF_X1Nzi~|&n@WXI2oP2Fb z`5OxG?E$B(%{F6{F7(#X_R=(kb1Iy1j*UTa?-(qeor$4jA(%q6DRA^H3il>00t1a6#E>YHdvgT#P`@~lDNw!3{5sqw#ylC z|02&Jw7(o)gXR3P^+vM3o{dMPuEW-;z8Kyz0}k{k!`e;5yFfe78Md5uy?N$=YTJY( z=UI*?KMqbqVuL!3`5G9jY$tfBE3qp&&@xcrc(k(1;!PbKjZ&ruLpTG3PjRX5PB@~B zy>f(->{D_LT3fSpSyiDYxa^AH9+e{|d3IY~zk9Mj?Z&Sm=y8 z2c$~Q_WE9qqHIH*rByYeyK#CL>qYO~DHz=jkIA}`#UTpi`zOv0rTQeIGiZXll--M+ zzwA8!LKD5p+J%)dRr_i7$#Cpvi|EbnlCvpC0U&SdE`X)a3vuN_;lX_-&@93xdB~AS zA$zYJYkvDRfh-kSqh!!X7$;UA{jck9bY8N}-33>h^S}@%6RK8-_=ECSC$W??bk<}A zc%`OiC=M$C6E-d91L*o==cowP20Bo-#h=F{9HN{pc~zfQ2G>{c3yC@4`8-A~Ud1(o z`=4S-WG+Rg$h2&gh`H*1%MLTT3kzj_H$ae2SnBP6tG?dP0iDq_$>W_75aM`zaC2>XaM*-UlH$)=cHSKg({shg7~b)7V++m2mz89L$@1AZy&ezyPP-+X%RHT1Gui5^pUCfyDIz%FKkkKr%(a%ZlK!0UE9#osz!L! z?9CfBG+A#SKwIV57XnW<8Dzx<&QmYT(ZTBQOJOUvf(qs6#vt}MqUqLDw_T2-<j&5#xxs_Dm4;}D(ic1#t+Ds z>?#nY9n}IJQ$=Qo;NrFCOjT=?=5lfKrtT=EMLxU4ge(-ua1pugQ^AI4*t!^U$Y0)r z9w{HI66Qb`oK&g)7`DN2xLNToIdrsi;VaIYQR)aoGjA=8GTWXK4=-jc(}hl1A4j9& zr&TrL##|YO)(oMS9z~@P7H#xC{IeY2ro{5xQY-NLj7wnf-9GQ|0!+q<= z_jV5$;F#@>T4!91OWTTu{_|*Aeay;GWg$TwI|z<$s^4zN@MU!sU`KowWij?E5OvyR{wzjYX25#oRrkPIdZ= z${L)j^t8?FmYoNs?PlfH69vp%NTPvP9N9i#{@qnhh=${${3q(9mjA@8kQW13#BX z7S0-Wkzx*icmphJFD~@ZE1uW77(X)F@|ybI?)ti=^}TiV(Pi}!z7*x>=h_v^ZC*>+ ztA3tDQ-dvLx4j@&>jK|NM5Os|;`2@M*4V%< z*a3s;BQ{J`j4zF21m_w38>+O$ZfBQIW|vn(I_Oy9^o`*7 z4!_$GOQ#_N**_eiCN);casgXyXnBtvlf{~Xfs_2|l-jXjP-Z$17Kkda=S5NkW>maI z1W|8Edotm;Zdo&w!s%GdF)HZ?ft-j=GG$OVfnc>!CrL-$Z`F9bev z)LIRKRT$OUoTMUP4e!U(oOs6@ryj{2>fi@__wqL~h$APQLxw7iOFxz89Mp00DpEX+ zaLjzbarST7Cd=jkQ)i)VIHTryFf7gk%301&&Jo-ECTJa(fh#apSf~nNnT&#Y2iO;! z%d`PxGQCZiOmsW0M{t?y+52%{oO!q;4f(xw-W7d0li5|4$y|xQ$}QI+Jnyluhwyab z3^N_^U47nl<*)G<+n>&4u9<-gdDpz4p4WEy;>^P(X~@6!u3lq2%w*n%SEKaeOr~cB zo)-Guj^`Db%+8f~4&u+NRp5Ce`h)WN!}xQQ&*1ruOlJ2AJb`O+7|&m4GAY0@K%@O8 zo;8`w4ahf!Ga3B(Kh3x)lle2|qhId@T;sJ&=9U*Qobxl8Tluai`u3N_c(&sCB%V7m znGYVp6LqvwT$+AW2mTOegFd^MtRQJKGOu6u0K)7Ce|#>9Svg^K1y7)hLX}X1r6GoJB`N44c9i` zr5kMmprL4c;qyN((He>_v7f9>co_G{%XsqQk7=M)^l?1#POSWDa0lIb53&EFv=Oq~ z*pdxf*D{${1h_tA!vSo4S|*b)5#QlUt3X;i@>cuOR`Sn>BL1441{&$@7(2krze!tH zQo0G9lZG3LjID*zHx_L|IgH)DZ)n4UQu1D}E zs2;|%%*KIfPiHdM9r2}YNBE^o=6bZ3_he3cK#}d;p7-IP@m{;lA3obqw5{;jA3E(C zZ}UaA`od@veKwjnchKj1z!#-0==044)KIk7>oUj8h-Wf4lg@DuSK~k?^ZsJQkNDDV zMH>2~J>pCIcqa3K9f-f`OM3)-PFlWTr(rBJ8HSxF!==Up2XQ@FYCM>aYkg_pbJKVs zi_Gp^z+b{#YZsSl#h{fo5r0$ZMLf+?O^@K2SE>bH#xqz-9uw2Tn1ZLn_h%r?U!XMb z@N;-VrW*I-$+jloI!r!&tkuCHrstjBlZ+qNvW>Z-6j#y6~MYipJ-J>ROp%MwX!+ro>?gLYb(H1Zx( zV3Zp9A4i~1BI+jjW{HzuKy+Bf`APnSce(kTDhHiRJSD&A94EhUHPRd!vzX+UeA&$h zi$bJ(KgmC{*~u>ftLGi|vQ_^UwZ_lRx8ee{tN& zpU*7N!2L=7xl`SI+U4Ze9YOnLP9~m`UpL_7pZDBo z`O9y1@|VAg{(mF4e*MRs{FRT3X!Z&S{8gWH@|*jR75B1L`xjr~=0A zWqxTUr)wi_)9AKJm1+~~coB-B=i?qV3`%9qF!@-n9<_!ZL~N&F^~1xk(9X{?FAB&P)q2qtS>OpLFh-ZwbqOAVRUivWu7 z!Qc9JgM>ccRM?oR4O3xiDopcCm0N2nBu#~+sjxE@c7!z>c9y1HiD2N-z@H;{5rdxz z`~`x;K~nB61$h7+(!YG0sZRnOc7iH;zo}E;EHLJYetO8%sn$MZ%rlw$9#fyLqWOrL zx~ZS3qQ%Vpw5iWf(Nac3rjP}7ry&~nh^fy~xigrXHuc#mTE^%kQziilTZo!xoBG)* zcRuTW)zs&xXax&zG<8cwmoR#rsm}%e_ZstR5H;>G_4#;w(wJArx?eE$g(!?3;qRPk zf&Vh~b5wLC>w=a`5WT^ex0=yAOuYutR%2chq9(ASm+}f@-daSB51aZ@JRUUWtz+T8 zGWF$%K5EQc&**ukelZIFg)y%k(Lln~*CX0#%-hcB9#d~o(JL6e+SE6w=nh72GcrdriF+(Iv*bK1P3M>eQy_LL5=!lctVIWjtZb8>I1IE;Ap(^3Hf)vH3+j?u9)P zh?#%KAVv`}{qIdo5E8^>>=Wh@1uS19FBk*D5g#i?;$4V73a^ZIKFl2E?Q~MVFR6>j zs>Wk^*AoDPkLKOL(qymhy!RvFRq!ab2jBF>yGthCuSZV2hf9sZ)v#HfI6d)BPrOr4`FR@8ydv*i zm?FE!n1g}fap&M>-F(qjeg*cl&|o75VloF`bqIXy*BPtj9vijHcZ9!FyaCLedU zM)bT}Fk1sbDlj!eX#WQylZG^8VJg8?)w@f35&J8a({ zjhvYGmm2iP6opPt%+nL||JcN&@j9wTJ=Vm8|H3?&pQpp-4P1(~v3ZSzjqhXSTY{r> znj1B>Nho(G$_|mSIA~gtx0pKUoBDHRCz)KzQr7m>~ z>}G*(skWO1RInSN9!c!(cY}NP!Yo+AcHy!y?|`GmJgf(}r2h%SgTC(PB*$o4-8wO-I z49IR6kR@zGmaul_w0=;|q>JPy)A~VA6=Z{tsRm7iod&(|?YbBKpfCI-U-*l5ST(51 zYiAPb`*jl!1@#6y4B0MTl~>^=3k=T$cbP-Fxr|))A5YdG|6f4}pJVpb~-C0o7blUTPH8;DQ5m!o|#54?3-5pbLS^7}$Y8 zKLc?DZew5=fiE*~BLe@zz|9C`w7D7%CIZkwCP7zDI17P1h=vIlGB6E+OBq1R6W+%F zX3T^yG5}&t_$dQTpuaAF`jGT3B$;<3=^O?=jle1f;A+cnXW%Ocyn}&nBk(Z>o=4yd z4EzFt?`tF|vB~Q|^uHN+8#eu>64Ap*sbxw(QY3(H+ZA*&<VR@$2W*eD@?M)jrP~0JwQxZB2=h#16{7b90sm*l z#RxW_K}hZico#=AR!c&@js%wYtJX&UuNdZM5=4j=tW1o?HKy!(uG z2=-}3#QQmY9{aG>LEYGmnDJ0CoE(6nZ3U&?SqyRNL_P$LHNUDaK;8naq#=ZvwvZJj zHH1=j5LNC+H0nl+<{}EKj|Jg&E&6cD8n50OU%ldalh*j^6?Y@*)tgu|sl%;@?dMk! z_1Y|%fvDH!qzXj6x~1Qn1XZ(0^=QggI!M2xFDW%jpF=S3%M$Ek>OV=ai>d#>;M7(I zKgZytXIS9Z61<7QUr2B}gTG{O@)4H3S5j|-y40RQhcBY8d|Z6$_mG%0dbOj-*rqbh zMHCrR(##-x7=y^j`;55VLFOs%k_^l=fb-c-o;-gPW3*zjbP`aPT^pg{K`>s872P{kzx4 z!_z+M2T#)ZfXzK8s40MVIuNhX+m zdJ|H}`^W@H$$V4;-x=$f_zs69Xa2Ngh{zKbh&F3d$sT`n#Z-WL6~i{8q(22YgJKXY z+N?01BY0N-B@v!*pUbnsFDafq^O;hE8|70!LY{sQZ)V{Xt-U$vYzEr9fcB1|y^W|O zu)TkXx`A%l8jRaMt2{G63H%w6zyV6&R-Xh8td;~%0tXr-!7qUWl)&E>2`r}o!XkkK zl)x#Gz`;)__FX{MWiLbm>n}Ro3qs5qcDR?34|?2N<4IusMOOmrFQU{ZN*&JCU)0+X zQT(I-yT0A!TGVkkR_c7G)ZtkD#R*qw>*udua2Jx?n%hckzFVMol6N4J^p7b?vl#vP z44QpinCbvBzN9k1H_Vv5j&jMk4T-_`3k%jD@iIp5aHGTEPkUcihKFKG4SD`!?vPK2 zsv)28c&Wj&4`<|^azmb9Kj7m%*YQG33T)ILiy3b%#73HXAk5%==3X9%q@}cP!0h zg3lf`9tQ8Uj%{bDS?=0dfACqJ{}nalVf5kw)r+!+fapEGX?~XJ8}qZy^v2w8Xx*b} zXRY>>6rM1Ss1cLTX+pM|KcXc)Z~QCrb4`U^yDMT5F?c6dq(xpThm zDJeuP!&6d>4tq)pb*=9@N(wTo{BmfNnUHQXU%*KI7xaUzq#zl}_fezFgbJ92Au~!< zCNv7gM)^(5oCS+y76#O)M5e8a&|F@LIPC15*OhjhxHsiM_01( zEd$HW-JxkS+@mZf_j;gUkK$9T2NddRJ@Bx@rdSWmo#wD9Ba237(}!Jc#F;p^-dhha zdZV`VtY9ym*^Em;qob%&Lt#?rIO_p2IM{UVA`J#m*+aMl!h&3KuEnUdB1e4k^8R&|&U4$g*rye%24V{H!0GFlg&Z*TOo8 zifdh-*59XJ?pR8#$Vp;Y%jGs#;34Wox2)sSU$&LnRu}~ zEQJ@?!*Zn5m=9=Wu~T|jj;djab4b`BH7xfPV^^1Mhh?DEM@Ao(`@CVf52gMcQKijv zM62d`L-HV^*K^mHE&z;k^%P9a!k_AkOO1J}IX;7+=&h56k|9m!_+Z?sFPs8|p2qdu zr1({KI+iBYH_IB^Jj_X@)>;_N>c>YLxQ}w+O5W}cToG83mdtz&*K5$uk7We5_XI&nWc|Q!S31VubSYA?Q47qn5tk5w4KmahN9E$^^^<%5hq>qO5#?5TYeUhx@E?K4U}Z(Fp8Uhp*P7JtC0d*Rm@{VONB>R#7K zC3A@du;@kvl?AY_g)Hz}D0H7yr4GehL}SW@W7I0FMW0#CYaF zLkX6~NEK`3alKL+(;BWGh5gNo$o{4O;Ie=5-z)a7gl?)k0t2o5)Mx+VyIuCLyh(Md z;a&{WG9UY|ndoExHPKPopIc6Au67q-j5e0L3owc9ndD3X6V9K;R~VHkz-W`_{AS_i z&6p8tJtom75LMjE=-O4RD-(fr*WSUXOaw;Pt#+4ZEWCcYyF8QVc6WIu(J!N}nh31h zGQg-z1V%UPb_|yAWQaVtRw|zcn^mHaEjz&m8!zU{DR?t7)*?eK#0Y!iUdebE86j0e z@wT?{LCJUl8N;duGNi^2B;!?N{P|RALop~O!Gs!=oOmVITEwh%Dx(oMT8n7$gKqRP z<_@~i_c8bLPIS|3Mi05sPcZsPH~L@b&4hML2+{&u!FG#nBszA3o#-u$-tI;~2 z=w^e_FS*e(82zFfZ7-3{VH?zDA;$#F?7#y>hhF=?FzTY${%b~E^e(B)Lhq6rs4yoSU>O&+OFqJ=i`pgs z3PCbbflj9cnfzl{f=s+dNsv0&b9_N(;W^0vef+YH0=3UN{4o^hM0;rrN3H6X7(Pak zPk?kx@(GZR^F0CLbJQ9|p8hPt_tZAKhLBODx5M1AwdWMQixH(er|4Tf%~|BFkqKa* z>%udNChXHz&tJXZF4k1~bBcZiBT9Qt(YHAB94=h4KWs1kn`#Eq>^;J1IRO({|5v|0 z(mFm$WisIzBznHQj=y8nb>DXU0F09BzBSG!XH1>yaz+W}0xjV4o+~x@YSyB|r#@$t z%vZVvoT0jfB7_c-MLDGpf8X0i1WJdpeK5MU9P(O;5S}vG`YA@0^?~TN zW|vi1c-t=#Rn`Zi+pj=WSsxO8kad;yfx4Fl8CBK?qqn%$2Mb@e)U`e&nsTiVi9U(C zw)KI!ms5w?)(4_jEOq#f*2noPakauS$hJP-b{1t*K5b>s`XKDLZIO&YWMo?(Z+o9) zK*ag152^8a$#?)6xzIrr`(*` z=)?t3-WR-t27ZfTjy7e`(WK~0!3=P~%wy!&Ape3f^4Z2wTo9pww~bMTZGc{Zt4l*Y zIN?Pr#6S>-=OjoX6dXkU9b@EULKi#<*d@=ig0_J1S4%=eg93n*e0vp%@~_O6=o(V* zuifa@k`R12PUe-R!Fe#&3L5;qCwAlL~MD*HNW{@f%NZ{04*ahPNa~H1xNS*0xdcx~A=r zs4^=M4L{&Y1b}g*fq{D6AMqCDi1u7cFv_Svy+|3ON^u|>ZS@xADBOFww&cU|Ew%Bf*wQGW3tf@)E|>M&DfQNC)Jsj?_(*vD14G>t~-7phNC-3#r!m0$SOVX3^iqu92;^M=84aM=X3p1`lmPv zrvHUI2}*m^Bxvr#BzPK*ws&Vw0uznBS$Di`Veid$QGGp#-v2Dnf+?Bhj;D)io0;RH z+GggssJ4xCQT?aqqO$$-odBi$^ONm;aroy|50z{2Zf82gH7&vSY)76y)9-d?fPS}o zbis87-;IjD#GtELpnn3NsG7~F%mRsC;Ao&$&~8J*u^jc^ zb6lt&qw-JO-oN#yn^}U9udZ_o6)9tMS>`` zSn-Mz9YPc*PZ-^T+=tZSqC)D)(MSnOJ@M~5QG67NrUav?H?)n>zjCAhL{oy|`w8$@ z@lh0-qu2#jD0jir)469pF&`On2H&8f17u?w`2011 zd>Wd1TA3b05ZYwlcNp!KDBhad_bWzCCwkSS35c%byKdT}`2fOeeF5Al??4Kq%2f~` zg(kue$^DD=2dj#hTTBEx^c#S{#x$;B2vW#R4TRBtR-#R!2LByMqAlR<({fY5eg+{m ztw6sJ$$E^g zebI$QEmJQpHfUTd)LI}Yj|BnM0@K}UfZ;*Tn}kN-VdjHiCQQ`>B}GMOAWsf-PE^(M zTBfc*TLlgj5Y8=F#DYb3K>%UFVqI^U%Jhllz^)oClvL>#7YpWji;7#OvXiTWEHNoh z3*@uCmZ=7MUFz@O%Hq=nmxq06d){M?Voa+bA~<0=k1d(~Q@uG1dFN+A;3JXR;0(-MM%SGvpPF&F@O{6MUbyk z1e3WeL6qj5=xBLD6R%x60}c5*RZ&d{5%k1hQPISr;v&*@f=x=yWG^xQOh?d4#R9Jk zWUB`SlGUY9kt;Y0*@0r4LI6vW;KP#+Qe~94Ho-)EO!6WkV+-w~lQ9r*87hKI@c^*U zR7J|;>6Md+Dl)9&rV9Hw$>R&3-eHbM6-5S6gB&!5I`Z>_Usrp?ITg9Y$28z#k0Rse zlhbrLu3hG_$RAy*{6XiB$28Co$DB+yMQF61M8x@D61k3=0*R=|P9f?0`w$4?h4PoS zh^@_zA#Ic#rj=nETYoZS0z;IJuDYEGWh-qTaj4AxG`NUXPc9evsWrthbX;9-PqH&S zRyxI~bz%}5_D=RB%e8rYxtNht{KON+qSfhREu1bn<)qY!QA}*aZ0_)JnAk*)!1lPy zD=(UEOfmi^VH|nHps#8SBKZnIS{;k2{?up&a`=~JAfY!APtUz^&Al_|ii8KkaYUX% z%J9U5)p5nUU!IRK6HhswdW)^jY)N#QNVzU~ag8{9+XhbxT@X+I(wW&YU`o6O0#z);aC^Y7`lnh#$`!4ICjz*`l4d8aA}@wvX0#0L7{ov z?bgmR_1~3D)O7sF>ii!Yh^4D=-dKLd*I3NJhu3n7RVN11)zNrlS9SMLEFO_yCH|UQ z<(~7ZYO881@mJoKR@T&3)-0`Dv2;akPj{qpFtIn99PFvA8y>DqC3@4n@kBUXo$ep3 z-kV77s!ZW8-bW+VJ9|)qe<<$U)SiK4?fK``omW?xtgTfUq2-m`_)G3Rebw<;H;PtQ zRWU<*%h9PG9PFv9Ij=Gv8yFgvwtJF^RBBwP2}P=gS1b=LuTuc3oW3h?f^&6jpeH^Q ziN3YCr}m|ii9|Y8y)!xxO~!i0p!!fM>9k+XKVSXFMgrgFknvm!&I1>w(ve8Cx2liK zm)Y3wl&_g?f6HR&V{Q3w-o8=dF7V|exPl)c^O~)J8d_gwwq6I z9rVZN<@*Dl&DUoHuCjVBK6}Buz*E;$1v;#Sfqhn>penG?n!9vv-G$}l^8z2$jm3K4 zN-HqEs=PLE%eB`Brfw(?6jogv`1G|at83=6_|y%7|JIBJdie#Ffg7)_I(y#yEf+`T z;_r~;zc}|Igu@H+zd!fv`DX_nytX&+HErbr+e#0}L2M0w+V-Sgb5{2x26|&VtGSe| z>>b1#)saZ5cbUC_i4E+GN3m4lvRalTC9ehM=`+g9&xQe4t{J8gtipY#gXV}u1$L1uqnvj0Wj9>fd8`26{H+)Ju9 z;67<3?`IIu8NoK(@i&GIGk{u#DQ%Q8tAx?AmAnZK69~FHxM5}RFKQ6Vlal!?nI|_X zl*dBBpj8C~exkF>mf-s>T{`kD>4?JS zY$9^;2I8FDj)L!&f;Y+i4!o5Wz=x06;kzZ}6GD$~OZeLg*thk$()<~${a*e0s^ABX8??TThza2h0QJ{Q~>bdKJ^pVqfO0l&S&qA9Mf=n2$0qVBV_t1}n=E z_zOMAp4@_phH0_0wG36W1Irm*#j$!!;C@x^U(>g<#y2JM8KJ{Ng8JuhH_Xj!wUaQm z@V0e36Dz7zYk!N@m^zn~S;WMR7vgVSb0wgEgBs`5n>CTxo@30KX@@au-VS-xjt(2a zmBLv@a6@p_bx6RF1h=Ut?txxXB@kQ{B+2rE)oPk?#AS2}C7A;=g*2SXo5?DYs|O)= z__wxk!+@=PFOY+d36^XjLPJi zQe_2is9c3;ekE=O=ZGb!R^EwV1tt(#W+gm>GM+nRJb!kINkRDI_+OlI+RkXI*YW7| z4p#Pud-`Gnl#1Zg)CdWA<}(=UGw05!vyDQ7Rfe? zX>)j+&$^2ls${5Q0}JX^yc<;;f(s2@(KvMK(>Q)YG@kMJo2PMw&`&0dAvEW0bej7} z{C7fP{K>{sOPTi%#XYg4G`!O0Bl&jb18-JF1%s3X!J(biWK4WukxYu)2uVdsk1n8A zhmn=HkGC@3D7sYWN`&$$l1zxpHav}UaMOcNN@T)0NTn<@&c)3VQ^A%)h%et@1Z0K; zfZ(a9RZ>IU-tdi(G-dZ=#AcSCU9C(pnj|0ur9*<`7b`5y(7xaj-f7`L`7lMsN2HS2 z7c-bPoz>^F`h2m7CMnw^NxR}kR0x>Yi?yPxn49%r5=l4fg!&FKDt;{b|L4cG+h(7g zV}?y+^An}fi3C@o%&=b^%M2T&8TJ8XhJ9Adk00p4dZhh8Ffv6YEo7J0i2-&Mb=j3G z*_rq2*W-SxV0*80>7#PLPf{KfGwfLjKda2JXKgbKrW9=?#|&F5X4rZnzmd1iytT81 zzY#O+AtBn|Dl=>W+h63EVP8>Z7)&YB^$^T37Ll768XH);SoXo?{PQGZEW>&;`KJ(-Y#ZXjb{sr8FmimWp%b0Hc=+b z_fIu>*Bcv7^`>I>>gCu1Z|)8%k@7i8YLPs$9GFa!&8%7(qznp{*{eByixA`oryN1J zJDG~5ddEkSBP0p>P4;xm7Bb(2?ZHdi@XY6Wt5`B8UXS1;7Mn%>IfKRKGCHqndl0L` zIps@ds|V6bSg%6nq_Sr=;4d*K<7KT779Te`wKS`2`wk6^o3!&ao3zklpv8m@!HpNw zvOfWe*0THvN>*(!456esStxnR*(h*0L|li1f67J@L*3clhxznA%&eR{XAag<3#%*3 z1N*8L+IBVt>4!y*9};1Bm)!5M@6dn&^A5cR_eYfM{i2k`LKsP3missL;2}i5sn5mz zv#Qi@p-%(m>#!8Dd=GH3{vP}tH0Zqmb;0|gLZJ}?8-lP8&3xf+k-M{GQ8k+)cp?6F zrCH92Q6AjHJLQdjK5jn0#hJ{PDRh=NIx0jNRw!l2HvST3fABsO%4@|fUuK}~y`XLn z)+}MyJ`fNTELmSF^}Ud_Z`Wa>1)KJJe}4{Zn% zQT!QK!>kd@q6d03fIpio%2SB&AtA!;LWIZlo00ofQG8z)ay~1H^hctNekUov6_Ot? zh|=|Pzsa~0;hzgCKR3{6M&?R$Wn6cj&7#lg_d{b5n{MfMgv8p(+b-TxMC(HW;&uUg zhXGy2;&WuG&8I*I8KC1h6t&dBsPP0os{&nWaQz!Ff2Mztbpqy(l?r}Q5Wdb3+hHkD z5mmXKQcm>zB?NdmvH!ZT$hW2G?-;%0j_(=djynx%>pNAq?ld?+A2raofcYS>g)fX? zuVL#4RBJja8)p4>g~{KDtrjqE5cmfLK1L#=Y~^LPW-(*sZyjBZ5v`DGWEhmlYqbNf;x)8}HaBc}9r0_zmKh+7f6 zEIx%of|y8;%p|5MzbMnDkawmrZ8_(~`CP4Cz-T>lSMYWrtF2<%MU2XV;bKP?iif^c#W#_OKKJf*bF}j*mZD8murkyR) zQ*7#1CK}S?CDMP%I-eLe5JtUVSIJu9Xso7HQpcVxXU(p3uVZH3B%QF0az!yZURTt)q^mfFbNo?AK8Ja=@DRGLsokeO)#K3< zq565x(awW~QawlH@`+J>+|DU`6v+1@h;DS8nlc~Gs`1MF~`w8dW9*jb&40vnl@^M5j0|`Ueon6Wvk9 z&}!Z!M7vTl%&Vy}Yz;F#a22KDbXo=mi;N*bk<-PATS+Org|a{lC0mN7jR|UbG3(Ui zD)`XG%T+7sR-TD%;)*$yfvc((mRD}1LUSE!+^M6vrWO@{En&6ScE2tzHlxNiCs51t zu8A-IEDGNRV%*n=abH8@p1X@&m%t}Y)0*bw;{x_EF_qO;n=+@rt5zr9)ww$PJGDBw zPR#H>gCgZxgqGz8B;__S%s(WC`R(rNgu>$ZtCRE3Mls(i!*wVS!LW{kObGs{h-+6w3p%PlU2sA1eISYbNpBKDq}u*ejy9J=&mx< zc6FRnBEegVw|9`n9}y5A6`=PztBgfr3ofC}p^OunIv3chjDMC@#<%TN#(!XyfrU)K z{5Q4Acv-seZnes&Cn_CelXl+3rn;0(_mC~VBddUCrRg84RmStOB>0%DGCrod^)Xpx zd{V74z986MulJ(*JEf(Asy(&NShHQ>@z`oe!pa|a4~D!6)+ER6!gWZIxGaS=KB44Of+$;7i|e{nYL ztl6C5v&oXPS!;r-RVKB{Wcrt}m>jMsW3jSoRb+bbdS@BB_tX>%>EzHr4+~l}SrIxElA8;OOVLOhu;x_+M^CF{2B&GlQ~IKTRr*IEFPt)v$#4`LeH7 z#CD1~W)r`N+Z1Z#X;r~@+O9C;Yb5>Ym%#95+Ub|T#{E*?AN?@vhKj&D@e-K4Hk0hb zOJMfFs!1Y9p8LbfYq$6Q*8r>e+8y3p%X+!6if=qBzQPB-qsjhgBoMr4MiJYDA1^fuSK}E+y>-5N9ml9gT=A#6_?>?3R)wqG+9u%o{Ewb%DBASgkDed3pLIBG zS;kL1qwYfuB{gdb8niWc8f$>+dUp7bd3)Z6gCCmkHr4(QpT!?YRMrOh)k@ZZw>VF4o-QJ$SkHt$oLn@9bvradmVjSi7fkX;tkqys&$odVjaB_Pq1m zoKWpDvVTu?Pin~5DW}KXL%kuGBw8r6dngO^;*n6Iw>K3{Ydwkn z!FY7olD%X_t?-_xR8GaNin1ywxHlO~M?-_@q!#Lphj*qVk&SeNI9jMboZJ;ns?=l@ z4NBYbM9(fQ)Puh?-jj$A^$%#F!GtQKz^S?^fDv$OTUwj{(1i5_#CTqeKJMGc*+NCV zNGp9&1kpmmhtff?O$-zm8Xy}kl|n)((sWB_3t!EB>pTB@y$No=7tT|soofZZ&;Tr5 zu+m^SQmY>52xH6CqfR}}bD2unzS3DW)t3z#&P__gF9Eu~g`)XfhER_J#K$EXTO{?CA+LZfZXnXMIjrorC9Z z`DY>CQZ{prZihk=(n6PodNH$buRY0G$vqtnp&K{dK+q3I;=Ahej;=EL8%s?l%*^8IobV}S|+QOKnMxhHu)xp|N_ zj+~1m%IFR5FuH&^!cb;#c%I}P5FCZuGYwT5r+DZp{9(dSYFBI!>%o)115j*E2UPGRXB+4^djnB)9K$C&#_E*-*@JS` z8J1Qjw=@*BO9ke~Tg6Xu%(Hi>LLpxqg529!Imx@>Au1wWxwM4cqXT;&TS9c=hQi5Y zcpsd8;bdA1CwJ1+psOqdSD6&>yL;*5%C4te6mErHfFzVX;&-IGQIkKZ$uFmA*zDO& z7wt-1*jn0+2cDW1vC|_6;}u;=N6`Jv*7Qz9X5*^U^aLKOaqUn+gxsIMF#@uX(}yc= z1C1kmkDY!G!XF={v2(Rx=PhQ}EkxM=^TWQ;hH)bb;0W^wgsVq^u>xf;R2|{px;vn- zKOhjKdkDEde`BL{#4U)xyipose!h)ZKAgW-D1`CU^c^Z4PtC-xyby`yonN~L51V=# z&Z>+~kX9|YZA3JEn>+|MP>?}70>p#q&QC{CpclOC z7W49~aRB3>DFJ6!Q=pxSWUN6gxcwIMQr2S^^|&v7E8<7IIAItMdvOPhFzB$?zQB3N zi%Y#jUL0qhv_O*=ci`}k0^|J^_5&=1@Bv)6dhx7s>$MS^l{ z>eBQ}<)P`8rnjSo9k}rQ4+g>f`aPQ7B@fMLl~ke+lv#k7o71F#S%aWT1vvF1{6P&z zw;WPRP*IUVn}7@kT2Z}N)A1K+-5;98+}1Cbho;@Axc^2(j|$R)=|M>aSvWMD2zY2l znG_KCw@Rvk0z?{pCDH-FMOi$wz)dRkCLl0h3+~h2q0I+hIsHKebW1Z=ds#q0{fOYO zre7uxnUna7&e{Q7ha}ZO5UGOTLmFNx)bxjNJtYMM!2^GBf=#%U^0vilLZ_akY}9VK?GhB`s=b!fXvAP$Ob5wVqXy; zBd}u*OdsPI(~t|MKrKATHFmA_s+Mo&g1a^SY3Z2$9CD{g(1GdaPr{rbxj4c}n0^Wn z4C?~2G!E3z3kQs^J>wB!0y2Q}bCP`BW|DD4^d=sf@thWTpL82225JC59nJl0`B z442agtvvg80@6&1g5!Kd6(C?yAJ&pomR+h8i6B}#7=JacUrW$f0Y-RQ1wjXL6bb~& zRHqS?@q9>9P4poTK#_`vmWSz%fyYD3JD^fQtGvS!L|f`tipQ-=GOk9eaZgAB0n7#> z5a^O1Rh=1;pm_j6Ad3RhYQ6;X@};@JRUB-mT@=Z)+x1N@w2HqdsuiSgGT>U9duAXB zFhM3E08nA@5Zw zd_jWJs~sxXhvpOn<1o5|GXI~n_W`f#$_jh;xql=%QIeBHNtB6_C>bSD5=}-)#Na6^ z$gz^hGfE<2F=MFUO4hxyG`W^E(p4-c1~ebyVTuaw!%zWk5mYdup8-P+aTyiFV2Wr> zG1P!51_YQQIxbJN1`H#Z_gic2eeb!lhxbbNm+iCG+H0@9{_Q_!A4x%i1UubgU?(89 z3iTBAyn*Z38Y`&T&}Lve)MW!Dxi2fIQE4}D0E=)k!pcRgX>z+tiKsBTD_N$_10GkO z1_R0Rh^*k0C#!CV6;!qAgmzO?S{39^L+WZ3j!>8auZ9i317>74pLN-idr=l0&8>{K zWHV^nT5eH0=B&kM7u`cag!E0lD0$eT9Tg7kt`!LFBw{D1TRKzJs12o(aW2Kc%%2oY zsR5<(a4AfctdLNhHY$V3S}oKYSW~A|jasLHolr3q1|AYQox?;eeN91)T9Y!c2DwbP zf!%wF zUU04eGnOO^Mn(-TI-n01wJ9}1+pu~R0goB=7~rDuE&^`oI-%YrBM_GArQ%XXPQgpA zD0K-C?+Vp>S9lp%ybCqmNNqCJf~SStNyXDJtEUHa zuY3AMU;-mTuHo7S2K|C0V*`~aLDwkF88`=eKCqkz*)lO25_Wye1YOuQuhy_eDVkQAo5cfr~+jZ34 z&Ck2#WWxs4_{rQQp(SVn5(rMq@lp5u`vUXxPsll6j#Ci}i7;KKZd+uxiA|$YdAL-o zj8X5poV^?LK_bEjcpx}+!qxHPUheVdWrBlA%$e_oZh@M%A=q@&P!8TopY$B9X1<&) zh@dVaokW2-gq9gb%*+``A`vL1UIHYUVeqSiY#ADuUZdg+SsI0bA($}&hQhB6$qFxh zQXSOY3Wipf0cui30!bH^1Fq&>_l~}?=+r?xwneMd^NA)hC|Y;vS=mAXbjpb9(1@*} zEFvVmxCgHE#Y7W9N^huiyx=nC`;dWj(5xHuV`K--ROsc>0)$aQ+D+xx%v2o!T{WR& zvn-6lBFj4mVF7je^%!^xbj?7SM0E=46lyiF9cqV{44@H1MrMx6`XeB|$ZRSYVgt2Y zmVlNmFw21S>C=aEYcBnczG1FGAmq&0kgmewi{9~cS{U1~q2uN-CNHoixu}W}G)XP_ z3#=0GB~K@(m>PN$$J3=)orIsKOEnvvr})UOAcGnifLjdRZyB^iE6(lLL0xpBDz7+r z=)0kuRL@e^{5o+3Zqf^KG*3NYWS%mCl`IM}W8v^R30N*2FcMty8%teu#z6YWgqN&u zRyzbNmv&m~b&b_Nvj)oWD+WsUs|reYNgi3vd}!xyl$0l5pc=bUbh8&-HrrHI+l`kFeB?=ZFW3p zXM_t1qOycncIk5I2U@bANmNP}$`i&YjiK}bz{p-syp<79Lv~WB(USEMhERMT(p&n7 z%97~_7xxG#?lG!r+@jP}I~p^+VNg%4Di~zSh9QBJlaDZ-G@s}!UvYYh(nwt}dI%Nl z-h6Xm5H|~ehX;5dSX30FuQNtTsc5Py!k{V=AOU6MQwB-|&ldc%9U(IMs!~0bMtA_c>|c64aHzau#GYAdD&jW&_~iQWq_8 zF9Ke5l5XinYKwOVic1P4b_;cAhsDG6%f4f$Td$)!OttDUA>3ie{Lo76M|EP)WC z*(67*3$Zxvqx1@n`-s5aFG3F`)dihwBxt@_1*V&<0_@6rAMz@PQ!IANzh*WBOxfd+ESUbWSkX3 z;FRZ}jVwH@38Ie(K6{gDm!MuT>Q%r^1A(;E@$U|WJ0Y!EqDu#|E}8Sidyw#iGgu+lns&q7_uticku8l8RO$E)?@^f#8#bBEDC*eU!m$J$*x8hbm!j+8WC2%d)}@ciy9$8r zO>)dwrjixXeBCCre!lizS5M5Ub94heA$Rn8U52Mc`mVPVZ{OY!InL#&CG+|*K)fPU zue}T=VMzw*Km*MKrVB@BcKDIXm|M z7$RTC-q!uU38ZDm{vRztJfkCV#B-^-szDPrBfe5d?&JzC4NcXm$-sS@ZaTttIrGv? zBIY=!JeO%vFw?;+^hpJ?OMqt;6q#CB6&*8(yyxNEfbEn6fMmE(&rr7%48}mkCdZO5 z8K^7&hE0riOhkfAA|#{+m4Qdq%vr=o-yk`)NL@DWi-0#2^yfj5p=UwnB!h@O=}BXl z2gIeqfEMXCXR>8p7C@S3W9I-W#N>C9D~H!L|>hKO~F*V zIZ7t>MU1Rhs(!bNb)Qk6m5hpaGA9(|;W7lC?J0wik^@M{E>VeGGQk=dby8=vM*D(I zZW)yb_VJ**L`uMmDA1{3nh>WM6>3_1zp0=)+`7rA855SlwfIzcvj?cgz_39xvAiBt=1ej{4?ly1`aMVDrw=lqqn}k<$smnlbf>1Y67S968 zjLDd=jO5IsQZ)~{4V=V;IR#PCikNVVZxfi(Ps>RvV&s^0hI+}UR{^gnHAEX;HRZT6 z1iuSa^zTt>8VBNg5f(xKLs|k)i~xCv-?QN}h4{WnTlB+QSGh$^G7Ym!Fr8Hy%gLf2UH_Nl2huc9M#}1YDxxFTipUe_$AvCznz*3`^-Lz%!OMX8>`S@NVIn2Bk*3 z0l9&b{gkI@qIr&+%v#qmh(^Wf!CUYJph6jO#p zK(a>|$et8;ytePJgYcswdc&H!Y=M#4(nxJl{`77@uXG3!VnUFFS%NgLeoZd`o;C}4 zO6>F^A$=Zr)6;QCn2Gg(T*KNI4*Yxbv?QXErJm&qQQ_@G9H=4e@(miqZZ%ccAFfN4 zXA-_SBhLZ)>m;5oYmUj{W#X*dE|h)%yeYGp(Iun;;%>KX;5PASw}9cDs8^{(Q%J(A zp`3KP-c5Y$KoyCswBmHuHU$yNnMwJt6N*@=dK7Gy?v?KtJ+uxgW2yvryy`o~aVU#2 z?d>~;M0nN3@A3sDXkcGZ(lKFZ)G>ItG*j;Y4+N&?Zppty%c}8T0Nk|ohdxX;(LZyN ziYEnxfj}vURWi|_`h`VzCc4SSAk<^jIRlZ9T~ZMLYKcxcSzDw}s*Q@Lle<|ROxTbl z!R7e*!*|?K{lWn(`%Udp*ZhuqoLm9Xh@ye6&s*lmc7*pBxCqGnfI(K`6mbUB93M4s z6?8*E-2qz-?7(Ky4qjb|`ut4FFrIiw=!?_~242BbOoJLWNx)DdfGDGm;Gs(fQdl`$ z)a+*~fQwo*og-Wyg*jS$|O?GQi-F07!s|y^rU{`Sp&I{a1@AcxiFG# zE>+Y%VcJ6_1$6QPVxY^+DMPjklkfvnT|-M=J{hTTh8{|Ek`d5Kg4;rEtB$0wu~;U9 zTMucs8qLGGPF`%jTfeV})In-|6QjyKr=pbbJcZFQXTLFB+Yv>}^Wt z>C$aR=jrMejE>++Y5O8S;@@2P5&trCI}r0(?zb2wb;_CX|#xO*mm7CS;owkz>^AByDOhtFa8*IoyxzbrjF>cV67aZ}0pMzvjeZXBvVmJ>Cz939L8aEsn#oYh zB?h{nN0wl6f5l`0y~%*VWC6X&0*c84Dj|bnnPWOf#CkCe1~u)tf;Fcwjak;mL#$jg z>N?o!B`LXVc z7)OKwLxctN<^l$D1@z_$DCRO0AP8C61xx$t^(_2?b!g&gb^(Ck%?U@+uz=?20b2Y4K#t|_RtXB1T1@i+{6n!)1& z&QXb(fZ~zs3I>lrRga*#fJ;=Y6cFd6jhCA@mswD%&R`}!44Uyan$F-+qb|~dM}%P; z=QJv)leyPG{4bLk2F;L81I16wFrh9}O^4cZIHgIc>LzbIwrdf8^w>tx1GrpSLocZF zgKJn$QyD55Lbj@xPAPB55Ez0#1oRmqpkzq1^77CtNF=B~R*iZI^oq*mA#Yr=c!w7* zc(aStO{0oG))myex#Dg+;$CZ+<~mt^+^dHEIHt~MLQ($^7$j;+%~p4)orTVeQKAE0 zlqHc4>aPU_)mQS5_=}{GclUrw6b_-5|s!lp))Fn^?CRFb) zK<_V2W_8$Q<;Yw%hsi|q4ujb{Oqqknge)HG)qXVt<~*qCylXCd#O~pPmuOKh9j~-_ zchC~t0T>Ft77y!vQ0=_Bvif5NYfUt$n~M7AxPokeE`_mdOQ{Via{*9x+H}8xD2lzh z$3c}vMJNoAA-`qkTcMIN0$!maK^SgeE}?^}vuV}9O?84&x3N5#ONE7{2x@Q=V7cG~Nfg;;F5r(wos6C{b~Z zWD@ctwE*q&v;+bi@0SlQMYv7}(WsjH zWQQR&J-a4&mx2Wz$ZKxsC0ya|H+_t=z^;>dV!;?|Y*~RyLZ@$=#J` z_6_Km>TtJDx;I+hb&nmjA8MV2IA=pJ8Viz+wn0!E6x5V3CDR>H!}Xod3G~sNSa5eu zaz{jc;;|zPAey8XsEh7)!5MH;2P9=&n(#|UVnyl*$Z<&Luz-nN$zrO^T*!JaFsO^J z#`yXdbwCXcs47#4H z0qySB1ojNoKm&ZiS~fMnHti+C^GXg20}^i)Y@~-^v!(c8R~sEd46BBCK=vgaJp@)- zu2HY+h&49|W1WH_#xVF8mp3~Sua=ykCB#|4cIs}W5=$+zWks8EJ2q=S1&x`}4P8L> zY&cqJN{!;$VpxfbAhw?Sb75J8Zd~LGYp||za|SMgE>)xfyX+Zl(mi`gLEU>!7`TNA ze3jRQAHdaNG%|Hf$}8wX!8YefdB9QM3&6QGWhFga>Z*cFdzbDua0w7M$##Kx{m?bd5O6hgU6)%7JO|2x0kvE{g;M(62L14id5FB8fyiIbMQ2>5wA z#!$M9Rm+cv2)$fnoD+$A2D7#Nrv>!fz+F)I+Y98TOVwBKEP0qcR>7;}_T1v0f;4pe zIErj^Jmn|vWHsZV-bPv!QyYzgr+$JGGRDfp0AzfZA|3(`Qs)i4gry`9RCQ`m!R!I_ z^WZVS1*0O2#Xxv#Th%E7mP;=~Eouza#SBGugrNkKp;&MMRX#!m6rtA?3__unix^Hm zp^sWfcLBXsfT?;aLkT!Y#VP?AD!d9dGpbR8RWRUuwMsxyU|YKd1)!EoHxQ}YuMZb7 z%llB^gxLyJZOtfE-!SSmp@UlRs#>GQAZlGzP@UavAX3CH@T!I$EP)<#8uFm6aEP`9 z6tG-+fUrMpPQil(rstU%-m@a$DsF)_9g`r$lY%JaaB666qky$waT(V=9q$gIvkoEEbgM7epku?GN ztk6+2wME}5d8mOx6$6by4Q#M19c1L=2BJU;55ubp^chH+$(x@&Ty|8cYBqj>H#@H$ zuq?&#HG~7Qs@S2R3q@2st9tQ}oAF&o5~+C((weoN2Sim)9%{g#fqBr9fnv)w1=W_= zz(EW^DY~gMXBAA(q2GbZnu9atM01QfXP_CNR7spGl|_lf5#DXHibW|n9%?8dgaeFv zRXwP0*>W~x*rZz&4iaE57rKeL{CN#lPZwQKkR{Efhyhd`0=-G6RFR5?@~1eOsf1a; zHfpbdGHzZ$nFefI!VrqeUkpXN*X2)+2u+XXSD|c% zzv;6HLWHFE7S3qakured38`8f98cIa!<+sJKkPZH7LnU=68Ovtr;G zz;gzAJvCfjPYI|*j@f_+RXKJRxfs03$fAC8d3a6pHf;&kxNe~S#EEB%NH$e)=C6@&oEgg>4csa1&xWu27@|Uv2n!>d01uZTKUpAnxNM!~XSNX#v-OBfJ=Lh7WT7#yk?+8`~IOe+Hp>e`*TPR9e9 zJYgDy6`kpNKqab)P=h3>p{QNk8aA~6Nzz?hh_i}irGy%Ef*K@24JD0DykN?Z@}7xK z{0f!+EtDXQ7H?u`2@*xkHYzs^zE71@f=MVc41m-7~F1xnzx(0I%9Rix)?WkZQie&ANw~ZfR0C zjkB3SJX|K@>b`?N0kxo_z+9$D8+o|QKqZ-p1j!ssN}P#QH-;y9(i_%2(HiEDEQ<@& zWt+y!fV_Op$jc{y1UfyF0`UV_OYlfoX5}CxLeND()UP2Y0Yk}H;BOUwVdiH|d}zN& zq_zJSi?m6ogz$^T6t}r7i7%7iItds`2HQz0 zc;l~V4aBZ<(;pLThQ1~fHvE>}x|0ntK?ovR0p?uoY?<@8aaIU{vk9QpmH%R3AiG{5 z%gqRgQK~G#tI|r`Lu(=hR0cnsQnqUa%9#YN4E`VZ%61Ch=>#75ngMPk%=Ba4!tMq* zTP(yargdWFac#8DC%wW16#w1q6&bPBu8DD_SU&(I6dR>tU!XSw;7jb$8>c{aWR6=g z2d6;|HzqOKi z%nqlwQ#@stReqi>v+C)qB(nT84f4xH#!sHHZeRep8Dbk917Awu$cQdh@XQ6|U#Z|# za{F!(>m@i&JKeMOs_Lxm0B0fJ&^HskscJTksF~4@8F>kC)xe8@+X|{{P8oYzImXxZhUNcZs#qsc}s-p&qU$I-LrmBGD0?GL|SDqSK@nnhWZ{?y5 zQvq^_r+^aAW?f@M1+fFFW>JHIgP@ZNBG$?o9;6QIThvY^bp%|Zk~#v4wFDk83?-lp zwOgq=)CC2-Naw@?gtEnZtrgs$9}a-3lE?u8kt9buK=sfm1Fz^BBGhs@4TMnEJiR_^ zvwefbSdJ^s`sbCZ`nM~n3M?47iax{}ULG=`tFuXzSyc^q z$aY$FrL+bK^JFt);S#N7ixX9`U%(<2tp!}7o-t5deaXNLK(vM-Xf2>y3c74)Jc zL&7pbH}xgC1~n86a;diRwND#ZkA>hgUDy2&rvo^wlj|H-B$sIq_dJ;^RHbzzYaJ9k{bbVBQ@x`63{(q|p|01@5K!@E&(XNkIE3@d<} z%8)*T+BlIe=?i9ofLm1jC}}iFJ*Esi)Zxfgqw18(`PgN<4D1FRFmM2{=zkuf2)t}$ zT*g;58IBKYF1xOv^F@uuRkB1iQL$e@v7dK2e^V1oB5zcAd=3+r1*$Prb$_!hj&*jA zpJ|5NVk?)}Q!?-h8rT@wcEE0>@{o7zFkDtt#U{q!p*G2754K4t^;%CNdCEA%yfaQC z$FU>1X=5%zvpC8?l%flw5u?}C4ZsAw3i6kRZqDm zso<6?w>gX^bNlAo9qf;KbUEW8@k!h54vt`1wA&qjS}-Jxpzn{DUG_WcKau>i-JTr1 z75Io0ev-+OxN7yJ)Q53yD1r9sEojLmj%cULYiYAyI$}j;Y@l@)xfnq|lg6Tms0ft}#pqhY&0*VP|4HOg55UNhL zF8`au9LZeP1`&HOL|AH?smv(>*Qpm2R3o|!#E4p^F$_Fh?Qt)zb{S;V=obOE6y!$= z)MU8Twn zk}h}R6|oZrwUclQc#g^<(Z@qfCI&*iO5N6#Sgp4qYUeO*(Wn?KKi&f`5B=c@Bm{$n zDn>6D!vY|-3xn8h1G`W<0T`9TOE6asI+Ik)70{atm>x891)Mi?0o7d85^#~aVjI0T z7pj`Osth%&pzFFntGOFSy^3LskA`aQoKn@?Q$}4zZ_GuQH&++iV6Tw9y#kuO#^DWy zTrOQeh~Bi~6VXuB3FnlWJ*U+p4u(Ihbo0PToI-f0lgOBmwNPdLi<9KIJxN_t-ryuTAPt(6 z1e~WLUqGMMfWcn^n!j}3sKd6EIkRmJW8~m4n7za7%;P-ow0GGJ1xX_Dhjdf7 zwAj?|1T7j^1YB1JZ<_Gd!jRarYnO}x&&b*!45Wfz8^QtzHTVm#Tn2&g#{nKoROXm~ zSE$5A=H*qq)Zkxb03@~2NA!1O8$m{upNEV5VzY(+!04KSJJo8L*9tgkR7pa7%`mAo z>ZVb*@ockFdAM|&c1w%f2bF<`Mu2VvLZTo;kgSra3a$fQQVE){gb3acB6vfHgbFWV zvNZPLf*isHbGC)rV;npsboLY61Hjxh>PdedcvXkt46h-To*P80KD^_F0FwbB!0_mD zX==+BN5Y1m;AYrbt|mo1Pgw~<%QD!CTB>`%Mb9LG?ocuhnHbuar|##B<@a+XyHMr; zj@u&ZL(L1FgqpXF`|Q`_Z~9Sec@c5j?yf|${bV#mxp&eZ#pZuJ!VgEIy`}{72)Pk* zB_-rllYCF@Hn0{znh0lI<;S*X!jEmA zrSZJGUGR6xKel~|_-9mJCI)OUa0!qsMqDyMvM4Gu7jiaFCG+|<#IC0Ci#n^O7Z&Tp zOm;P;Td2mF&dJ);G)8W&ICZYs5<0Q!lxebP7hx1ccxrM1$90U;}7N)lXJ~x>S#~`gls8HR^^@ zHvq3z|JXKaNwi_qXgAxeZw9Rv9uh!a?JWVc&n)OM>yDZ%1Z*GnW7`BceO+68fHnU) zX6u5@cwse=Yk|aS5P}Uy2)1laq%Fa&c3%iFtQz8D<D;GXT_}ifUGC=p6&CK{2v{@g{GWUv`y4ATcJgqJ_jFyo0W?pb zhrWE!4;S$+sCOa& zE?O}90^m8_Yk9b6OR1?fe6g<7um`b%W3x+NQ3f7zvt)lPCJZMh3U{{RGGOPJv~*3) zQyEb}MogXHhrIRonNEP5wt-+t8_3?|I8zCCwuy?Z0>Y48HW0IMr%*NbRuyE~aJ7R5 zE(5M8s0V<0KVDrunM4xO(eD=uk~H%BvqD87dHn+nB{hhSlTN;c>i=~u-HoDrqY8N7 z(`UmizG*S0yg0KN>5Fp@H>TfNCpR+a8(vp{wAAr$kDYLRD+yFCBB|Tvfp6_Aw@E+e z4rqA1i19D6-=ZSI|%T_D|KNpaRdjXJ?#oa`|1?Jt%B=jMin``Nf}*9De-9+qntAXO z30(4gErDw%{%N4z?Cj9m2vD@Nkg=H(N8b`vLy^EIM_m9 zFBvEdQY6F+-akvgeD76X0csKT+brg7fE~%GN<2obO?ml8*c)vGF|ET(>i{OBMTZ_L z@sz$&=Zz}fT(BT60Wz1RF%*+(ika9-5QQ&a6~sIg{=U+!g4j(Hv$p*IPMiZ@NZ@C{ zR}(m>7V*-}?(~hW9w2W)45VIwb5CX;~D|BQjs^MZkw0k0Scq(!>7T4v9~p zgZwu9JotJ72i0vV&Emf%L*dRN*9kFRZ(>qtor})xItRcMcg2p&IJQ6 z0P+KlM~_Ktw~(1J8%aj=O8(DwaFO^%Js^W`m;kzIS>WFjx)(&vv=U(1EJB$FSg_Vc zTAQm|g)3tpr+CV;milC~KIM32zr8mAe!|mF0H5@9z;e0O|J_*RB|emq)TvKmi5_du z?T{h7A2roJ3b^EwU-eWoS|x9#^^}V~!6OvkSFZ7-^`wi&LKDwk>Zr3dWF8n_$nWcg z(uq%6sbo>qK^^3<$~dVKe(4KLJpX_4MQheSgP|Gvgp!(rev-OGJx5*T5S(ZiIP^)5 z%R$+t^VCV|aVo*i)CH*qXX<&z)P@ROA#n_Cj<#|Un)DZ1lD`SO8T-4aD^&C&&s=KM zbmk&c^-cHlJVjlnUSrH|>Kt{8HwxhF02Mrop4lZ=DJ_6kcF0DT)b4-S7-hluRQCgP zQu)`Bhuly!uAR`Dsp!CkqDyszR`ltmVv|mFbeH%?dFpBES?U@UTcaEFqnpT1)luuI z3BRV=!DXB->PhM<^#UD|Mf8$B%)@d)R+-jRrphiT2NSz_*-X#{{NI&xf<9-cSEaL+ z2px6tKE-o|dX2h8y^h|2iKoV=muDX}pJ)&;=+Tg%w*e1O887OjE>X`?FH^UX(M}zt zE>f4N7kysQCtaehQn6Qa8omsC**fY0>LhYQK~HysicB3x^an1NB9Q3d$NoPVGkel< zIg6}Nc>Q}Qv0Z@)HUjP>N@oT6`N!ZmW%NAQg6k3 z3HlZ42K6d+lX{JMof=9E&`#~9;t#+0+IZXGp$LzRmE>6qjs6*IX#f}gjzqh()l;Pn zpYY;iJUq1Y@Go}A4xZwv@i?jq17>SaIPDdaPb%J1YU@U=3x zi@;?~O+!j&sCCqsioeq0uTTyEEKpBU7pchQpzX3n>M`I@P5|uS;R?b<$ zRD(0Yp-h1GSNgU9OoLN*%z?wuIf9n^&+6Ho2gzDk8U@ z8u~XUT1D>8HgqnR-9RhU^&N5tp`E0jqApRFsi(2&0u?>VWf5oxkIcCUUquPO=$dwn zzN;o9^w)K`pST>L=BbR4qJQcf^*p@DQ9mOq(@CA9&QlktGPW^woJj$TLqJrA|^yp*L{oi_G+``X>6M zXW_v&l53%)2f;;lqV4aqugpJ3AAF-{niW@FGNAQTbaVL9bx}hRS|hcMimx@_(7Rj? z03Ej+k$p9Vy?Tjzn&(C8CSx{J`>3MxI`O%{oT6K{iP}${r*1I6(4hw2nj#gx+5ze+ zYhNAAzC^S|jG>=iwvfMOWuLKKFKEYI7xG(PaHm67^f*;I5=}CH#9XgeyAYw6dfBM znF#RE!GlwUw*yuj8!rS{^$G}H3SeWtoUQ7RGJz)I8$Pn|E=;6+_J0k_7img zQr#U13DPFz{nT2j@O8sSt(tg}98#XA%Bm-PdHAF*f`@i_O8rvm?Nshbq{zbLBCfg__zZRzPi6-{h_*VpoVc%(njrvPuk$yMe<5@ zb5zxtXW$?9u<)UqR9y%{yF5vHCqJ4jFnqT)JFT*bEA2u56uu)=(X}Ra^%v+$b=}lZ zg50l%;Q8*reroE=F9jx^f$y8je5sFK<^QaB6}*`mO5poe2qG^Pr+T>=qPoI-VB#70 z{&|J(Cyu)mwR(XFd~&i~PYJ#s7K3NE5(F#R$lJZ$<4OR5(g0BnsGF9?GipZ{`{wJ!p zrudG(`Uu9*RCZ44V4P1J3m(f8s3g$sDQhrE8g251$hWz68GafhYK$c*41V zbc^*Wda{}?$GRqmsdDjtiC*-4W^a0Mg|HnebJ$tYwE3WccxVEJ?i2B;rZ^d;?I%30{d9g?yX-6UXC50abD~`6FME2qfUDkt0RC`*;1@jb|5NZA3H-ZbcV|}u->KiH8DHaoJkjrLocbwwieZv3 zpWUI~e~wchot1X4-&OGS1TJS4EoOhDIUxj(KW(jLeD4nYYj@zEAfH4(u@_mVJ~0jW}>}aU@5+Rw_#;`&kp<}JMjJ;_}~tFd=2}9rzFKz)$bM&+Wkf!w&q?4t!@k{$NM@HS$Z>JMsx%r&Hv+u50kc;N|)2@h55T z5*hHrm;PYvu55#yVe&Fx(`A3^;_1@N*K>WaXPE5dae5-Gm(7~b>33+CIa%l1KOINk zATgcy@_s2!b*v%3>7JCz|JB(2uR-KA`1aq1SBoF-FXHG=@Nuf!+A~?~I{<@>&-$CW zCyvgY2fyUopNgYD>jFRE@!fIiL)epDxA8K2;?x6|X}{+2eds?6zJxsHW9Dn(XiMak zeE(t`{d^aAi^snnSPM8M^MA+DCp)p{f^Yw^*c}=L_x5JqQ#Stb{OfUa=P}Sh&;Q?I z_wWYzmdF1muomObrs8N}6?tBtY-1dK3*)&q~o=%|dh+uCdHLZ0Zj?D0op_xb|ko%8s!vHNZ2NbqOPSH#hz}Y4nNCd;DY^Jt_GT+KJCgm%wlM_H%LcIgxkGc(UDtqtIPCco|o?Q@Cth1mUH*U-=FU-vKK=_g`c8o%kc|<5hPJf9$3q$otDUx~&6z()#ZrKbKZ2`Ms-Aq)0J& zyPk=od%8f^JwNB0Uo4@Y*MHYn#?eQ~@5qn0t0;Y?H0!_oPY`|a_;(Qhi;#SLcl{vv zagVdU?K(sLp8^m1{d(-4!XI^B|6P9)M@8m|a07hK^7;0fIFb+6HCtxS?f1sfCHx!a>+MZ(^a~64 zf7G{sFpkC-Y4`fwz9)9Sj(*XsZ+|^@KSfN!e7yZ&9L;XQ-{#wo#nCf!;6Wbidz;vE z&A0yu>(5ni@lQQl(}kS8b^DY|B3XK0#3R8ul2z{ zhS%4}?uPio>r>x|e;UBOzv`c7JtO{MJ*$6>_?=9&mwyJy%ge{v-#kP6Gv?2F_Ureq zC-{%WE-(4#{Z;?Z;^;E=Ms=od{bHQj71O?A@vr~E*!?8qr{;Y7Pa$u?%OhXwe<60K zw!znZJNEw<$*Joe|HC+XN5(r~_#ND{4fj^!aR+282HerYe%S}b`{Rz6*iZ1M^W)#~ zb=CXd9V4;(!+PZPdifzl_O}sFKOgUSkNxL7?d^U%_QN|H!FPLn6IhG4=WpU@8h=Hd)_&*x zaa7-cKQkV0Wj)9LVLiX|OXBD^MSiz$-%CEsgZq5A^DATb8+qiN_U!|4)V>1l{e9pA>kJ-?In<%tgTDSCOoN1GOK%AKF5|8W4{|E@Sr|Li5! z%T3F#yY8bM`^xQ)$8Pp2?ae0dF806ocKdexd)Jq=dQQn=;?m&K`-x9$Xf#s`mo>q*&_P4`Su@hoc@$jq_4?fNBK~X!_wPUV^vBT` zCXw&w`#lr*NBl8o<@&1tYz3*aqY-tWZGH%fjrdYtplQ%$sceH!FWNsH;z@PRn>kyZ#NE&dJvhu^;LV<&_4fNW zkaxo4tUq_{20!O<-Z%dBCisBIe+~Nw!F|3o{2uryc#8Zc{tcgt-8TM9`}Mftf3jZI z(eCxXFN!1G&wRY@doXriP5e@;CjY+2;^^uu{yOgQ=jf{ioN^!Q*LyOajL&?!uMoSQ zHTZpg-uDf0w6Q|_rti=E)Awy3ulxRO9DTF22Yr4Oc^%+>KHT@4z*_uxn>%p!llKz& zcmJ+9>SsPgtv25Mygz+aC-!%HTzsj;XFdIW(bxOG zF~@lseZu*naVm~}x*Pn4=V!h7_I7ZuZ{u0kzf0i${i1O-cFV*glkxoQpF^VGlE*K_ z(SMB5zro}GgZPWS{(RB+1>RRKf{Xu&?}M_R1{{AqSiT>oKjpzMi`_5uAkX)I@YUG; zY!eM$-v>XAzeRsPe;#DL8Ce5AZ{t7sDPS#L-gm~)pJGqY_rV{a|793_K0Npnp51x= z&&FCX2ESjQ z-uD=pPXEk;Z+{_n_noAJ_viawirpaN1$*E3I{uRQczxej06&$$kHoGEf2VxDzi&Qv z-*|!XE_?axk1gV_Esy_D>|X7nea_?DSA9hAYaai7@?nW{thfIm`Mz_W{(k(2?v35| z&B8x#{13Iz9`s{AJtX%vqJQ8gKbIQ7y+0oM82g39)7_nt_l1Xef4;2?)X%4f*#AGf z48G~*e=2qliM=I{|1;$Gf{T0^kNxqzOCBem9wIlbz)yMTXXEHMN&thtKkL)OgWx`% z4_)Pcw;5dYLF7Y!9;aHiS^e2lt29 z@y~gW_X)2Q&p*g{V-2+5w|^pzmL}o%{%-m<{8Oa89%b-P(+|W^Ump2qJU{#W4~hT$ z`rPyzarE1(;GzE?#O_bG!2SGb`cvM|k5}-Av-s-*xR1}n_s4GW0P>qn{=?0&`^rw* z{d{})1@f&U!T*ss`kHI#>;3UC@%z96_i7#HuZKlv_2WJI zIBi-?{-ZC%QLE&bUwp2e6$B!LczK1^g+wf|ko${!RrN!fa7e^0mLYTDv z&3DJq?sf2fk3Yrw+YIjQY5p+tRpR0Ep_%pLJ(20--TbxSrxW;Fu{*|m4Cm=)?EAwD zv|sb`7rFnN2lxJLelK=^auxo1-_HBbkL<=izn(U4#8Kx(+5`VzF-l4!;eJlqPk4UTgYQ2B?$?LMJ|9QhbMPOt_Q&z}JCZMR9_Rk#)5mCE z_4q&Le&!1810Me<;?^ak1z2(rXJku^Y|*~ z%hd#ane*Tv_@K?_$GQLdeTnxO-+!C&@lS~N`|CMBNxUyu`}?1aqlRtpQIEeEyKkt& zp7S2>iBmnqE7~ym@BgaU{aG*Py9VF>b*yKdmGRzxB#z$QAl^N`o%3#!#KXt${XZE; zzta!i=iAAbu2Jx_9>2nRv;^++^ZlO#5Akl~#}EHHc59cBKWY3eTps?H4fLD$ctae` z&w_h@wa9(uapZOQ_Sb;5fKysH-^qP)D)3LRpW>fPpV`|o8)ttXd*y^J^RtC~`phLz z(U0?3%Xdhd6ff@w4J+e68M~%=^zr%7@>$}s1&_C{<(Ih+xC(yC>&N-w-Bxg)UoC%& z{ktptPjH|2L!yt@_lXb2(La@ZJ!k!&c#ZqQ>)_trCq{s^n0`+j+kyXc^ub?YemwC# zoLB3?2fe&c$EgRApV~HmJi+&Z*XzK&Jx^Rfzu=EX=brduzMqun@8j_#^ZOL`rF_0U z*~eg1=9Dc|S~>7PJ3J?o;nxfDq*WC%!LS0pIZa=>G#}!F~Uyc;DD{5`4+ppJM)e z2KgahpL&Ax(Is&2ucx?wJSYD2`aIPgJAI$<{(9=;v}rMYp2EH#Cm+Io`qZbm{~%w& ze0=JA{o{i8 zr`OtB@8P^O2){oswer3G+%mY=zjb%)rbe0XKAx>|KP>SH?QimZ95n3TttHNzyTS8b zKJogJBI}#Czx7|mZa49+x$fJ4l>3m5M1SrtzJ>9^d~ChQetv-VZqNV6vFmN4-TS-s z8s8Jd-<{U}w4BexKYqSGT_2~?BJYH6e>#r#F<$t7_B8kX>%>3u^X2J}$8Pi*-EVk) z-WPthAKbssJ$)GY+u+{*r{`jqTTSrG`FbPK{x9)YX9DMaaAlJ2yS;qQ(?8L~_?sT* z^7da6&+xtP=|7_XAJR|ps=K#FFp7|Mm-a+*5^7{V@_mAzghyIsY|71MxpJ)CuPGxVv9~=L(55%cg z`)I#m>(R4M#OcrC|ER^*<7an#e|+}KVz>7K{Fi)x*2jnE!CO2&!utv+_Y3;-BF~b) zk6f(S_bmC_w3XohE@75Jf6B9;=Kc93fRD$sKNm+ISpYxd^g{V+UwVLJKwjv8Nc4z+a8Le50fA1vmWQX`a8?CpYr&ZBTEZ7rH$`3?Y)c_ z`hP5rt_{M!;rY4Wv7eU&=UuFgd_D(%h)>&5@I<`Zj&uLfNW0g+?Ii783H~1gN8fV) zb>4qR!F~MN{+#xnO8W=0v3pbU&*#?%h^PEQo&R1ZzoGHmup6E#O_ydyMgViUz5Q>z znd{xRzdx4)>#o8+vNzF`pU535P8=L6=JfY9azit-j^DtTEEYP` zXTe^0-VF~Gi@99xR{iX^LGm+)4<9wQB*E+S^6TBI(kpN7dF|y~z(l10S0w8%l9)z2 z2Te5b>moDbW5YuwexoHfGBZ9rjR&TS)7@AgZ2JpS{JzVrXt&~i1py+dcWhdm`by#8 z-ih(j)I<@afSjYH(XsJEIeu9rcW|tfJ3NsuJollF=fBiV6%OUbXAVz;?QU1>?V+M# z&sVj5Nmbj2+)IUni0&Dh${!h;D(rg$q;~=*_l}LfwNHMpXJlx&0P!H9EllMmOHf@C!5y<@3`cF9PJp-Zp?=q8X8vqJJKqDO$ty%s~T2#%8BS zrpMqJDNYQPrpKlwnG~KG_ZV{XL9PLZ3VAQrp2)QZe>kzNVuV=kJbNC<}(&J5--z*#=wISqk7AYB7QXh%VZ74o zc`>}ZFfue#EYYXLB%AIZnh^)8`=*KO-qE4)@j}s6_iR@^Lmc|Z>Vmkoiux*}?wy#C z>6Ckk-)GC^it6mchli>(7gtCSl9An8oR}`Kh>Q&t30GyUsbbP$`^IJq#n)e(c)L*5 z#^Bw1_KM{eB~%?5J2W$;K^3!efQ8)f#1vUp62hKhv43jpFbmAIyCmACeem%uq3;5}f@LlW&e48ZGU~=cfw% zjvro-w4Shp+$$-3vscSYn$0`1n%_4}#stB*^mVdS+$CxK#!Tsz;?N=dRVei^;KwG4 z{1POS$fhb(yhBnscCUklgD&rPhwd<8`o%$2Q=PCJVX+>{qlKR{#i8la-r^X)p17}X zr$Wh58E*g4@!`>_iSe;_EY3${B2^?Mt=Urv$G-8tsfk1Cse?n)W5W`*>1ucG>*lvK zb+I!4zcKRa(AfBNUt!9kqI&J{pgIuOlbrdNCfIAlP5q;cGdfYszdT-;I&`$k9x;?X z{>V5RLB5dB@%xdMj_MC~W961f$yTTvldPKNEnNqzq;yv8=>}yu>M_V#0Jc z#RSb)(p*;r95$4nV6z(QSa=HKLkEk6{=)dHV~2*AC@+^r3sWpcVpwi+f)#&y z?9lj7u_CXXsl@mwQ7XJP#2Un}i%!aFk(-oxn;XKG!#n5h{vFwrJ9L;+h6<8n%tzj4 zO|{(Ei_4~2Gz(*gSY*7~)02fl-o5nlOS#ux+tZiZzwc{au5t|G_l-;D5tqWphFD`T z3NH>9#@;SiIA1Lg9i|k~>z`n5g`mqCXG?Tg`gBr!rPwz!9kgN&v-`4p%f^o2BV$Py zx4Xl-)$Etpv5QVm41f5;x#{WQq4AN50?91nd-$K zBYb?EEu!eQkKbX=A!z^9uxM-9yr_oPVdwV~DThXpSDT zGf&&mm8j_+tLMJFq#bK$wM!*JLmaf(n%jEfc&KA{aT)myL2kMDHCD;oEOaBPybkaexz{;se z_aAvH&;#85?mfAe_Uz|~S~*mS%fP~#&i?4P#(mRd&sbh`eG{+jwc`L=^vk-`xx|jsobw?4y@HuG;rm;tLNkU-pI|4Omn_^(T+PhzjU9NoH)V?riZlT2yZZ< zZgmWjQ10hQpzHF-#)kG!jFjYTU6p`(;+QJD?sX&u^(Yt?vpwB=6C0Rc|MV2+&mcBO z4ztnibby}BlY0;+S6dfHP;8vTuWkwW!=}aIqv6G{|LA1Fg(Q^2j-GXwK;!loFlqSYyvG!Z3m>QO0Q>e0-;ny-E0S|t7V`KzH z6Rtp;#A?we`&u$4uT~%a%BSTd585WZK8luAscXqI?e6YD`e?rCbD%rZeT%ck4pO=tAOIv+IA53=d*XCvWs!rNiB7WVS3tKOTonZ3U6u)Ku2;bLKE zd}gxhu0K9!eD((JR01RJD{>g^{U3)j>s4 zpHt?MiK(}8yh_=^;E$2IV#@NN@67!ZDzT#JII5OsnapIH^vUV(UvOpq>*AMGwr^@| zyp%XDlaMo$VMQV#Y%kyWt|fmIr8?p4I4JiqRoVXhhumw-NVz|A(?^CT<*>vwk`3V& zw;j5{;|qDOO)7~})w@plObheNT=7hCdVG}^B3{H2lh?MD@QP?}XnO5Y)QQ3IUN73j zRqPbf6iE@Ni+WYPT;9-=w-tDfHAg!lcyh!Z1|A!;&e^PPP#wiJMH+>hpv@=F43l2YoS_ zzXc>$Hz+N4H#xcG;z}=(bsS%k$H!hd-1ACA-{;E#*37NapuFa=D0wf-sw07v%<`FW ziwme}bSU3VR*BSY$6uik{2YHFi8raF*$F2z>*Yn1TMoGnkUgg8Muz2{r;-@@`sweC zgpq8rE0veaw-axnV6kgkXSHnnB4g)8fy7B;+&>ZSt@nrHRnimKnXAmG-R=Yk-cn;Q{^0C>tXM$#LaHUD$8zp=E(tic=BkHGx7SbZW}HgWK}Q8 zH23fE;~`b6U$y;G)jzQZ|8qlEtbW~4C&<-S|Ik>`ODf0Kja1)XKA#MeybtDe?&`;h z@(o?Zo}1z}qxTWK^M`3^Y3Hv`CdN48%2L8x=s4GlvM_3(l;T)n?1yz&~8;{zDCGgX7VX}(IHUj0ng`-s9pe<(_9 zBr-GQ-m*##ON*)O`EC8=Y&umK8z+@@I@|4=-4wE9>b(^Q`zk>`ItZ)YEoAj6U+Cz| zf_QwWG%=R+O;B^_Che*|ddS7v&DTg~fF23;Eyg>-b_F)!{0Mg^k{{(I?B>G*TKXHJ zDyu|$HZ8HLe*zJh~AB99Jb|axur{s%~-9g(3?^(p;H~J659bhO3Ga z6>r48@qB>~$<%OVW)~tFGRgZ~n9FKkML*d$ z^vt*Ow$U7~uQhrB=5N%+)%*R?m(RdqITfRlY~m)_k`L=8Pjz~i)6(ou>c4N=q}br9 zs?K{HuLG0Nto^whe*@7UxJPcD&%7^lT1onkqs#D2QQncuH&Dq@*{J-0hbm`*zxTz% zv-=Z7aIL(V*g9DXUk&)uTE6R$eB(2Ye#>NdT}P5??B{c*Z58Ew!HqMM;dBzR#|9@K z5+BHta`bx5{f!i-(fA@Ig6P;RE2v` zJsj(23tMG}IcCY#P)^qnIpV%m{)%UE!u7NASN;5ip0VDX8JE|64ocIq((TOS9LI(5 zQwPE!*UJ7YrN6Ku5agAgJxL#s6Z~k1_UNAo;T7NR_+nFaNp8A)On*jYr<0OvI>(E* z<-&K1ALI1FoQGe&&L#PWra5F*f8F6jMb(XC;=m*~G|pcH`eYzSc&jW=;3`up*PZr$ zUgbAlPW8J0ath)q-BgKL_3c8HywS0d(u*(b^Y_|(x$-*D3mvK)!?i4%_{7e4auP-U zdTi1IQ%qLQy3XEfa(1S~Z}tN>RVvH6nLG=La+SqGLw)nd@2U$e|2ehFs-5eF-e?5V z%)NfgOLo&YIyvWYOf2!k4g{ur9Xd8H_d~kji*bW3 z;Ox3Zl;zu)?F2Wk?<_{TKvvHm-4MfaT)o@+9}nrDV4cyF*pvUn%rqZA)QIUBdx4N+ z-mrdWXGTwwXKL@T-wyl{$!|yY`m8Q4P4IbKm&+>ugty$p@fA^e(kZZ=+5OiZ|55b+ zZPN;J5Cmc%U-A!nFfq|YIh#l@dH{@~?{{XpWw*e|!~oshPTQS!D#G7qqH$Xb^pd|T z^T`|@4rUqfMnT~lZ?k~m7Qt8Bt*zkQf?U|BO;75}e;)p(D z7Yc=>3o{A3usxv7`6X?Ru-lIHtKOb0SW(k_Y!LPUH15)zqDcHXKICa@X6^gKFhCgr z^<0(|Lc~aFOZ1hQnyB&{?seoi5dT%zMwd#o2PEVT!X-7oPzDPg&!&I(GO1&Zl%O(s}$4rjgi@)K#gMY*vwXv{R~ O>d8 gitInfo.txt +echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt cd ../../ -./genVersionHeader.sh slsDetectorSoftware/eigerDetectorServer/gitInfo.txt slsDetectorSoftware/eigerDetectorServer/gitInfoEigerTmp.h slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h +./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE echo "Revision Updated" -cd slsDetectorSoftware -fi +cd $WD + + -cd eigerDetectorServer diff --git a/slsDetectorSoftware/jungfrauDetectorServer/Makefile b/slsDetectorSoftware/jungfrauDetectorServer/Makefile index 8ff6779c8..6fee46b09 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/Makefile +++ b/slsDetectorSoftware/jungfrauDetectorServer/Makefile @@ -10,7 +10,7 @@ INSTMODE = 0777 SRC_CLNT = communication_funcs.c slsDetectorServer.c slsDetectorServer_funcs.c slsDetectorFunctionList.c OBJS = $(SRC_CLNT:.c=.o) -all: clean $(PROGS) +all: clean updateVersion $(PROGS) boot: $(OBJS) @@ -24,3 +24,6 @@ $(PROGS): $(OBJS) clean: rm -rf $(DESTDIR)/$(PROGS) *.o +updateVersion: + ./updateGitVersion.sh + \ No newline at end of file diff --git a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.3 b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.3 index ac4089b1a1e61319ede73f5c8de976ec2cb618b4..4f01885c193a0bb665aed0dd5a61c1a635dde2fa 100755 GIT binary patch delta 54 zcmV-60LlNU`OE>AP3U`OE>AP3 gitInfo.txt +cd ../../ +./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE +echo "Revision Updated" +cd $WD From 56645a48afe0c0f075e3e6fb72d274943812b96c Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 10:54:27 +0200 Subject: [PATCH 06/41] added updateversion into makefile while compiling --- .../moenchDetectorServer/Makefile | 5 ++- .../moenchDetectorServer/updateGitVersion.sh | 34 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100755 slsDetectorSoftware/moenchDetectorServer/updateGitVersion.sh diff --git a/slsDetectorSoftware/moenchDetectorServer/Makefile b/slsDetectorSoftware/moenchDetectorServer/Makefile index b067de322..e16947e8d 100755 --- a/slsDetectorSoftware/moenchDetectorServer/Makefile +++ b/slsDetectorSoftware/moenchDetectorServer/Makefile @@ -21,7 +21,7 @@ OBJS = $(SRCS:%.c=%.o) -all: clean $(PROGS) +all: clean updateVersion $(PROGS) boot: $(OBJS) @@ -40,6 +40,9 @@ romfs: clean: rm -rf $(PROGS) *.o *.gdb + +updateVersion: + ./updateGitVersion.sh diff --git a/slsDetectorSoftware/moenchDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/moenchDetectorServer/updateGitVersion.sh new file mode 100755 index 000000000..379ebf785 --- /dev/null +++ b/slsDetectorSoftware/moenchDetectorServer/updateGitVersion.sh @@ -0,0 +1,34 @@ +SERVER=moenchDetectorServer +TMPFILE=gitInfoMoenchTmp.h +INCLFILE=gitInfoMoench.h + +WD=slsDetectorSoftware/$SERVER + +GITREPO1='git remote -v' +GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" +BRANCH1='git branch -v' +BRANCH2=" | grep '*' | cut -d' ' -f2" +REPUID1='git log --pretty=format:"%H" -1' +AUTH1_1='git log --pretty=format:"%cn" -1' +AUTH1_2=" | cut -d' ' -f1" +AUTH2_1='git log --pretty=format:"%cn" -1' +AUTH2_2=" | cut -d' ' -f2" +FOLDERREV1='git log --oneline . ' #used for all the individual server folders +FOLDERREV2=" | wc -l" #used for all the individual server folders +REV1='git log --oneline ' +REV2=" | wc -l" +RDATE1='git log --pretty=format:"%ci" -1' + +GITREPO=`eval $GITREPO1 $GITREPO2` +BRANCH=`eval $BRANCH1 $BRANCH2` +REPUID=`eval $REPUID1` +AUTH1=`eval $AUTH1_1 $AUTH1_2` +AUTH2=`eval $AUTH2_1 $AUTH2_2` +REV=`eval $REV1 $REV2` +FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +RDATE=`eval $RDATE1` +echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt +cd ../../ +./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE +echo "Revision Updated" +cd $WD From 7a8d0b8dad5ca018c0386a61505401927bd392f6 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 10:57:39 +0200 Subject: [PATCH 07/41] added updateversion into makefile while compiling --- .../gotthardDetectorServer/Makefile | 5 +-- .../updateGitVersion.sh | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100755 slsDetectorSoftware/gotthardDetectorServer/updateGitVersion.sh diff --git a/slsDetectorSoftware/gotthardDetectorServer/Makefile b/slsDetectorSoftware/gotthardDetectorServer/Makefile index a06a86180..c2e92aa6f 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/Makefile +++ b/slsDetectorSoftware/gotthardDetectorServer/Makefile @@ -21,7 +21,7 @@ OBJS = $(SRCS:%.c=%.o) -all: clean $(PROGS) +all: clean updateVersion $(PROGS) boot: $(OBJS) @@ -41,7 +41,8 @@ romfs: clean: rm -rf $(PROGS) *.o *.gdb - +updateVersion: + ./updateGitVersion.sh diff --git a/slsDetectorSoftware/gotthardDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/gotthardDetectorServer/updateGitVersion.sh new file mode 100755 index 000000000..54e56e537 --- /dev/null +++ b/slsDetectorSoftware/gotthardDetectorServer/updateGitVersion.sh @@ -0,0 +1,35 @@ +SERVER=gotthardDetectorServer +TMPFILE=gitInfoGotthardTmp.h +INCLFILE=gitInfoGotthard.h + +WD=slsDetectorSoftware/$SERVER + +GITREPO1='git remote -v' +GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" +BRANCH1='git branch -v' +BRANCH2=" | grep '*' | cut -d' ' -f2" +REPUID1='git log --pretty=format:"%H" -1' +AUTH1_1='git log --pretty=format:"%cn" -1' +AUTH1_2=" | cut -d' ' -f1" +AUTH2_1='git log --pretty=format:"%cn" -1' +AUTH2_2=" | cut -d' ' -f2" +FOLDERREV1='git log --oneline . ' #used for all the individual server folders +FOLDERREV2=" | wc -l" #used for all the individual server folders +REV1='git log --oneline ' +REV2=" | wc -l" +RDATE1='git log --pretty=format:"%ci" -1' + +GITREPO=`eval $GITREPO1 $GITREPO2` +BRANCH=`eval $BRANCH1 $BRANCH2` +REPUID=`eval $REPUID1` +AUTH1=`eval $AUTH1_1 $AUTH1_2` +AUTH2=`eval $AUTH2_1 $AUTH2_2` +REV=`eval $REV1 $REV2` +FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +RDATE=`eval $RDATE1` +echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt +cd ../../ +./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE +echo "Revision Updated" +cd $WD + From fde7ddf832219a0f6ac95cee58bb65f8c6b5fdf4 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 11:00:21 +0200 Subject: [PATCH 08/41] added updateversion into makefile while compiling --- .../mythenDetectorServer/Makefile | 6 ++- .../mythenDetectorServer/Makefile.dum | 6 ++- .../mythenDetectorServer/updateGitVersion.sh | 37 +++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100755 slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh diff --git a/slsDetectorSoftware/mythenDetectorServer/Makefile b/slsDetectorSoftware/mythenDetectorServer/Makefile index 99c2e4354..a4eed6cdc 100755 --- a/slsDetectorSoftware/mythenDetectorServer/Makefile +++ b/slsDetectorSoftware/mythenDetectorServer/Makefile @@ -22,7 +22,7 @@ CFLAGS+= -Wall -DC_ONLY -DMCB_FUNCS -DDACS_INT $(VFLAGS) LDLIBS+= -lm mythen: clean $(PROGS) -all: $(PROGS) +all: updateVersion $(PROGS) boot: $(OBJS) @@ -39,3 +39,7 @@ clean: depend: makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null + +updateVersion: + ./updateGitVersion.sh + \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/Makefile.dum b/slsDetectorSoftware/mythenDetectorServer/Makefile.dum index 59a15e28e..bd74d1e2e 100644 --- a/slsDetectorSoftware/mythenDetectorServer/Makefile.dum +++ b/slsDetectorSoftware/mythenDetectorServer/Makefile.dum @@ -18,7 +18,7 @@ CFLAGS+= -Wall -DC_ONLY -DVERBOSE LDLIBS+= -lm -all: $(PROGS) +all: updateVersion $(PROGS) boot: $(OBJS) @@ -35,3 +35,7 @@ clean: depend: makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null + +updateVersion: + ./updateGitVersion.sh + \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh new file mode 100755 index 000000000..3fd1bdb1c --- /dev/null +++ b/slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh @@ -0,0 +1,37 @@ +SERVER=mythenDetectorServer +TMPFILE=gitInfoMythenTmp.h +INCLFILE=gitInfoMythen.h + +WD=slsDetectorSoftware/$SERVER + +GITREPO1='git remote -v' +GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" +BRANCH1='git branch -v' +BRANCH2=" | grep '*' | cut -d' ' -f2" +REPUID1='git log --pretty=format:"%H" -1' +AUTH1_1='git log --pretty=format:"%cn" -1' +AUTH1_2=" | cut -d' ' -f1" +AUTH2_1='git log --pretty=format:"%cn" -1' +AUTH2_2=" | cut -d' ' -f2" +FOLDERREV1='git log --oneline . ' #used for all the individual server folders +FOLDERREV2=" | wc -l" #used for all the individual server folders +REV1='git log --oneline ' +REV2=" | wc -l" +RDATE1='git log --pretty=format:"%ci" -1' + +GITREPO=`eval $GITREPO1 $GITREPO2` +BRANCH=`eval $BRANCH1 $BRANCH2` +REPUID=`eval $REPUID1` +AUTH1=`eval $AUTH1_1 $AUTH1_2` +AUTH2=`eval $AUTH2_1 $AUTH2_2` +REV=`eval $REV1 $REV2` +FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +RDATE=`eval $RDATE1` +echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt +cd ../../ +./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE +echo "Revision Updated" +cd $WD + + + From 4905f4910820670f12e038d6be46311c05151a63 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 11:23:19 +0200 Subject: [PATCH 09/41] added updateversion into makefile while compiling --- slsDetectorSoftware/Makefile | 7 ++++- slsDetectorSoftware/updateGitVersion.sh | 37 +++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100755 slsDetectorSoftware/updateGitVersion.sh diff --git a/slsDetectorSoftware/Makefile b/slsDetectorSoftware/Makefile index 2f5ff4153..8552028fe 100644 --- a/slsDetectorSoftware/Makefile +++ b/slsDetectorSoftware/Makefile @@ -34,7 +34,7 @@ OBJS = $(SRC_CLNT:.cpp=.o) .PHONY: all intdoc doc htmldoc package clean -all: package $(SRC_CLNT) +all: updateVersion package $(SRC_CLNT) intdoc: $(SRC_H) $(SRC_CLNT) doxygen doxy.config @@ -87,6 +87,11 @@ $(DESTDIR)/libSlsDetector.a: $(OBJS) clean: rm -rf $(DESTDIR)/libSlsDetector.a $(DESTDIR)/libSlsDetector.so core docs/* slsDetectorUsersDocs $(OBJS) cd + + +updateVersion: + ./updateGitVersion.sh + #------------------------------------------------------------------------------- diff --git a/slsDetectorSoftware/updateGitVersion.sh b/slsDetectorSoftware/updateGitVersion.sh new file mode 100755 index 000000000..9540286b2 --- /dev/null +++ b/slsDetectorSoftware/updateGitVersion.sh @@ -0,0 +1,37 @@ +MAINDIR=slsDetectorsPackage +SPECDIR=slsDetectorSoftware +TMPFILE=gitInfoLibTmp.h +INCLFILE=gitInfoLib.h +WD=$PWD + +GITREPO1='git remote -v' +GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" +BRANCH1='git branch -v' +BRANCH2=" | grep '*' | cut -d' ' -f2" +REPUID1='git log --pretty=format:"%H" -1' +AUTH1_1='git log --pretty=format:"%cn" -1' +AUTH1_2=" | cut -d' ' -f1" +AUTH2_1='git log --pretty=format:"%cn" -1' +AUTH2_2=" | cut -d' ' -f2" +FOLDERREV1='git log --oneline . ' #used for all the individual server folders +FOLDERREV2=" | wc -l" #used for all the individual server folders +REV1='git log --oneline ' +REV2=" | wc -l" +RDATE1='git log --pretty=format:"%ci" -1' + +GITREPO=`eval $GITREPO1 $GITREPO2` +BRANCH=`eval $BRANCH1 $BRANCH2` +REPUID=`eval $REPUID1` +AUTH1=`eval $AUTH1_1 $AUTH1_2` +AUTH2=`eval $AUTH2_1 $AUTH2_2` +REV=`eval $REV1 $REV2` +FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +RDATE=`eval $RDATE1` +echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt +cd $WD +./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE +echo "Revision Updated" +cd $WD + + + From 8992d51787d36cc72c5b9b8c846d4f5de1f8c38e Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 11:26:35 +0200 Subject: [PATCH 10/41] correct binary jungfrau --- ...erverv3.0.0.3 => jungfrauDetectorServerv3.0.0.4} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename slsDetectorSoftware/jungfrauDetectorServer/bin/{jungfrauDetectorServerv3.0.0.3 => jungfrauDetectorServerv3.0.0.4} (100%) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.3 b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.4 similarity index 100% rename from slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.3 rename to slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.4 From 7990dd6f774f83e3d1f20b2d850bc6ea4e677b7e Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 18:13:47 +0200 Subject: [PATCH 11/41] fixed makefile and included correct versioning while compiling --- slsDetectorSoftware/Makefile | 17 ++++++++--------- slsDetectorSoftware/gitInfo.txt | 8 ++++---- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- slsDetectorSoftware/updateGitVersion.sh | 6 +++--- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/slsDetectorSoftware/Makefile b/slsDetectorSoftware/Makefile index 8552028fe..8483142c0 100644 --- a/slsDetectorSoftware/Makefile +++ b/slsDetectorSoftware/Makefile @@ -14,13 +14,13 @@ INCLUDES?= -IcommonFiles -IslsDetector -I../slsReceiverSoftware/MySocketTCP -Ius #EPICSFLAGS=-D EPICS -I/usr/local/epics/base/include/ -I /usr/local/epics/base/include/os/Linux/ -L /usr/local/epics/base/lib/$(EPICS_HOST_ARCH) -Wl,-R/usr/local/epics/base/lib/$(EPICS_HOST_ARCH) -lca -lCom - -SRC_CLNT=slsDetectorAnalysis/fileIO.cpp usersFunctions/usersFunctions.cpp slsDetector/slsDetectorUtils.cpp slsDetector/slsDetectorCommand.cpp slsDetectorAnalysis/angularConversion.cpp slsDetectorAnalysis/angularConversionStatic.cpp slsDetectorAnalysis/energyConversion.cpp slsDetector/slsDetectorActions.cpp slsDetectorAnalysis/postProcessing.cpp slsDetector/slsDetector.cpp multiSlsDetector/multiSlsDetector.cpp slsDetectorAnalysis/postProcessingFuncs.cpp slsReceiverInterface/receiverInterface.cpp slsDetector/slsDetectorUsers.cpp threadFiles/CondVar.cpp threadFiles/Mutex.cpp threadFiles/ThreadPool.cpp #../slsReceiverSoftware/MySocketTCP/MySocketTCP.cpp - - LIBZMQDIR = ../slsReceiverSoftware/include LIBZMQ = -L$(LIBZMQDIR) -Wl,-rpath=$(LIBZMQDIR) -lzmq +SRC_CLNT=slsDetectorAnalysis/fileIO.cpp usersFunctions/usersFunctions.cpp slsDetector/slsDetectorUtils.cpp slsDetector/slsDetectorCommand.cpp slsDetectorAnalysis/angularConversion.cpp slsDetectorAnalysis/angularConversionStatic.cpp slsDetectorAnalysis/energyConversion.cpp slsDetector/slsDetectorActions.cpp slsDetectorAnalysis/postProcessing.cpp slsDetector/slsDetector.cpp multiSlsDetector/multiSlsDetector.cpp slsDetectorAnalysis/postProcessingFuncs.cpp slsReceiverInterface/receiverInterface.cpp slsDetector/slsDetectorUsers.cpp threadFiles/CondVar.cpp threadFiles/Mutex.cpp threadFiles/ThreadPool.cpp #../slsReceiverSoftware/MySocketTCP/MySocketTCP.cpp +DEPSINCLUDES = $(LIBZMQDIR)/sls_receiver_defs.h $(LIBZMQDIR)/sls_receiver_funcs.h $(LIBZMQDIR)/ansi.h commonFiles/sls_detector_defs.h commonFiles/sls_detector_funcs.h commonFiles/error_defs.h slsDetector/slsDetectorBase.h slsDetectorAnalysis/angCalLogClass.h slsDetectorAnalysis/angleConversionConstant.h slsDetectorAnalysis/badChannelCorrections.h slsDetectorAnalysis/detectorData.h slsDetectorAnalysis/enCalLogClass.h slsDetectorAnalysis/fileIOStatic.h slsDetectorAnalysis/movingStat.h slsDetectorAnalysis/runningStat.h slsDetectorAnalysis/single_photon_hit.h threadFiles/Global.h threadFiles/Task.h usersFunctions/angleFunction.h + + $(info ) $(info #######################################) $(info # Compiling slsDetectorSoftware #) @@ -30,11 +30,11 @@ $(info ) -OBJS = $(SRC_CLNT:.cpp=.o) +OBJS = $(SRC_CLNT:%.cpp=%.o) .PHONY: all intdoc doc htmldoc package clean -all: updateVersion package $(SRC_CLNT) +all: package $(SRC_CLNT) intdoc: $(SRC_H) $(SRC_CLNT) doxygen doxy.config @@ -68,7 +68,7 @@ gotthardVirtualServer: $(SRC_MYTHEN_SVC) -%.o : %.cpp %.h Makefile +%.o : %.cpp %.h $(DEPSINCLUDES) Makefile $(CXX) -o $@ -c $< $(INCLUDES) $(DFLAGS) -fPIC $(EPICSFLAGS) -pthread -lrt $(LIBZMQ) $(FLAGS) @@ -76,6 +76,7 @@ package: $(OBJS) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a $(DESTDIR)/libSlsDetector.so: $(OBJS) + ./updateGitVersion.sh $(CXX) -shared -Wl,-soname,libSlsDetector.so -o libSlsDetector.so $(OBJS) -lc $(INCLUDES) $(DFLAGS) $(FLAGS) $(EPICSFLAGS) -L/usr/lib64 -pthread -lrt $(LIBZMQ) $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) mv libSlsDetector.so $(DESTDIR) @@ -89,8 +90,6 @@ clean: cd -updateVersion: - ./updateGitVersion.sh #------------------------------------------------------------------------------- diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 9ae2253c9..26b395558 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: d0aea299e999e12df143e036c0cf9c644125d45d -Revision: 1423 +Repsitory UUID: 3e403d7a4da76b6edc9db16656580bcc7b5302e1 +Revision: 1428 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1423 -Last Changed Date: 2017-06-27 10:22:55 +0200 +Last Changed Rev: 1433 +Last Changed Date: 2017-06-28 11:26:35 +0200 diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index f828f216b..a1ccfda16 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "d0aea299e999e12df143e036c0cf9c644125d45d" -//#define SVNREV 0x1423 +#define SVNREPUUIDLIB "3e403d7a4da76b6edc9db16656580bcc7b5302e1" +//#define SVNREV 0x1433 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1423 -#define SVNDATELIB 0x20170627 +#define SVNREVLIB 0x1433 +#define SVNDATELIB 0x20170628 // diff --git a/slsDetectorSoftware/updateGitVersion.sh b/slsDetectorSoftware/updateGitVersion.sh index 9540286b2..021211764 100755 --- a/slsDetectorSoftware/updateGitVersion.sh +++ b/slsDetectorSoftware/updateGitVersion.sh @@ -1,7 +1,7 @@ MAINDIR=slsDetectorsPackage SPECDIR=slsDetectorSoftware -TMPFILE=gitInfoLibTmp.h -INCLFILE=gitInfoLib.h +TMPFILE=slsDetector/gitInfoLibTmp.h +INCLFILE=slsDetector/gitInfoLib.h WD=$PWD GITREPO1='git remote -v' @@ -28,7 +28,7 @@ REV=`eval $REV1 $REV2` FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` RDATE=`eval $RDATE1` echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd $WD +cd .. ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE echo "Revision Updated" cd $WD From 1a74ceca3e0b79874588386929601f6c18c4f088 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 28 Jun 2017 18:16:55 +0200 Subject: [PATCH 12/41] ensuring file permissions --- slsDetectorSoftware/Makefile | 2 +- slsDetectorSoftware/gitInfo.txt | 8 ++++---- slsDetectorSoftware/slsDetector/gitInfoLib.h | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/slsDetectorSoftware/Makefile b/slsDetectorSoftware/Makefile index 8483142c0..447d35265 100644 --- a/slsDetectorSoftware/Makefile +++ b/slsDetectorSoftware/Makefile @@ -20,7 +20,7 @@ LIBZMQ = -L$(LIBZMQDIR) -Wl,-rpath=$(LIBZMQDIR) -lzmq SRC_CLNT=slsDetectorAnalysis/fileIO.cpp usersFunctions/usersFunctions.cpp slsDetector/slsDetectorUtils.cpp slsDetector/slsDetectorCommand.cpp slsDetectorAnalysis/angularConversion.cpp slsDetectorAnalysis/angularConversionStatic.cpp slsDetectorAnalysis/energyConversion.cpp slsDetector/slsDetectorActions.cpp slsDetectorAnalysis/postProcessing.cpp slsDetector/slsDetector.cpp multiSlsDetector/multiSlsDetector.cpp slsDetectorAnalysis/postProcessingFuncs.cpp slsReceiverInterface/receiverInterface.cpp slsDetector/slsDetectorUsers.cpp threadFiles/CondVar.cpp threadFiles/Mutex.cpp threadFiles/ThreadPool.cpp #../slsReceiverSoftware/MySocketTCP/MySocketTCP.cpp DEPSINCLUDES = $(LIBZMQDIR)/sls_receiver_defs.h $(LIBZMQDIR)/sls_receiver_funcs.h $(LIBZMQDIR)/ansi.h commonFiles/sls_detector_defs.h commonFiles/sls_detector_funcs.h commonFiles/error_defs.h slsDetector/slsDetectorBase.h slsDetectorAnalysis/angCalLogClass.h slsDetectorAnalysis/angleConversionConstant.h slsDetectorAnalysis/badChannelCorrections.h slsDetectorAnalysis/detectorData.h slsDetectorAnalysis/enCalLogClass.h slsDetectorAnalysis/fileIOStatic.h slsDetectorAnalysis/movingStat.h slsDetectorAnalysis/runningStat.h slsDetectorAnalysis/single_photon_hit.h threadFiles/Global.h threadFiles/Task.h usersFunctions/angleFunction.h - + $(info ) $(info #######################################) $(info # Compiling slsDetectorSoftware #) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 26b395558..8ffab6a2a 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 3e403d7a4da76b6edc9db16656580bcc7b5302e1 -Revision: 1428 +Repsitory UUID: f6589f7e6e60aa6f02e3adcf526b2a1a73153364 +Revision: 1429 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1433 -Last Changed Date: 2017-06-28 11:26:35 +0200 +Last Changed Rev: 1434 +Last Changed Date: 2017-06-28 18:13:47 +0200 diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index a1ccfda16..5f1a9a29b 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "3e403d7a4da76b6edc9db16656580bcc7b5302e1" -//#define SVNREV 0x1433 +#define SVNREPUUIDLIB "f6589f7e6e60aa6f02e3adcf526b2a1a73153364" +//#define SVNREV 0x1434 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1433 +#define SVNREVLIB 0x1434 #define SVNDATELIB 0x20170628 // From b05e9c194a7b89ee271b6666a2a2274f0708bcf6 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 29 Jun 2017 17:10:10 +0200 Subject: [PATCH 13/41] makefiles and versioning update complete --- slsDetectorSoftware/Makefile | 10 +- .../eigerDetectorServer/Makefile | 9 +- .../eigerDetectorServer/gitInfo.txt | 8 +- .../eigerDetectorServer/gitInfoEiger.h | 6 +- slsDetectorSoftware/gitInfo.txt | 8 +- .../gotthardDetectorServer/Makefile | 5 +- .../gotthardDetectorServer/Makefile.propix | 1 + .../jctbDetectorServer/Makefile.ctb | 3 + .../jctbDetectorServer/updateGitVersion.sh | 37 ++++++ .../jungfrauDetectorServer/Makefile | 8 +- .../moenchDetectorServer/Makefile | 6 +- slsDetectorSoftware/slsDetector/gitInfoLib.h | 6 +- .../slsDetector/slsDetector.cpp | 4 +- .../slsDetectorClient/Makefile | 119 +++++++++--------- 14 files changed, 135 insertions(+), 95 deletions(-) create mode 100755 slsDetectorSoftware/jctbDetectorServer/updateGitVersion.sh diff --git a/slsDetectorSoftware/Makefile b/slsDetectorSoftware/Makefile index 447d35265..85aadb3f0 100644 --- a/slsDetectorSoftware/Makefile +++ b/slsDetectorSoftware/Makefile @@ -21,9 +21,10 @@ SRC_CLNT=slsDetectorAnalysis/fileIO.cpp usersFunctions/usersFunctions.cpp slsDe DEPSINCLUDES = $(LIBZMQDIR)/sls_receiver_defs.h $(LIBZMQDIR)/sls_receiver_funcs.h $(LIBZMQDIR)/ansi.h commonFiles/sls_detector_defs.h commonFiles/sls_detector_funcs.h commonFiles/error_defs.h slsDetector/slsDetectorBase.h slsDetectorAnalysis/angCalLogClass.h slsDetectorAnalysis/angleConversionConstant.h slsDetectorAnalysis/badChannelCorrections.h slsDetectorAnalysis/detectorData.h slsDetectorAnalysis/enCalLogClass.h slsDetectorAnalysis/fileIOStatic.h slsDetectorAnalysis/movingStat.h slsDetectorAnalysis/runningStat.h slsDetectorAnalysis/single_photon_hit.h threadFiles/Global.h threadFiles/Task.h usersFunctions/angleFunction.h + $(info ) $(info #######################################) -$(info # Compiling slsDetectorSoftware #) +$(info # In slsDetectorSoftware Makefile #) $(info #######################################) $(info ) @@ -67,7 +68,6 @@ gotthardVirtualServer: $(SRC_MYTHEN_SVC) cd gotthardDetectorServer && make -f Makefile.virtual DESTDIR=$(DESTDIR) - %.o : %.cpp %.h $(DEPSINCLUDES) Makefile $(CXX) -o $@ -c $< $(INCLUDES) $(DFLAGS) -fPIC $(EPICSFLAGS) -pthread -lrt $(LIBZMQ) $(FLAGS) @@ -75,8 +75,12 @@ gotthardVirtualServer: $(SRC_MYTHEN_SVC) package: $(OBJS) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(DESTDIR)/libSlsDetector.so: $(OBJS) - ./updateGitVersion.sh + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling slsDetector Library #") + $(call colorecho,"#######################################") + $(call colorecho,`./updateGitVersion.sh`) $(CXX) -shared -Wl,-soname,libSlsDetector.so -o libSlsDetector.so $(OBJS) -lc $(INCLUDES) $(DFLAGS) $(FLAGS) $(EPICSFLAGS) -L/usr/lib64 -pthread -lrt $(LIBZMQ) $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) mv libSlsDetector.so $(DESTDIR) diff --git a/slsDetectorSoftware/eigerDetectorServer/Makefile b/slsDetectorSoftware/eigerDetectorServer/Makefile index 5c473e367..646d9ba2d 100755 --- a/slsDetectorSoftware/eigerDetectorServer/Makefile +++ b/slsDetectorSoftware/eigerDetectorServer/Makefile @@ -12,13 +12,14 @@ SRC_CLNT = communication_funcs.c slsDetectorServer.c slsDetectorServer_funcs.c OBJS = $(SRC_CLNT:.c=.o) -all: clean updateVersion $(PROGS) #hv9m_blackfin_server +all: clean $(PROGS) #hv9m_blackfin_server boot: $(OBJS) -$(PROGS): - echo $(OBJS) +$(PROGS): $(OBJS) +# echo $(OBJS) + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` mkdir -p $(DESTDIR) $(CC) -o $@ $(SRC_CLNT) $(CFLAGS) $(LDLIBS) mv $(PROGS) $(DESTDIR) @@ -32,6 +33,4 @@ hv9m_blackfin_server:9mhvserial_bf.c clean: rm -rf $(DESTDIR)/$(PROGS) *.o $(DESTDIR)/hv9m_blackfin_server -updateVersion: - ./updateGitVersion.sh diff --git a/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt b/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt index c9533a5d4..f363766ff 100644 --- a/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git/eigerDetectorServer Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 94d2b8cd58bbf69d26f491b7b81e2b269aac32b9 -Revision: 292 +Repsitory UUID: d4b0bef367ef407a3267619196da01dc1636865d +Revision: 293 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1427 -Last Changed Date: 2017-06-28 10:27:40 +0200 +Last Changed Rev: 1435 +Last Changed Date: 2017-06-28 18:16:55 +0200 diff --git a/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h b/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h index 5fcb30b25..a9d805730 100644 --- a/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h +++ b/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git/eigerDetectorServer" //#define SVNREPPATH "" -#define SVNREPUUID "94d2b8cd58bbf69d26f491b7b81e2b269aac32b9" -//#define SVNREV 0x1427 +#define SVNREPUUID "d4b0bef367ef407a3267619196da01dc1636865d" +//#define SVNREV 0x1435 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTH "Dhanya_Maliakal" -#define SVNREV 0x1427 +#define SVNREV 0x1435 #define SVNDATE 0x20170628 // diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 8ffab6a2a..3ba4cd1bd 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: f6589f7e6e60aa6f02e3adcf526b2a1a73153364 -Revision: 1429 +Repsitory UUID: d4b0bef367ef407a3267619196da01dc1636865d +Revision: 1430 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1434 -Last Changed Date: 2017-06-28 18:13:47 +0200 +Last Changed Rev: 1435 +Last Changed Date: 2017-06-28 18:16:55 +0200 diff --git a/slsDetectorSoftware/gotthardDetectorServer/Makefile b/slsDetectorSoftware/gotthardDetectorServer/Makefile index c2e92aa6f..38e779c18 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/Makefile +++ b/slsDetectorSoftware/gotthardDetectorServer/Makefile @@ -21,12 +21,13 @@ OBJS = $(SRCS:%.c=%.o) -all: clean updateVersion $(PROGS) +all: clean $(PROGS) boot: $(OBJS) $(PROGS): $(OBJS) echo $(OBJS) + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) @@ -41,8 +42,6 @@ romfs: clean: rm -rf $(PROGS) *.o *.gdb -updateVersion: - ./updateGitVersion.sh diff --git a/slsDetectorSoftware/gotthardDetectorServer/Makefile.propix b/slsDetectorSoftware/gotthardDetectorServer/Makefile.propix index 6fb7a6207..c0a4bcc55 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/Makefile.propix +++ b/slsDetectorSoftware/gotthardDetectorServer/Makefile.propix @@ -27,6 +27,7 @@ boot: $(OBJS) $(PROGS): $(OBJS) echo $(OBJS) + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) diff --git a/slsDetectorSoftware/jctbDetectorServer/Makefile.ctb b/slsDetectorSoftware/jctbDetectorServer/Makefile.ctb index 52b5bb8df..60def850f 100644 --- a/slsDetectorSoftware/jctbDetectorServer/Makefile.ctb +++ b/slsDetectorSoftware/jctbDetectorServer/Makefile.ctb @@ -30,15 +30,18 @@ boot: $(OBJS) jungfrauDetectorServerTest: $(OBJS) echo $(OBJS) + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) jungfrauDetectorServer: $(OBJS) echo $(OBJS) + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) jungfrauADCTEst: $(OBJS) echo $(OBJS) + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) -DTESTADC diff --git a/slsDetectorSoftware/jctbDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/jctbDetectorServer/updateGitVersion.sh new file mode 100755 index 000000000..57d015ca3 --- /dev/null +++ b/slsDetectorSoftware/jctbDetectorServer/updateGitVersion.sh @@ -0,0 +1,37 @@ +SERVER=jctbDetectorServer +TMPFILE=gitInfoMoenchTmp.h +INCLFILE=gitInfoMoench.h + +WD=slsDetectorSoftware/$SERVER + +GITREPO1='git remote -v' +GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" +BRANCH1='git branch -v' +BRANCH2=" | grep '*' | cut -d' ' -f2" +REPUID1='git log --pretty=format:"%H" -1' +AUTH1_1='git log --pretty=format:"%cn" -1' +AUTH1_2=" | cut -d' ' -f1" +AUTH2_1='git log --pretty=format:"%cn" -1' +AUTH2_2=" | cut -d' ' -f2" +FOLDERREV1='git log --oneline . ' #used for all the individual server folders +FOLDERREV2=" | wc -l" #used for all the individual server folders +REV1='git log --oneline ' +REV2=" | wc -l" +RDATE1='git log --pretty=format:"%ci" -1' + +GITREPO=`eval $GITREPO1 $GITREPO2` +BRANCH=`eval $BRANCH1 $BRANCH2` +REPUID=`eval $REPUID1` +AUTH1=`eval $AUTH1_1 $AUTH1_2` +AUTH2=`eval $AUTH2_1 $AUTH2_2` +REV=`eval $REV1 $REV2` +FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +RDATE=`eval $RDATE1` +echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt +cd ../../ +./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE +echo "Revision Updated" +cd $WD + + + diff --git a/slsDetectorSoftware/jungfrauDetectorServer/Makefile b/slsDetectorSoftware/jungfrauDetectorServer/Makefile index 6fee46b09..4637d06fd 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/Makefile +++ b/slsDetectorSoftware/jungfrauDetectorServer/Makefile @@ -10,12 +10,13 @@ INSTMODE = 0777 SRC_CLNT = communication_funcs.c slsDetectorServer.c slsDetectorServer_funcs.c slsDetectorFunctionList.c OBJS = $(SRC_CLNT:.c=.o) -all: clean updateVersion $(PROGS) +all: clean $(PROGS) boot: $(OBJS) $(PROGS): $(OBJS) - echo $(OBJS) +# echo $(OBJS) + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` mkdir -p $(DESTDIR) $(CC) -o $@ $^ $(CFLAGS) $(LDLIBS) mv $(PROGS) $(DESTDIR) @@ -24,6 +25,5 @@ $(PROGS): $(OBJS) clean: rm -rf $(DESTDIR)/$(PROGS) *.o -updateVersion: - ./updateGitVersion.sh + \ No newline at end of file diff --git a/slsDetectorSoftware/moenchDetectorServer/Makefile b/slsDetectorSoftware/moenchDetectorServer/Makefile index e16947e8d..a38c7f521 100755 --- a/slsDetectorSoftware/moenchDetectorServer/Makefile +++ b/slsDetectorSoftware/moenchDetectorServer/Makefile @@ -21,12 +21,13 @@ OBJS = $(SRCS:%.c=%.o) -all: clean updateVersion $(PROGS) +all: clean $(PROGS) boot: $(OBJS) $(PROGS): $(OBJS) echo $(OBJS) + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) @@ -41,9 +42,6 @@ romfs: clean: rm -rf $(PROGS) *.o *.gdb -updateVersion: - ./updateGitVersion.sh - diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 5f1a9a29b..8fa9ea217 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "f6589f7e6e60aa6f02e3adcf526b2a1a73153364" -//#define SVNREV 0x1434 +#define SVNREPUUIDLIB "d4b0bef367ef407a3267619196da01dc1636865d" +//#define SVNREV 0x1435 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1434 +#define SVNREVLIB 0x1435 #define SVNDATELIB 0x20170628 // diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 5b284e57b..8fceec06d 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -26,9 +26,9 @@ int slsDetector::initSharedMemory(detectorType type, int id) { #ifdef VERBOSE cout << "init shm"<< endl; #endif - switch(type) { + switch(type) { case MYTHEN: - nch=128; // complete mythen system + nch=128; // complete mythen system nm=24; nc=10; nd=6; // dacs+adcs diff --git a/slsDetectorSoftware/slsDetectorClient/Makefile b/slsDetectorSoftware/slsDetectorClient/Makefile index 63a49637a..d55b1ac5a 100644 --- a/slsDetectorSoftware/slsDetectorClient/Makefile +++ b/slsDetectorSoftware/slsDetectorClient/Makefile @@ -1,96 +1,98 @@ +include ../../Makefile.include + CFLAGS= -DC_ONLY #FLAGS=-DVERBOSE #ASM=$(shell echo "/lib/modules/`uname -r`/build/include") -#INCLUDES= -I../slsDetectorSoftware/commonFiles -I../slsDetectorSoftware/slsDetector -I ../slsDetectorSoftware/MySocketTCP -I../slsDetectorSoftware/usersFunctions -I../slsDetectorSoftware/multiSlsDetector -I../slsDetectorSoftware/slsDetectorAnalysis -I../slsDetectorSoftware/slsReceiverInterface -I$(ASM) -#LDFLAG= - - - INCLUDES?= -I../commonFiles -I../slsDetector -I ../MySocketTCP -I../usersFunctions -I../multiSlsDetector -I../slsDetectorAnalysis -I../slsReceiverInterface -I$(shell echo "/lib/modules/`uname -r`/build/include") - - -LIBDIR?=../ -LIBS?= -L$(LIBDIR) -lSlsDetector - -LDFLAG= -L/usr/lib64/ -pthread - - -DESTDIR ?= bin -DOCDIR ?= $(PWD)/docs - +DESTDIR ?= ../../bin BIN=$(DESTDIR) - +LIBS?= -L$(DESTDIR) -lSlsDetector +LIBRARYDIR?=../ +LDFLAG= -L/usr/lib64/ -pthread +DOCDIR ?= $(PWD)/docs SRC_CLNT=sls_detector_client.cpp -clients: $(DESTDIR)/sls_detector_put $(DESTDIR)/sls_detector_get $(DESTDIR)/sls_detector_acquire $(DESTDIR)/sls_detector_help - echo $(LIBS) -static_clients: $(DESTDIR)/ssls_detector_put $(DESTDIR)/ssls_detector_get $(DESTDIR)/ssls_detector_acquire $(DESTDIR)/ssls_detector_help +$(info ) +$(info #######################################) +$(info # In slsDetectorclient Makefile #) +$(info #######################################) +$(info ) all: clients - echo $(LIBS) nonstatic: clients +clients: builddir lib $(DESTDIR)/sls_detector_put $(DESTDIR)/sls_detector_get $(DESTDIR)/sls_detector_acquire $(DESTDIR)/sls_detector_help +static_clients: builddir lib $(DESTDIR)/ssls_detector_put $(DESTDIR)/ssls_detector_get $(DESTDIR)/ssls_detector_acquire $(DESTDIR)/ssls_detector_help -lib: - cd ../ && $(MAKE) DESTDIR=$(LIBDIR) - - - -$(DESTDIR)/ssls_detector_put: $(SRC_CLNT) lib - echo $(LIBS) - echo $(LDFLAG) +builddir: +# echo $(LIBS) +# echo $(LDFLAG) mkdir -p $(BIN) + +lib: +# echo $(LIBDIR) + cd $(LIBRARYDIR) && $(MAKE) DESTDIR=$(DESTDIR) TABSPACE='$(TABSPACE)' + @echo "" + @echo "#######################################" + @echo "# Back in slsDetectorClient Makefile #" + @echo "#######################################" + @echo "" + +$(DESTDIR)/ssls_detector_put: $(SRC_CLNT) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling ssls_detector_put #") + $(call colorecho,"#######################################") $(CXX) -static -o $(BIN)/ssls_detector_put $(SRC_CLNT) $(FLAGS) $(INCLUDES) -DPUT $(LIBS) $(LDFLAG) -$(DESTDIR)/ssls_detector_get: $(SRC_CLNT) lib - echo $(LIBS) - echo $(LDFLAG) - mkdir -p $(BIN) +$(DESTDIR)/ssls_detector_get: $(SRC_CLNT) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling ssls_detector_get #") + $(call colorecho,"#######################################") $(CXX) -static -o $(BIN)/ssls_detector_get $(SRC_CLNT) $(FLAGS) $(INCLUDES) -DGET $(LIBS) $(LDFLAG) -$(DESTDIR)/ssls_detector_acquire: $(SRC_CLNT) lib - echo $(LIBS) - echo $(LDFLAG) - mkdir -p $(BIN) +$(DESTDIR)/ssls_detector_acquire: $(SRC_CLNT) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling ssls_detector_acquire #") + $(call colorecho,"#######################################") $(CXX) -static -o $(BIN)/ssls_detector_acquire $(SRC_CLNT) $(FLAGS) $(INCLUDES) -DREADOUT $(LIBS) $(LDFLAG) -$(DESTDIR)/ssls_detector_help: $(SRC_CLNT) lib - echo $(LIBS) - echo $(LDFLAG) - mkdir -p $(BIN) +$(DESTDIR)/ssls_detector_help: $(SRC_CLNT) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling ssls_detector_help #") + $(call colorecho,"#######################################") $(CXX) -static -o $(BIN)/ssls_detector_help $(SRC_CLNT) $(FLAGS) $(INCLUDES) -DHELP $(LIBS) $(LDFLAG) -$(DESTDIR)/sls_detector_put: $(SRC_CLNT) lib - echo $(LIBS) - echo $(LDFLAG) - mkdir -p $(BIN) +$(DESTDIR)/sls_detector_put: $(SRC_CLNT) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling sls_detector_put #") + $(call colorecho,"#######################################") $(CXX) -o $(BIN)/sls_detector_put $(SRC_CLNT) $(FLAGS) $(INCLUDES) -DPUT $(LIBS) $(LDFLAG) $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) -$(DESTDIR)/sls_detector_get: $(SRC_CLNT) lib - echo $(LIBS) - echo $(LDFLAG) - mkdir -p $(BIN) +$(DESTDIR)/sls_detector_get: $(SRC_CLNT) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling sls_detector_get #") + $(call colorecho,"#######################################") $(CXX) -o $(BIN)/sls_detector_get $(SRC_CLNT) $(FLAGS) $(INCLUDES) -DGET $(LIBS) $(LDFLAG) $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) -$(DESTDIR)/sls_detector_acquire: $(SRC_CLNT) lib - echo $(LIBS) - echo $(LDFLAG) - mkdir -p $(BIN) +$(DESTDIR)/sls_detector_acquire: $(SRC_CLNT) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling sls_detector_acquire #") + $(call colorecho,"#######################################") $(CXX) -o $(BIN)/sls_detector_acquire $(SRC_CLNT) $(FLAGS) $(INCLUDES) -DREADOUT $(LIBS) $(LDFLAG) $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) -$(DESTDIR)/sls_detector_help: $(SRC_CLNT) lib - echo $(LIBS) - echo $(LDFLAG) - mkdir -p $(BIN) +$(DESTDIR)/sls_detector_help: $(SRC_CLNT) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a + $(call colorecho,"#######################################") + $(call colorecho,"# Compiling sls_detector_help #") + $(call colorecho,"#######################################") $(CXX) -o $(BIN)/sls_detector_help $(SRC_CLNT) $(FLAGS) $(INCLUDES) -DHELP $(LIBS) $(LDFLAG) $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) @@ -107,6 +109,3 @@ clean: install: clients - - - From da4ffb235cdb23255bc5216ea1c36dffd9972bf3 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 3 Jul 2017 13:32:10 +0200 Subject: [PATCH 14/41] ensuring set detector type is the first call --- slsDetectorSoftware/gitInfo.txt | 8 ++++---- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- slsDetectorSoftware/slsDetector/slsDetector.cpp | 4 +--- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 3ba4cd1bd..b7206f074 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: d4b0bef367ef407a3267619196da01dc1636865d -Revision: 1430 +Repsitory UUID: 5d22df1c472895035fdb21ec1104e749aaa41167 +Revision: 1431 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1435 -Last Changed Date: 2017-06-28 18:16:55 +0200 +Last Changed Rev: 1436 +Last Changed Date: 2017-06-29 17:10:10 +0200 diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 8fa9ea217..1afda5824 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "d4b0bef367ef407a3267619196da01dc1636865d" -//#define SVNREV 0x1435 +#define SVNREPUUIDLIB "5d22df1c472895035fdb21ec1104e749aaa41167" +//#define SVNREV 0x1436 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1435 -#define SVNDATELIB 0x20170628 +#define SVNREVLIB 0x1436 +#define SVNDATELIB 0x20170629 // diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 8fceec06d..9390d6650 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -1674,7 +1674,7 @@ int slsDetector::setDetectorType(detectorType const type){ //receiver - if((retType != GENERIC) && (thisDetector->receiverOnlineFlag==ONLINE_FLAG)) { + if((retType != GENERIC) && (thisDetector->receiverOnlineFlag==ONLINE_FLAG) && (arg != GENERIC)) { retval = FAIL; if(thisDetector->receiverOnlineFlag==ONLINE_FLAG){ #ifdef VERBOSE @@ -6032,8 +6032,6 @@ string slsDetector::setReceiver(string receiverIP){ setUDPConnection(); if(thisDetector->myDetectorType == EIGER) enableTenGigabitEthernet(thisDetector->tenGigaEnable); - //datastreamenable - //fifodepth } } From 99dad79572401aa29054e3c1963709236eaad915 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 3 Jul 2017 13:46:06 +0200 Subject: [PATCH 15/41] Somewhere --- slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h | 6 ++++++ slsDetectorSoftware/slsDetector/slsDetector.cpp | 1 + 2 files changed, 7 insertions(+) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h index 3d854a714..da7589cbe 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h @@ -1319,6 +1319,12 @@ class multiSlsDetector : public slsDetectorUtils { */ int setReceiverReadTimer(int time_in_ms=500); + /** + * Get Streaming sockets created in client from reciever + /returns 1 if sockets created, else 0 + */ + int getStreamingSocketsCreatedInClient(); + /** Enable or disable streaming data from receiver to client * @param enable 0 to disable 1 to enable -1 to only get the value * @returns data streaming diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 9390d6650..d512c53f3 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -6026,6 +6026,7 @@ string slsDetector::setReceiver(string receiverIP){ setFlippedData(X,-1); activate(-1); } + //if (parentDet->getStreamingSocketsCreatedInClient()) //std::cout << "***********************************dataStreaming:" << parentDet->enableDataStreamingFromReceiver(-1) << endl << endl; //parentDet->enableDataStreamingFromReceiver(parentDet->enableDataStreamingFromReceiver(-1)); //set scan tag From b4309a9f60546581b9b3ceea7da8ca00c8f027a3 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 3 Jul 2017 14:45:44 +0200 Subject: [PATCH 16/41] changed jungfrau temperature conversion but binary to follow --- slsDetectorSoftware/gitInfo.txt | 8 +++--- .../slsDetectorFunctionList.c | 27 ++----------------- .../multiSlsDetector/multiSlsDetector.h | 2 +- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 +++--- slsDetectorSoftware/slsDetector/slsDetector.h | 2 +- .../slsDetector/slsDetectorCommand.cpp | 2 +- 6 files changed, 13 insertions(+), 36 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index b7206f074..c91d7deca 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 5d22df1c472895035fdb21ec1104e749aaa41167 -Revision: 1431 +Repsitory UUID: 788060fd5a954e42fea270b25b8a398293013e96 +Revision: 1432 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1436 -Last Changed Date: 2017-06-29 17:10:10 +0200 +Last Changed Rev: 1437 +Last Changed Date: 2017-07-03 13:32:10 +0200 diff --git a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c index ed1168368..bba46d272 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c @@ -838,34 +838,11 @@ void setDAC(enum DACINDEX ind, int val, int imod, int mV, int retval[]){ int getADC(enum ADCINDEX ind, int imod){ - char tempnames[2][40]={"VRs/FPGAs Temperature", "ADCs/ASICs Temperature"}; printf("Getting Temperature for %s\n",tempnames[ind]); u_int32_t addr = GET_TEMPERATURE_TMP112_REG; - int retval = -1; -/* - u_int32_t val = 0; - { - int i; - for(i = 0; i < 10; i++) { - switch((int)ind){ - - case TEMP_FPGA: - val = (val<<1) + ((bus_r(addr) & (2)) >> 1); - break; - case TEMP_ADC: - val= (val<<1) + (bus_r(addr) & (1)); - break; - } - } - } - // or just read it - retval = ((int)val) / 4.0; - - printf("Temperature %s: %d °C\n",tempnames[ind],retval);*/ - printf("\nReal Temperature %s: %d °C\n",tempnames[ind],bus_r(addr)); - - + int retval = bus_r(addr)/10; + printf("\nReal Temperature %s: %f °C\n",tempnames[ind],(double)retval/1000.00); return retval; } diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h index 3d854a714..b5604f075 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h @@ -929,7 +929,7 @@ class multiSlsDetector : public slsDetectorUtils { \param val value (in V) \param index DAC index \param imod module number (if -1 alla modules) - \returns current DAC value + \returns current DAC value (temperature for eiger and jungfrau in millidegrees) */ dacs_t getADC(dacIndex index, int imod=-1); /** diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 1afda5824..9885ba67f 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "5d22df1c472895035fdb21ec1104e749aaa41167" -//#define SVNREV 0x1436 +#define SVNREPUUIDLIB "788060fd5a954e42fea270b25b8a398293013e96" +//#define SVNREV 0x1437 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1436 -#define SVNDATELIB 0x20170629 +#define SVNREVLIB 0x1437 +#define SVNDATELIB 0x20170703 // diff --git a/slsDetectorSoftware/slsDetector/slsDetector.h b/slsDetectorSoftware/slsDetector/slsDetector.h index a35f2b697..1d91163ff 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.h +++ b/slsDetectorSoftware/slsDetector/slsDetector.h @@ -886,7 +886,7 @@ class slsDetector : public slsDetectorUtils, public energyConversion { set dacs value \param index ADC index \param imod module number - \returns current ADC value + \returns current ADC value (temperature for eiger and jungfrau in millidegrees) */ dacs_t getADC(dacIndex index, int imod=0); diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 43e080e76..3364996f4 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -4204,7 +4204,7 @@ string slsDetectorCommand::cmdADC(int narg, char *args[], int action) { myDet->setOnline(ONLINE_FLAG); #ifdef DACS_INT - if (myDet->getDetectorsType() == EIGER) + if (myDet->getDetectorsType() == EIGER || myDet->getDetectorsType() == JUNGFRAU) sprintf(answer,"%.2f",(double)myDet->getADC(adc)/1000.00); else sprintf(answer,"%d",myDet->getADC(adc)); #else From f944d7cae4a193b0567a73448220239424651faf Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 3 Jul 2017 17:37:24 +0200 Subject: [PATCH 17/41] made updatereceiver to actually update client in parameters that it can --- slsDetectorSoftware/gitInfo.txt | 10 +-- .../multiSlsDetector/multiSlsDetector.cpp | 4 +- .../multiSlsDetector/multiSlsDetector.h | 1 + slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 +-- .../slsDetector/slsDetector.cpp | 63 +++++++++++++++---- .../slsDetector/slsDetectorCommand.cpp | 2 +- .../slsDetectorClient/Makefile | 2 +- 7 files changed, 65 insertions(+), 25 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index b7206f074..03311906e 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 5d22df1c472895035fdb21ec1104e749aaa41167 -Revision: 1431 -Branch: developer +Repsitory UUID: f296ac9eb68e7681675cad9943f5054eb7f8bdce +Revision: 1433 +Branch: updaterec Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1436 -Last Changed Date: 2017-06-29 17:10:10 +0200 +Last Changed Rev: 1438 +Last Changed Date: 2017-07-03 13:46:06 +0200 diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 4a472c281..24f8df951 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -5667,8 +5667,10 @@ int multiSlsDetector::setReceiverReadTimer(int time_in_ms){ return ret; } +int multiSlsDetector::getStreamingSocketsCreatedInClient() { + return dataSocketsStarted; +} -// only called from gui or that wants zmq data packets int multiSlsDetector::enableDataStreamingFromReceiver(int enable){ if(enable >= 0){ diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h index da7589cbe..cc7a14b52 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h @@ -1319,6 +1319,7 @@ class multiSlsDetector : public slsDetectorUtils { */ int setReceiverReadTimer(int time_in_ms=500); + /** * Get Streaming sockets created in client from reciever /returns 1 if sockets created, else 0 diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 1afda5824..9fd4cffdd 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "5d22df1c472895035fdb21ec1104e749aaa41167" -//#define SVNREV 0x1436 +#define SVNREPUUIDLIB "f296ac9eb68e7681675cad9943f5054eb7f8bdce" +//#define SVNREV 0x1438 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1436 -#define SVNDATELIB 0x20170629 +#define SVNREVLIB 0x1438 +#define SVNDATELIB 0x20170703 // diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index d512c53f3..060c1bcfc 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -6001,6 +6001,8 @@ string slsDetector::setReceiver(string receiverIP){ sendMultiDetectorSize(); setDetectorId(); setDetectorHostname(); + setUDPConnection(); + setFilePath(fileIO::getFilePath()); setFileName(fileIO::getFileName()); setFileIndex(fileIO::getFileIndex()); @@ -6013,6 +6015,7 @@ string slsDetector::setReceiver(string receiverIP){ imask = parentDet->enableOverwriteMask(); pthread_mutex_unlock(&ms); overwriteFile(imask); + if ((thisDetector->timerValue[FRAME_NUMBER]*thisDetector->timerValue[CYCLES_NUMBER])>1) setFrameIndex(0); else @@ -6026,13 +6029,23 @@ string slsDetector::setReceiver(string receiverIP){ setFlippedData(X,-1); activate(-1); } - //if (parentDet->getStreamingSocketsCreatedInClient()) - //std::cout << "***********************************dataStreaming:" << parentDet->enableDataStreamingFromReceiver(-1) << endl << endl; - //parentDet->enableDataStreamingFromReceiver(parentDet->enableDataStreamingFromReceiver(-1)); - //set scan tag - setUDPConnection(); + if(thisDetector->myDetectorType == EIGER) enableTenGigabitEthernet(thisDetector->tenGigaEnable); + + // data streaming + int clientSockets = parentDet->getStreamingSocketsCreatedInClient(); + int recSockets = enableDataStreamingFromReceiver(-1); + if(clientSockets != recSockets) { + pthread_mutex_lock(&ms); + if(clientSockets) + printf("Enabling Data Streaming\n"); + else + printf("Disabling Data Streaming\n"); + // push client state to receiver + parentDet->enableDataStreamingFromReceiver(clientSockets); + pthread_mutex_unlock(&ms); + } } } @@ -8107,21 +8120,43 @@ int slsDetector::updateReceiverNoWait() { cout << "Updating receiver last modified by " << lastClientIP << std::endl; #endif - n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind)); - pthread_mutex_lock(&ms); - fileIO::setFileIndex(ind); - pthread_mutex_unlock(&ms); - + // filepath n += dataSocket->ReceiveDataOnly(path,MAX_STR_LENGTH); pthread_mutex_lock(&ms); fileIO::setFilePath(path); pthread_mutex_unlock(&ms); + // filename n += dataSocket->ReceiveDataOnly(path,MAX_STR_LENGTH); pthread_mutex_lock(&ms); fileIO::setFileName(path); pthread_mutex_unlock(&ms); + // index + n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind)); + pthread_mutex_lock(&ms); + fileIO::setFileIndex(ind); + pthread_mutex_unlock(&ms); + + //file format + n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind)); + pthread_mutex_lock(&ms); + fileIO::setFileFormat(ind); + pthread_mutex_unlock(&ms); + + // file write enable + n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind)); + pthread_mutex_lock(&ms); + parentDet->enableWriteToFileMask(ind); + pthread_mutex_unlock(&ms); + + // file overwrite enable + n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind)); + pthread_mutex_lock(&ms); + parentDet->enableOverwriteMask(ind); + pthread_mutex_unlock(&ms); + + if (!n) printf("n: %d\n", n); return OK; @@ -8141,12 +8176,14 @@ int slsDetector::updateReceiver() { if (connectData() == OK){ dataSocket->SendDataOnly(&fnum,sizeof(fnum)); dataSocket->ReceiveDataOnly(&ret,sizeof(ret)); - if (ret!=FAIL) - updateReceiverNoWait(); - else{ + if (ret == FAIL) { dataSocket->ReceiveDataOnly(mess,sizeof(mess)); std::cout<< "Receiver returned error: " << mess << std::endl; } + else + updateReceiverNoWait(); + + //if ret is force update, do not update now as client is updating receiver currently disconnectData(); } } diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 43e080e76..a58d1e861 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -1324,7 +1324,7 @@ string slsDetectorCommand::cmdAcquire(int narg, char *args[], int action) { myDet->setOnline(ONLINE_FLAG); if (myDet->setReceiverOnline(ONLINE_FLAG) == ONLINE_FLAG) { - //if it was not off + // command line: must be off, if receiver on or there was -1, then if (myDet->enableDataStreamingFromReceiver(-1) != 0){ //switch it off, if error if (myDet->enableDataStreamingFromReceiver(0) != 0) { diff --git a/slsDetectorSoftware/slsDetectorClient/Makefile b/slsDetectorSoftware/slsDetectorClient/Makefile index d55b1ac5a..44ccbf7e4 100644 --- a/slsDetectorSoftware/slsDetectorClient/Makefile +++ b/slsDetectorSoftware/slsDetectorClient/Makefile @@ -4,7 +4,7 @@ CFLAGS= -DC_ONLY #FLAGS=-DVERBOSE #ASM=$(shell echo "/lib/modules/`uname -r`/build/include") -INCLUDES?= -I../commonFiles -I../slsDetector -I ../MySocketTCP -I../usersFunctions -I../multiSlsDetector -I../slsDetectorAnalysis -I../slsReceiverInterface -I$(shell echo "/lib/modules/`uname -r`/build/include") +INCLUDES?= -I../commonFiles -I../slsDetector -I ../MySocketTCP -I../usersFunctions -I../multiSlsDetector -I../slsDetectorAnalysis -I../slsReceiverInterface -I ../../slsReceiverSoftware/include -I$(shell echo "/lib/modules/`uname -r`/build/include") DESTDIR ?= ../../bin BIN=$(DESTDIR) LIBS?= -L$(DESTDIR) -lSlsDetector From 1e50bc4cc09708d9f8bde94245ef4ac6120c2941 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 3 Jul 2017 17:44:52 +0200 Subject: [PATCH 18/41] conflict git --- slsDetectorSoftware/gitInfo.txt | 17 ++++------------- slsDetectorSoftware/slsDetector/gitInfoLib.h | 15 +++------------ 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 964586c8f..03c0f5622 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,18 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -<<<<<<< HEAD -Repsitory UUID: f296ac9eb68e7681675cad9943f5054eb7f8bdce -Revision: 1433 -Branch: updaterec -Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1438 -Last Changed Date: 2017-07-03 13:46:06 +0200 -======= -Repsitory UUID: 788060fd5a954e42fea270b25b8a398293013e96 -Revision: 1432 +Repsitory UUID: 79271ea7e3f5ac7113582e694b30b71a64d18844 +Revision: 1436 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1437 -Last Changed Date: 2017-07-03 13:32:10 +0200 ->>>>>>> developer +Last Changed Rev: 1441 +Last Changed Date: 2017-07-03 17:42:06 +0200 diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 2c01c4fb2..c134bfad7 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,20 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -<<<<<<< HEAD -#define SVNREPUUIDLIB "f296ac9eb68e7681675cad9943f5054eb7f8bdce" -//#define SVNREV 0x1438 +#define SVNREPUUIDLIB "79271ea7e3f5ac7113582e694b30b71a64d18844" +//#define SVNREV 0x1441 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1438 -======= -#define SVNREPUUIDLIB "788060fd5a954e42fea270b25b8a398293013e96" -//#define SVNREV 0x1437 -//#define SVNKIND "" -//#define SVNSCHED "" -#define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1437 ->>>>>>> developer +#define SVNREVLIB 0x1441 #define SVNDATELIB 0x20170703 // From be6925c5048ed82126a33ae014c4a0658ffff56d Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 6 Jul 2017 16:07:01 +0200 Subject: [PATCH 19/41] fixed temperature for jungfrau in server, also for negative values --- .../jungfrauDetectorServer/Makefile | 1 + .../jungfrauDetectorServer/RegisterDefs.h | 8 +++++++- ...3.0.0.4 => jungfrauDetectorServerv3.0.0.5} | Bin 105044 -> 105172 bytes .../jungfrauDetectorServer/gitInfo.txt | 8 ++++---- .../jungfrauDetectorServer/gitInfoJungfrau.h | 8 ++++---- .../slsDetectorFunctionList.c | 18 ++++++++++++++++-- 6 files changed, 32 insertions(+), 11 deletions(-) rename slsDetectorSoftware/jungfrauDetectorServer/bin/{jungfrauDetectorServerv3.0.0.4 => jungfrauDetectorServerv3.0.0.5} (54%) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/Makefile b/slsDetectorSoftware/jungfrauDetectorServer/Makefile index 4637d06fd..a811cfa9a 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/Makefile +++ b/slsDetectorSoftware/jungfrauDetectorServer/Makefile @@ -17,6 +17,7 @@ boot: $(OBJS) $(PROGS): $(OBJS) # echo $(OBJS) @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` + $(CC) $(CFLAGS) -c -o slsDetectorFunctionList.o slsDetectorFunctionList.c mkdir -p $(DESTDIR) $(CC) -o $@ $^ $(CFLAGS) $(LDLIBS) mv $(PROGS) $(DESTDIR) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/RegisterDefs.h b/slsDetectorSoftware/jungfrauDetectorServer/RegisterDefs.h index e38a02c38..45a9761dc 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/RegisterDefs.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/RegisterDefs.h @@ -83,7 +83,13 @@ #define GET_PERIOD_MSB_REG (0x19 << 11) /** Get Temperature Carlos, incorrectl as get gates */ -#define GET_TEMPERATURE_TMP112_REG (0x1c << 11) // in 10ths of millidegrees of TMP112 +#define GET_TEMPERATURE_TMP112_REG (0x1c << 11) // (after multiplying by 625) in 10ths of millidegrees of TMP112 + +#define TEMPERATURE_POLARITY_BIT (15) +#define TEMPERATURE_POLARITY_MSK (0x00000001 << TEMPERATURE_POLARITY_BIT) +#define TEMPERATURE_VALUE_BIT (0) +#define TEMPERATURE_VALUE_MSK (0x00007FFF << TEMPERATURE_VALUE_BIT) + /* Get Frames from Start 64 bit register (frames from start Run Control) */ #define FRAMES_FROM_START_PG_LSB_REG (0x24 << 11) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.4 b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.5 similarity index 54% rename from slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.4 rename to slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.5 index 4f01885c193a0bb665aed0dd5a61c1a635dde2fa..0e633eb8fcd1e4401a2df0498d5dd25f9fbfc23f 100755 GIT binary patch delta 27536 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

t%R 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 delta 27449 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 Date: Mon, 10 Jul 2017 11:18:41 +0200 Subject: [PATCH 20/41] some more changes to make file for automatic versioning --- slsDetectorSoftware/Makefile | 6 +-- .../eigerDetectorServer/FebControl.c | 3 +- .../eigerDetectorServer/Makefile | 6 ++- .../eigerDetectorServer/gitInfo.txt | 10 ++-- .../eigerDetectorServer/gitInfoEiger.h | 10 ++-- .../eigerDetectorServer/updateGitVersion.sh | 49 ++++++++---------- slsDetectorSoftware/gitInfo.txt | 8 +-- .../gotthardDetectorServer/Makefile | 8 +-- .../gotthardDetectorServer/gitInfo.txt | 10 ++-- .../gotthardDetectorServer/gitInfoGotthard.h | 10 ++-- .../updateGitVersion.sh | 49 ++++++++---------- .../jctbDetectorServer/Makefile.ctb | 8 +-- .../jctbDetectorServer/updateGitVersion.sh | 48 ++++++++--------- .../jungfrauDetectorServer/Makefile | 7 +-- .../jungfrauDetectorServer/gitInfo.txt | 10 ++-- .../jungfrauDetectorServer/gitInfoJungfrau.h | 10 ++-- .../slsDetectorFunctionList.c | 4 +- .../updateGitVersion.sh | 51 +++++++++---------- .../moenchDetectorServer/Makefile | 6 ++- .../moenchDetectorServer/gitInfo.txt | 10 ++-- .../moenchDetectorServer/gitInfoMoench.h | 10 ++-- .../moenchDetectorServer/updateGitVersion.sh | 51 +++++++++---------- .../mythenDetectorServer/Makefile | 11 ++-- .../mythenDetectorServer/Makefile.dum | 7 ++- .../mythenDetectorServer/Makefile.picasso | 7 ++- .../mythenDetectorServer/updateGitVersion.sh | 48 ++++++++--------- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 +-- .../slsDetectorServer_funcs.c | 1 - slsDetectorSoftware/updateGitVersion.sh | 45 +++++++--------- 29 files changed, 241 insertions(+), 270 deletions(-) diff --git a/slsDetectorSoftware/Makefile b/slsDetectorSoftware/Makefile index 85aadb3f0..7c8f501ad 100644 --- a/slsDetectorSoftware/Makefile +++ b/slsDetectorSoftware/Makefile @@ -72,15 +72,15 @@ gotthardVirtualServer: $(SRC_MYTHEN_SVC) $(CXX) -o $@ -c $< $(INCLUDES) $(DFLAGS) -fPIC $(EPICSFLAGS) -pthread -lrt $(LIBZMQ) $(FLAGS) -package: $(OBJS) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a - +package: versioning $(OBJS) $(DESTDIR)/libSlsDetector.so $(DESTDIR)/libSlsDetector.a +versioning: + $(call colorecho,`./updateGitVersion.sh`) $(DESTDIR)/libSlsDetector.so: $(OBJS) $(call colorecho,"#######################################") $(call colorecho,"# Compiling slsDetector Library #") $(call colorecho,"#######################################") - $(call colorecho,`./updateGitVersion.sh`) $(CXX) -shared -Wl,-soname,libSlsDetector.so -o libSlsDetector.so $(OBJS) -lc $(INCLUDES) $(DFLAGS) $(FLAGS) $(EPICSFLAGS) -L/usr/lib64 -pthread -lrt $(LIBZMQ) $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) mv libSlsDetector.so $(DESTDIR) diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index 52244f1a0..77e4dd60c 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -24,8 +24,7 @@ //GetDAQStatusRegister(512,current_mode_bits_from_fpga)){ unsigned int Module_ndacs = 16; -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"};; - +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"};; diff --git a/slsDetectorSoftware/eigerDetectorServer/Makefile b/slsDetectorSoftware/eigerDetectorServer/Makefile index 646d9ba2d..9942dd3ef 100755 --- a/slsDetectorSoftware/eigerDetectorServer/Makefile +++ b/slsDetectorSoftware/eigerDetectorServer/Makefile @@ -12,14 +12,16 @@ SRC_CLNT = communication_funcs.c slsDetectorServer.c slsDetectorServer_funcs.c OBJS = $(SRC_CLNT:.c=.o) -all: clean $(PROGS) #hv9m_blackfin_server +all: clean versioning $(PROGS) #hv9m_blackfin_server boot: $(OBJS) +versioning: + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` + $(PROGS): $(OBJS) # echo $(OBJS) - @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` mkdir -p $(DESTDIR) $(CC) -o $@ $(SRC_CLNT) $(CFLAGS) $(LDLIBS) mv $(PROGS) $(DESTDIR) diff --git a/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt b/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt index f363766ff..bb91a6be1 100644 --- a/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer -URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git/eigerDetectorServer +URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: d4b0bef367ef407a3267619196da01dc1636865d -Revision: 293 +Repsitory UUID: 9f1b82c18ab0893d65bfadeb646b8ea244614632 +Revision: 294 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1435 -Last Changed Date: 2017-06-28 18:16:55 +0200 +Last Changed Rev: 1443 +Last Changed Date: 2017-07-10 10:50:39.000000002 +0200 ./Makefile diff --git a/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h b/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h index a9d805730..3f01d08bf 100644 --- a/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h +++ b/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h @@ -1,11 +1,11 @@ //#define SVNPATH "" -#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git/eigerDetectorServer" +#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUID "d4b0bef367ef407a3267619196da01dc1636865d" -//#define SVNREV 0x1435 +#define SVNREPUUID "9f1b82c18ab0893d65bfadeb646b8ea244614632" +//#define SVNREV 0x1443 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTH "Dhanya_Maliakal" -#define SVNREV 0x1435 -#define SVNDATE 0x20170628 +#define SVNREV 0x1443 +#define SVNDATE 0x20170710 // diff --git a/slsDetectorSoftware/eigerDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/eigerDetectorServer/updateGitVersion.sh index 65c2ce6f8..7c7a89269 100755 --- a/slsDetectorSoftware/eigerDetectorServer/updateGitVersion.sh +++ b/slsDetectorSoftware/eigerDetectorServer/updateGitVersion.sh @@ -1,37 +1,32 @@ SERVER=eigerDetectorServer +MAINDIR=slsDetectorsPackage +SPECDIR=slsDetectorSoftware/$SERVER TMPFILE=gitInfoEigerTmp.h INCLFILE=gitInfoEiger.h -WD=slsDetectorSoftware/$SERVER +#evaluate the variables +EVALFILE=../../evalVersionVariables.sh +source $EVALFILE -GITREPO1='git remote -v' -GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" -BRANCH1='git branch -v' -BRANCH2=" | grep '*' | cut -d' ' -f2" -REPUID1='git log --pretty=format:"%H" -1' -AUTH1_1='git log --pretty=format:"%cn" -1' -AUTH1_2=" | cut -d' ' -f1" -AUTH2_1='git log --pretty=format:"%cn" -1' -AUTH2_2=" | cut -d' ' -f2" -FOLDERREV1='git log --oneline . ' #used for all the individual server folders -FOLDERREV2=" | wc -l" #used for all the individual server folders -REV1='git log --oneline ' -REV2=" | wc -l" -RDATE1='git log --pretty=format:"%ci" -1' -GITREPO=`eval $GITREPO1 $GITREPO2` -BRANCH=`eval $BRANCH1 $BRANCH2` -REPUID=`eval $REPUID1` -AUTH1=`eval $AUTH1_1 $AUTH1_2` -AUTH2=`eval $AUTH2_1 $AUTH2_2` -REV=`eval $REV1 $REV2` -FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +#get modified date +#RDATE1='git log --pretty=format:"%ci" -1' +RDATE1="find ../slsDetectorServer . -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|bin|.git|updateGitVersion|.o' | head -n 1" RDATE=`eval $RDATE1` -echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd ../../ -./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE -echo "Revision Updated" -cd $WD +NEWDATE=$(sed "s/-//g" <<< $RDATE | awk '{print $1;}') +NEWDATE=${NEWDATE/#/0x} +#get old date from INCLFILE +OLDDATE=$(more $INCLFILE | grep '#define SVNDATE' | awk '{print $3}') + + +#update INCLFILE if changes +if [ "$OLDDATE" != "$NEWDATE" ]; then + echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt + cd ../../ + ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE + cd $WD +fi + diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 03c0f5622..33a141e1f 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 79271ea7e3f5ac7113582e694b30b71a64d18844 -Revision: 1436 +Repsitory UUID: 9f1b82c18ab0893d65bfadeb646b8ea244614632 +Revision: 1438 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1441 -Last Changed Date: 2017-07-03 17:42:06 +0200 +Last Changed Rev: 1443 +Last Changed Date: 2017-07-10 11:06:07.000000002 +0200 ./eigerDetectorServer/Feb.o diff --git a/slsDetectorSoftware/gotthardDetectorServer/Makefile b/slsDetectorSoftware/gotthardDetectorServer/Makefile index 38e779c18..28284e7c5 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/Makefile +++ b/slsDetectorSoftware/gotthardDetectorServer/Makefile @@ -21,13 +21,15 @@ OBJS = $(SRCS:%.c=%.o) -all: clean $(PROGS) +all: clean versioning $(PROGS) boot: $(OBJS) -$(PROGS): $(OBJS) - echo $(OBJS) +versioning: @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` + +$(PROGS): $(OBJS) +# echo $(OBJS) $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) diff --git a/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt b/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt index 48cd8d11c..f6b85a0a0 100644 --- a/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/gotthardDetectorServer -URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git/gotthardDetectorServer +URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 8aceb5d4b0ca6bd95a11b53e7a799b463b92d51b -Revision: 197 +Repsitory UUID: 9f1b82c18ab0893d65bfadeb646b8ea244614632 +Revision: 203 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 334 -Last Changed Date: 2016-08-12 11:08:03 +0200 +Last Changed Rev: 1443 +Last Changed Date: 2017-07-10 10:54:26.000000002 +0200 ./Makefile diff --git a/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h b/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h index b7bf78fa2..3f01d08bf 100644 --- a/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h +++ b/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h @@ -1,11 +1,11 @@ //#define SVNPATH "" -#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git/gotthardDetectorServer" +#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUID "8aceb5d4b0ca6bd95a11b53e7a799b463b92d51b" -//#define SVNREV 0x334 +#define SVNREPUUID "9f1b82c18ab0893d65bfadeb646b8ea244614632" +//#define SVNREV 0x1443 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTH "Dhanya_Maliakal" -#define SVNREV 0x334 -#define SVNDATE 0x20160812 +#define SVNREV 0x1443 +#define SVNDATE 0x20170710 // diff --git a/slsDetectorSoftware/gotthardDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/gotthardDetectorServer/updateGitVersion.sh index 54e56e537..8bf93bb85 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/updateGitVersion.sh +++ b/slsDetectorSoftware/gotthardDetectorServer/updateGitVersion.sh @@ -1,35 +1,30 @@ SERVER=gotthardDetectorServer +MAINDIR=slsDetectorsPackage +SPECDIR=slsDetectorSoftware/$SERVER TMPFILE=gitInfoGotthardTmp.h INCLFILE=gitInfoGotthard.h -WD=slsDetectorSoftware/$SERVER +#evaluate the variables +EVALFILE=../../evalVersionVariables.sh +source $EVALFILE -GITREPO1='git remote -v' -GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" -BRANCH1='git branch -v' -BRANCH2=" | grep '*' | cut -d' ' -f2" -REPUID1='git log --pretty=format:"%H" -1' -AUTH1_1='git log --pretty=format:"%cn" -1' -AUTH1_2=" | cut -d' ' -f1" -AUTH2_1='git log --pretty=format:"%cn" -1' -AUTH2_2=" | cut -d' ' -f2" -FOLDERREV1='git log --oneline . ' #used for all the individual server folders -FOLDERREV2=" | wc -l" #used for all the individual server folders -REV1='git log --oneline ' -REV2=" | wc -l" -RDATE1='git log --pretty=format:"%ci" -1' -GITREPO=`eval $GITREPO1 $GITREPO2` -BRANCH=`eval $BRANCH1 $BRANCH2` -REPUID=`eval $REPUID1` -AUTH1=`eval $AUTH1_1 $AUTH1_2` -AUTH2=`eval $AUTH2_1 $AUTH2_2` -REV=`eval $REV1 $REV2` -FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +#get modified date +#RDATE1='git log --pretty=format:"%ci" -1' +RDATE1="find . -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|.git|updateGitVersion|.o' | head -n 1" RDATE=`eval $RDATE1` -echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd ../../ -./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE -echo "Revision Updated" -cd $WD +NEWDATE=$(sed "s/-//g" <<< $RDATE | awk '{print $1;}') +NEWDATE=${NEWDATE/#/0x} + +#get old date from INCLFILE +OLDDATE=$(more $INCLFILE | grep '#define SVNDATE' | awk '{print $3}') + + +#update INCLFILE if changes +if [ "$OLDDATE" != "$NEWDATE" ]; then + echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt + cd ../../ + ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE + cd $WD +fi \ No newline at end of file diff --git a/slsDetectorSoftware/jctbDetectorServer/Makefile.ctb b/slsDetectorSoftware/jctbDetectorServer/Makefile.ctb index 60def850f..788977390 100644 --- a/slsDetectorSoftware/jctbDetectorServer/Makefile.ctb +++ b/slsDetectorSoftware/jctbDetectorServer/Makefile.ctb @@ -22,26 +22,26 @@ OBJS = $(SRCS:%.c=%.o) -all: clean $(PROGS) +all: clean versioning $(PROGS) test: clean jungfrauADCTEst boot: $(OBJS) +versioning: + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` + jungfrauDetectorServerTest: $(OBJS) echo $(OBJS) - @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) jungfrauDetectorServer: $(OBJS) echo $(OBJS) - @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) jungfrauADCTEst: $(OBJS) echo $(OBJS) - @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) -DTESTADC diff --git a/slsDetectorSoftware/jctbDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/jctbDetectorServer/updateGitVersion.sh index 57d015ca3..476546726 100755 --- a/slsDetectorSoftware/jctbDetectorServer/updateGitVersion.sh +++ b/slsDetectorSoftware/jctbDetectorServer/updateGitVersion.sh @@ -1,37 +1,31 @@ SERVER=jctbDetectorServer +MAINDIR=slsDetectorsPackage +SPECDIR=slsDetectorSoftware/$SERVER TMPFILE=gitInfoMoenchTmp.h INCLFILE=gitInfoMoench.h -WD=slsDetectorSoftware/$SERVER -GITREPO1='git remote -v' -GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" -BRANCH1='git branch -v' -BRANCH2=" | grep '*' | cut -d' ' -f2" -REPUID1='git log --pretty=format:"%H" -1' -AUTH1_1='git log --pretty=format:"%cn" -1' -AUTH1_2=" | cut -d' ' -f1" -AUTH2_1='git log --pretty=format:"%cn" -1' -AUTH2_2=" | cut -d' ' -f2" -FOLDERREV1='git log --oneline . ' #used for all the individual server folders -FOLDERREV2=" | wc -l" #used for all the individual server folders -REV1='git log --oneline ' -REV2=" | wc -l" -RDATE1='git log --pretty=format:"%ci" -1' +#evaluate the variables +EVALFILE=../../evalVersionVariables.sh +source $EVALFILE -GITREPO=`eval $GITREPO1 $GITREPO2` -BRANCH=`eval $BRANCH1 $BRANCH2` -REPUID=`eval $REPUID1` -AUTH1=`eval $AUTH1_1 $AUTH1_2` -AUTH2=`eval $AUTH2_1 $AUTH2_2` -REV=`eval $REV1 $REV2` -FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` + +#get modified date +#RDATE1='git log --pretty=format:"%ci" -1' +RDATE1="find . -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|.git|updateGitVersion|.o' | head -n 1" RDATE=`eval $RDATE1` -echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd ../../ -./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE -echo "Revision Updated" -cd $WD +NEWDATE=$(sed "s/-//g" <<< $RDATE | awk '{print $1;}') +NEWDATE=${NEWDATE/#/0x} +#get old date from INCLFILE +OLDDATE=$(more $INCLFILE | grep '#define SVNDATE' | awk '{print $3}') + +#update INCLFILE if changes +if [ "$OLDDATE" != "$NEWDATE" ]; then + echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt + cd ../../ + ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE + cd $WD +fi \ No newline at end of file diff --git a/slsDetectorSoftware/jungfrauDetectorServer/Makefile b/slsDetectorSoftware/jungfrauDetectorServer/Makefile index a811cfa9a..a1c89973e 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/Makefile +++ b/slsDetectorSoftware/jungfrauDetectorServer/Makefile @@ -10,14 +10,15 @@ INSTMODE = 0777 SRC_CLNT = communication_funcs.c slsDetectorServer.c slsDetectorServer_funcs.c slsDetectorFunctionList.c OBJS = $(SRC_CLNT:.c=.o) -all: clean $(PROGS) +all: clean versioning $(PROGS) boot: $(OBJS) +versioning: + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` + $(PROGS): $(OBJS) # echo $(OBJS) - @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` - $(CC) $(CFLAGS) -c -o slsDetectorFunctionList.o slsDetectorFunctionList.c mkdir -p $(DESTDIR) $(CC) -o $@ $^ $(CFLAGS) $(LDLIBS) mv $(PROGS) $(DESTDIR) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt b/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt index f21bb21ae..24e407864 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer -URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git/jungfrauDetectorServer +URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: ac8afb3a4dc53ac14f7034d281acc8f0a700ca8d -Revision: 87 +Repsitory UUID: 9f1b82c18ab0893d65bfadeb646b8ea244614632 +Revision: 88 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1442 -Last Changed Date: 2017-07-03 17:44:52 +0200 +Last Changed Rev: 1443 +Last Changed Date: 2017-07-10 10:40:23.000000002 +0200 ./Makefile diff --git a/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h b/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h index 749297fc9..3f01d08bf 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h @@ -1,11 +1,11 @@ //#define SVNPATH "" -#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git/jungfrauDetectorServer" +#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUID "ac8afb3a4dc53ac14f7034d281acc8f0a700ca8d" -//#define SVNREV 0x1442 +#define SVNREPUUID "9f1b82c18ab0893d65bfadeb646b8ea244614632" +//#define SVNREV 0x1443 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTH "Dhanya_Maliakal" -#define SVNREV 0x1442 -#define SVNDATE 0x20170703 +#define SVNREV 0x1443 +#define SVNDATE 0x20170710 // diff --git a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c index b9a69cb79..839a86e63 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c @@ -25,11 +25,11 @@ int32_t clkPhase[2] = {0, 0}; /* basic tests */ -void checkFirmwareCompatibility(){ +void checkFirmwareCompatibility() { defineGPIOpins(); resetFPGA(); - if ((mapCSP0() == FAIL) || (checkType() == FAIL) || (testFpga() == FAIL) || (testBus() == FAIL) ) { + if ((mapCSP0() == FAIL) || (checkType() == FAIL) || (testFpga() == FAIL) || (testBus() == FAIL)) { cprintf(BG_RED, "Dangerous to continue. Goodbye!\n"); exit(EXIT_FAILURE); } diff --git a/slsDetectorSoftware/jungfrauDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/jungfrauDetectorServer/updateGitVersion.sh index 7af48db8a..238c47eb6 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/updateGitVersion.sh +++ b/slsDetectorSoftware/jungfrauDetectorServer/updateGitVersion.sh @@ -1,34 +1,31 @@ SERVER=jungfrauDetectorServer +MAINDIR=slsDetectorsPackage +SPECDIR=slsDetectorSoftware/$SERVER TMPFILE=gitInfoJungfrauTmp.h INCLFILE=gitInfoJungfrau.h -WD=slsDetectorSoftware/$SERVER -GITREPO1='git remote -v' -GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" -BRANCH1='git branch -v' -BRANCH2=" | grep '*' | cut -d' ' -f2" -REPUID1='git log --pretty=format:"%H" -1' -AUTH1_1='git log --pretty=format:"%cn" -1' -AUTH1_2=" | cut -d' ' -f1" -AUTH2_1='git log --pretty=format:"%cn" -1' -AUTH2_2=" | cut -d' ' -f2" -FOLDERREV1='git log --oneline . ' #used for all the individual server folders -FOLDERREV2=" | wc -l" #used for all the individual server folders -REV1='git log --oneline ' -REV2=" | wc -l" -RDATE1='git log --pretty=format:"%ci" -1' +#evaluate the variables +EVALFILE=../../evalVersionVariables.sh +source $EVALFILE -GITREPO=`eval $GITREPO1 $GITREPO2` -BRANCH=`eval $BRANCH1 $BRANCH2` -REPUID=`eval $REPUID1` -AUTH1=`eval $AUTH1_1 $AUTH1_2` -AUTH2=`eval $AUTH2_1 $AUTH2_2` -REV=`eval $REV1 $REV2` -FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` + +#get modified date +#RDATE1='git log --pretty=format:"%ci" -1' +RDATE1="find ../slsDetectorServer . -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|bin|.git|updateGitVersion|.o' | head -n 1" RDATE=`eval $RDATE1` -echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd ../../ -./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE -echo "Revision Updated" -cd $WD +NEWDATE=$(sed "s/-//g" <<< $RDATE | awk '{print $1;}') +NEWDATE=${NEWDATE/#/0x} + + +#get old date from INCLFILE +OLDDATE=$(more $INCLFILE | grep '#define SVNDATE' | awk '{print $3}') + + +#update INCLFILE if changes +if [ "$OLDDATE" != "$NEWDATE" ]; then + echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt + cd ../../ + ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE + cd $WD +fi \ No newline at end of file diff --git a/slsDetectorSoftware/moenchDetectorServer/Makefile b/slsDetectorSoftware/moenchDetectorServer/Makefile index a38c7f521..490d4761b 100755 --- a/slsDetectorSoftware/moenchDetectorServer/Makefile +++ b/slsDetectorSoftware/moenchDetectorServer/Makefile @@ -21,13 +21,15 @@ OBJS = $(SRCS:%.c=%.o) -all: clean $(PROGS) +all: clean versioning $(PROGS) boot: $(OBJS) +versioning: + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` + $(PROGS): $(OBJS) echo $(OBJS) - @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) diff --git a/slsDetectorSoftware/moenchDetectorServer/gitInfo.txt b/slsDetectorSoftware/moenchDetectorServer/gitInfo.txt index 2fc4e3520..178eb0fa1 100644 --- a/slsDetectorSoftware/moenchDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/moenchDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/moenchDetectorServer -URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git/moenchDetectorServer +URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 8aceb5d4b0ca6bd95a11b53e7a799b463b92d51b -Revision: 80 +Repsitory UUID: 9f1b82c18ab0893d65bfadeb646b8ea244614632 +Revision: 83 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 334 -Last Changed Date: 2016-08-12 11:08:03 +0200 +Last Changed Rev: 1443 +Last Changed Date: 2017-07-10 11:03:27.000000002 +0200 ./Makefile diff --git a/slsDetectorSoftware/moenchDetectorServer/gitInfoMoench.h b/slsDetectorSoftware/moenchDetectorServer/gitInfoMoench.h index 13579414d..3f01d08bf 100644 --- a/slsDetectorSoftware/moenchDetectorServer/gitInfoMoench.h +++ b/slsDetectorSoftware/moenchDetectorServer/gitInfoMoench.h @@ -1,11 +1,11 @@ //#define SVNPATH "" -#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git/moenchDetectorServer" +#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUID "8aceb5d4b0ca6bd95a11b53e7a799b463b92d51b" -//#define SVNREV 0x334 +#define SVNREPUUID "9f1b82c18ab0893d65bfadeb646b8ea244614632" +//#define SVNREV 0x1443 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTH "Dhanya_Maliakal" -#define SVNREV 0x334 -#define SVNDATE 0x20160812 +#define SVNREV 0x1443 +#define SVNDATE 0x20170710 // diff --git a/slsDetectorSoftware/moenchDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/moenchDetectorServer/updateGitVersion.sh index 379ebf785..3ad0a2b06 100755 --- a/slsDetectorSoftware/moenchDetectorServer/updateGitVersion.sh +++ b/slsDetectorSoftware/moenchDetectorServer/updateGitVersion.sh @@ -1,34 +1,31 @@ SERVER=moenchDetectorServer +MAINDIR=slsDetectorsPackage +SPECDIR=slsDetectorSoftware/$SERVER TMPFILE=gitInfoMoenchTmp.h INCLFILE=gitInfoMoench.h -WD=slsDetectorSoftware/$SERVER -GITREPO1='git remote -v' -GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" -BRANCH1='git branch -v' -BRANCH2=" | grep '*' | cut -d' ' -f2" -REPUID1='git log --pretty=format:"%H" -1' -AUTH1_1='git log --pretty=format:"%cn" -1' -AUTH1_2=" | cut -d' ' -f1" -AUTH2_1='git log --pretty=format:"%cn" -1' -AUTH2_2=" | cut -d' ' -f2" -FOLDERREV1='git log --oneline . ' #used for all the individual server folders -FOLDERREV2=" | wc -l" #used for all the individual server folders -REV1='git log --oneline ' -REV2=" | wc -l" -RDATE1='git log --pretty=format:"%ci" -1' +#evaluate the variables +EVALFILE=../../evalVersionVariables.sh +source $EVALFILE -GITREPO=`eval $GITREPO1 $GITREPO2` -BRANCH=`eval $BRANCH1 $BRANCH2` -REPUID=`eval $REPUID1` -AUTH1=`eval $AUTH1_1 $AUTH1_2` -AUTH2=`eval $AUTH2_1 $AUTH2_2` -REV=`eval $REV1 $REV2` -FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` + +#get modified date +#RDATE1='git log --pretty=format:"%ci" -1' +RDATE1="find . -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|.git|updateGitVersion|.o' | head -n 1" RDATE=`eval $RDATE1` -echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd ../../ -./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE -echo "Revision Updated" -cd $WD +NEWDATE=$(sed "s/-//g" <<< $RDATE | awk '{print $1;}') +NEWDATE=${NEWDATE/#/0x} + + +#get old date from INCLFILE +OLDDATE=$(more $INCLFILE | grep '#define SVNDATE' | awk '{print $3}') + + +#update INCLFILE if changes +if [ "$OLDDATE" != "$NEWDATE" ]; then + echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt + cd ../../ + ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE + cd $WD +fi \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/Makefile b/slsDetectorSoftware/mythenDetectorServer/Makefile index a4eed6cdc..da0c0f291 100755 --- a/slsDetectorSoftware/mythenDetectorServer/Makefile +++ b/slsDetectorSoftware/mythenDetectorServer/Makefile @@ -21,11 +21,15 @@ CFLAGS+= -Wall -DC_ONLY -DMCB_FUNCS -DDACS_INT $(VFLAGS) LDLIBS+= -lm -mythen: clean $(PROGS) -all: updateVersion $(PROGS) +mythen: clean versioning $(PROGS) +all: versioning $(PROGS) boot: $(OBJS) +versioning: + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` + + $(PROGS): $(OBJS) echo $(OBJS) $(CC) $(LDFLAGS) $^ $(LDLIBS) $(CFLAGS) -o $@ @@ -39,7 +43,4 @@ clean: depend: makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null - -updateVersion: - ./updateGitVersion.sh \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/Makefile.dum b/slsDetectorSoftware/mythenDetectorServer/Makefile.dum index bd74d1e2e..4656a39bf 100644 --- a/slsDetectorSoftware/mythenDetectorServer/Makefile.dum +++ b/slsDetectorSoftware/mythenDetectorServer/Makefile.dum @@ -18,7 +18,7 @@ CFLAGS+= -Wall -DC_ONLY -DVERBOSE LDLIBS+= -lm -all: updateVersion $(PROGS) +all: versioning $(PROGS) boot: $(OBJS) @@ -36,6 +36,5 @@ clean: depend: makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null -updateVersion: - ./updateGitVersion.sh - \ No newline at end of file +versioning: + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/Makefile.picasso b/slsDetectorSoftware/mythenDetectorServer/Makefile.picasso index 11e3645fd..48d204135 100644 --- a/slsDetectorSoftware/mythenDetectorServer/Makefile.picasso +++ b/slsDetectorSoftware/mythenDetectorServer/Makefile.picasso @@ -21,8 +21,8 @@ CFLAGS+= -Wall -DC_ONLY -DMCB_FUNCS -DVERBOSE -DVERYVERBOSE -DPICASSOD LDLIBS+= -lm picasso: $(PICASSO) -mythen: $(PROGS) -all: $(PROGS) $(PICASSO) +mythen: versioning $(PROGS) +all: versioning $(PROGS) $(PICASSO) boot: $(OBJS) @@ -44,3 +44,6 @@ clean: depend: makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null + +versioning: + @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh b/slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh index 3fd1bdb1c..6889e628d 100755 --- a/slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh +++ b/slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh @@ -1,37 +1,31 @@ SERVER=mythenDetectorServer +MAINDIR=slsDetectorsPackage +SPECDIR=slsDetectorSoftware/$SERVER TMPFILE=gitInfoMythenTmp.h INCLFILE=gitInfoMythen.h -WD=slsDetectorSoftware/$SERVER -GITREPO1='git remote -v' -GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" -BRANCH1='git branch -v' -BRANCH2=" | grep '*' | cut -d' ' -f2" -REPUID1='git log --pretty=format:"%H" -1' -AUTH1_1='git log --pretty=format:"%cn" -1' -AUTH1_2=" | cut -d' ' -f1" -AUTH2_1='git log --pretty=format:"%cn" -1' -AUTH2_2=" | cut -d' ' -f2" -FOLDERREV1='git log --oneline . ' #used for all the individual server folders -FOLDERREV2=" | wc -l" #used for all the individual server folders -REV1='git log --oneline ' -REV2=" | wc -l" -RDATE1='git log --pretty=format:"%ci" -1' +#evaluate the variables +EVALFILE=../../evalVersionVariables.sh +source $EVALFILE -GITREPO=`eval $GITREPO1 $GITREPO2` -BRANCH=`eval $BRANCH1 $BRANCH2` -REPUID=`eval $REPUID1` -AUTH1=`eval $AUTH1_1 $AUTH1_2` -AUTH2=`eval $AUTH2_1 $AUTH2_2` -REV=`eval $REV1 $REV2` -FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` + +#get modified date +#RDATE1='git log --pretty=format:"%ci" -1' +RDATE1="find ../slsDetectorServer . -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|bin|.git|updateGitVersion|.o' | head -n 1" RDATE=`eval $RDATE1` -echo Path: slsDetectorsPackage/$WD $'\n'URL: ${GITREPO}/$SERVER $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd ../../ -./genVersionHeader.sh $WD/gitInfo.txt $WD/$TMPFILE $WD/$INCLFILE -echo "Revision Updated" -cd $WD +NEWDATE=$(sed "s/-//g" <<< $RDATE | awk '{print $1;}') +NEWDATE=${NEWDATE/#/0x} +#get old date from INCLFILE +OLDDATE=$(more $INCLFILE | grep '#define SVNDATE' | awk '{print $3}') + +#update INCLFILE if changes +if [ "$OLDDATE" != "$NEWDATE" ]; then + echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt + cd ../../ + ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE + cd $WD +fi \ No newline at end of file diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index c134bfad7..f7474c5df 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "79271ea7e3f5ac7113582e694b30b71a64d18844" -//#define SVNREV 0x1441 +#define SVNREPUUIDLIB "9f1b82c18ab0893d65bfadeb646b8ea244614632" +//#define SVNREV 0x1443 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1441 -#define SVNDATELIB 0x20170703 +#define SVNREVLIB 0x1443 +#define SVNDATELIB 0x20170710 // diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index 2b1894494..7b076878d 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -11,7 +11,6 @@ // Global variables - extern int lockStatus; extern char lastClientIP[INET_ADDRSTRLEN]; extern char thisClientIP[INET_ADDRSTRLEN]; diff --git a/slsDetectorSoftware/updateGitVersion.sh b/slsDetectorSoftware/updateGitVersion.sh index 021211764..a8f638fab 100755 --- a/slsDetectorSoftware/updateGitVersion.sh +++ b/slsDetectorSoftware/updateGitVersion.sh @@ -4,34 +4,25 @@ TMPFILE=slsDetector/gitInfoLibTmp.h INCLFILE=slsDetector/gitInfoLib.h WD=$PWD -GITREPO1='git remote -v' -GITREPO2=" | grep \"fetch\" | cut -d' ' -f1" -BRANCH1='git branch -v' -BRANCH2=" | grep '*' | cut -d' ' -f2" -REPUID1='git log --pretty=format:"%H" -1' -AUTH1_1='git log --pretty=format:"%cn" -1' -AUTH1_2=" | cut -d' ' -f1" -AUTH2_1='git log --pretty=format:"%cn" -1' -AUTH2_2=" | cut -d' ' -f2" -FOLDERREV1='git log --oneline . ' #used for all the individual server folders -FOLDERREV2=" | wc -l" #used for all the individual server folders -REV1='git log --oneline ' -REV2=" | wc -l" -RDATE1='git log --pretty=format:"%ci" -1' +#evaluate the variables +EVALFILE=../evalVersionVariables.sh +source $EVALFILE -GITREPO=`eval $GITREPO1 $GITREPO2` -BRANCH=`eval $BRANCH1 $BRANCH2` -REPUID=`eval $REPUID1` -AUTH1=`eval $AUTH1_1 $AUTH1_2` -AUTH2=`eval $AUTH2_1 $AUTH2_2` -REV=`eval $REV1 $REV2` -FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` +#get modified date +#RDATE1='git log --pretty=format:"%ci" -1' +RDATE1="find . -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|build|.git|updateGitVersion' | head -n 1" RDATE=`eval $RDATE1` -echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd .. -./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE -echo "Revision Updated" -cd $WD - +NEWDATE=$(sed "s/-//g" <<< $RDATE | awk '{print $1;}') +NEWDATE=${NEWDATE/#/0x} + +#get old date from INCLFILE +OLDDATE=$(more $INCLFILE | grep '#define SVNDATE' | awk '{print $3}') +#update INCLFILE if changes +if [ "$OLDDATE" != "$NEWDATE" ]; then + echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt + cd .. + ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE + cd $WD +fi \ No newline at end of file From 931a5840e824634425553968d1017f83baa9aa89 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 11 Jul 2017 10:54:21 +0200 Subject: [PATCH 21/41] changes to gotthard server to include write adc, and also changes to fix the dma=dma+1 --- .../gotthardDetectorServer/AD9257.h | 1 + .../gotthardDetectorServer/Makefile | 2 +- .../commonServerFunctions.h | 1 + .../gotthardDetectorServer/firmware_funcs.c | 54 +- .../gotthardDetectorServer/firmware_funcs.h | 1 + .../gotthardDetectorServerv3.0.0.0 | Bin 127704 -> 0 bytes .../gotthardDetectorServerv3.0.0.1 | Bin 0 -> 129036 bytes .../gotthardDetectorServer/registers_g.h | 11 +- .../gotthardDetectorServer/server_funcs.c | 54 +- .../gotthardDetectorServer/server_funcs.h | 4 +- .../multiSlsDetector/multiSlsDetector.cpp | 548 ++++++++++-------- .../multiSlsDetector/multiSlsDetector.h | 8 +- .../slsDetector/slsDetectorUtils.h | 2 +- .../slsDetectorServer/commonServerFunctions.h | 2 + 14 files changed, 397 insertions(+), 291 deletions(-) create mode 120000 slsDetectorSoftware/gotthardDetectorServer/AD9257.h create mode 120000 slsDetectorSoftware/gotthardDetectorServer/commonServerFunctions.h delete mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.0 create mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.1 diff --git a/slsDetectorSoftware/gotthardDetectorServer/AD9257.h b/slsDetectorSoftware/gotthardDetectorServer/AD9257.h new file mode 120000 index 000000000..87b70e097 --- /dev/null +++ b/slsDetectorSoftware/gotthardDetectorServer/AD9257.h @@ -0,0 +1 @@ +../slsDetectorServer/AD9257.h \ No newline at end of file diff --git a/slsDetectorSoftware/gotthardDetectorServer/Makefile b/slsDetectorSoftware/gotthardDetectorServer/Makefile index 28284e7c5..a5f1667a6 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/Makefile +++ b/slsDetectorSoftware/gotthardDetectorServer/Makefile @@ -16,7 +16,7 @@ INSTMODE= 0777 BINS = testlib_sharedlibc -SRCS = server.c server_funcs.c communication_funcs.c firmware_funcs.c mcb_funcs.c trimming_funcs.c sharedmemory.c +SRCS = server.c firmware_funcs.c server_funcs.c communication_funcs.c mcb_funcs.c trimming_funcs.c sharedmemory.c OBJS = $(SRCS:%.c=%.o) diff --git a/slsDetectorSoftware/gotthardDetectorServer/commonServerFunctions.h b/slsDetectorSoftware/gotthardDetectorServer/commonServerFunctions.h new file mode 120000 index 000000000..33bdd8d53 --- /dev/null +++ b/slsDetectorSoftware/gotthardDetectorServer/commonServerFunctions.h @@ -0,0 +1 @@ +../slsDetectorServer/commonServerFunctions.h \ No newline at end of file diff --git a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c index 8366f8eb4..5c69d2463 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c @@ -4,6 +4,8 @@ #include "mcb_funcs.h" #include "registers_g.h" +#include "AD9257.h" // include "commonServerFunctions.h" + #ifdef SHAREDMEMORY #include "sharedmemory.h" #endif @@ -1814,7 +1816,9 @@ int allocateRAM() { } -int prepareADC(){ + + +int configureADC(){ printf("Preparing ADC\n"); u_int32_t valw,codata,csmask; int i,j,cdx,ddx; @@ -1834,26 +1838,26 @@ int prepareADC(){ // start point valw=0xff; - bus_w(ADC_WRITE_REG,(valw)); + bus_w(ADC_SPI_REG,(valw)); //chip sel bar down valw=((0xffffffff&(~csmask))); - bus_w(ADC_WRITE_REG,valw); + bus_w(ADC_SPI_REG,valw); for (i=0;i<24;i++) { //cldwn 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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) diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.1 b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.1 new file mode 100755 index 0000000000000000000000000000000000000000..a2c5bc2723c02c761d546fc5fe42d1c4368666e1 GIT binary patch literal 129036 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 { + if(detectors[id]){ + ret = detectors[id]->setDAC(val, idac, mV, im); + if(detectors[id]->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::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; + dacs_t* iret[posmax-posmin]; + + for(int idet=posmin; idet(&slsDetector::setDAC, + detectors[idet],val, idac, mV, imod, iret[idet])); + threadpool->add_task(task); } } + threadpool->startExecuting(); + threadpool->wait_for_tasks_to_complete(); + for(int idet=posmin; idetgetErrorMask()) + setErrorMask(getErrorMask()|(1<=0) { + if(detectors[id]){ + ret = detectors[id]->getADC(idac, im); + if(detectors[id]->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<numberOfDetectors; + dacs_t* iret[posmax-posmin]; + + for(int idet=posmin; idet(&slsDetector::getADC, + detectors[idet],idac, imod, iret[idet])); + threadpool->add_task(task); } } + threadpool->startExecuting(); + threadpool->wait_for_tasks_to_complete(); + for(int idet=posmin; idetgetErrorMask()) + setErrorMask(getErrorMask()|(1<=0) { dmi=id; - dma=dma+1; + dma=id+1; } for (int idet=dmi; idet=0) { - if (detectors[id]) { - ret = detectors[id]->executeTrimming(mode, par1, par2, im); - if(detectors[id]->getErrorMask()) - setErrorMask(getErrorMask()|(1<=0) { + if (detectors[id]) { + ret = detectors[id]->executeTrimming(mode, par1, par2, im); + if(detectors[id]->getErrorMask()) + setErrorMask(getErrorMask()|(1<numberOfDetectors]; - for(int idet=0; idetnumberOfDetectors; idet++){ - if(detectors[idet]){ - iret[idet]= new int(-1); - Task* task = new Task(new func4_t (&slsDetector::executeTrimming, - detectors[idet],mode,par1,par2,imod,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<numberOfDetectors]; + for(int idet=0; idetnumberOfDetectors; idet++){ + if(detectors[idet]){ + iret[idet]= new int(-1); + Task* task = new Task(new func4_t (&slsDetector::executeTrimming, + detectors[idet],mode,par1,par2,imod,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<=0) { - if (detectors[id]) { - ret = detectors[id]->loadSettingsFile(fname, im); - if(detectors[id]->getErrorMask()) - setErrorMask(getErrorMask()|(1<=0) { + if(detectors[id]){ + ret = detectors[id]->loadSettingsFile(fname, im); + if(detectors[id]->getErrorMask()) + setErrorMask(getErrorMask()|(1<numberOfDetectors]; - for(int idet=0; idetnumberOfDetectors; idet++){ - if(detectors[idet]){ - iret[idet]= new int(OK); - Task* task = new Task(new func2_t (&slsDetector::loadSettingsFile, - detectors[idet],fname,imod,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(*iret[idet] != OK) - ret = FAIL; - delete iret[idet]; - }else ret = FAIL; - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<numberOfDetectors]; + for(int idet=0; idetnumberOfDetectors; idet++){ + if(detectors[idet]){ + iret[idet]= new int(OK); + Task* task = new Task(new func2_t (&slsDetector::loadSettingsFile, + detectors[idet],fname,imod,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(*iret[idet] != OK) + ret = FAIL; + delete iret[idet]; + }else ret = FAIL; + if(detectors[idet]->getErrorMask()) + setErrorMask(getErrorMask()|(1<=0) { - if (detectors[id]) { - ret = detectors[id]->saveSettingsFile(fname, im); - if(detectors[id]->getErrorMask()) - setErrorMask(getErrorMask()|(1<numberOfDetectors; idet++) { - if (detectors[idet]) { - ret=detectors[idet]->saveSettingsFile(fname, imod); - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<=0) { + if (detectors[id]) { + ret = detectors[id]->saveSettingsFile(fname, im); + if(detectors[id]->getErrorMask()) + setErrorMask(getErrorMask()|(1<numberOfDetectors; idet++) { + if (detectors[idet]) { + ret=detectors[idet]->saveSettingsFile(fname, imod); + if(detectors[idet]->getErrorMask()) + setErrorMask(getErrorMask()|(1<=0) { - if (detectors[id]) { - ret=detectors[id]->setAllTrimbits(val,im); - if(detectors[id]->getErrorMask()) - setErrorMask(getErrorMask()|(1<=0) { + if(detectors[id]){ + ret = detectors[id]->setAllTrimbits(val,im); + if(detectors[id]->getErrorMask()) + setErrorMask(getErrorMask()|(1<numberOfDetectors]; - for(int idet=0; idetnumberOfDetectors; idet++){ - if(detectors[idet]){ - iret[idet]= new int(-1); - Task* task = new Task(new func2_t (&slsDetector::setAllTrimbits, - detectors[idet],val,imod,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<numberOfDetectors]; + for(int idet=0; idetnumberOfDetectors; idet++){ + if(detectors[idet]){ + iret[idet]= new int(-1); + Task* task = new Task(new func2_t (&slsDetector::setAllTrimbits, + detectors[idet],val,imod,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<=0) { - if (detectors[id]) { - ret = detectors[id]->loadCalibrationFile(fname, im); - if(detectors[id]->getErrorMask()) - setErrorMask(getErrorMask()|(1<=0) { + if(detectors[id]){ + ret = detectors[id]->loadCalibrationFile(fname, im); + if(detectors[id]->getErrorMask()) + setErrorMask(getErrorMask()|(1<numberOfDetectors]; - for(int idet=0; idetnumberOfDetectors; idet++){ - if(detectors[idet]){ - iret[idet]= new int(OK); - Task* task = new Task(new func2_t (&slsDetector::loadCalibrationFile, - detectors[idet],fname,imod,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(*iret[idet] != OK) - ret = FAIL; - delete iret[idet]; - }else ret = FAIL; - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<numberOfDetectors]; + for(int idet=0; idetnumberOfDetectors; idet++){ + if(detectors[idet]){ + iret[idet]= new int(OK); + Task* task = new Task(new func2_t (&slsDetector::loadCalibrationFile, + detectors[idet],fname,imod,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(*iret[idet] != OK) + ret = FAIL; + delete iret[idet]; + }else ret = FAIL; + if(detectors[idet]->getErrorMask()) + setErrorMask(getErrorMask()|(1<=0) { - if (detectors[id]) { - ret = detectors[id]->saveCalibrationFile(fname, im); - if(detectors[id]->getErrorMask()) - setErrorMask(getErrorMask()|(1<numberOfDetectors; idet++) { - if (detectors[idet]) { - ret=detectors[idet]->saveCalibrationFile(fname, imod); - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<=0) { + if (detectors[id]) { + ret = detectors[id]->saveCalibrationFile(fname, im); + if(detectors[id]->getErrorMask()) + setErrorMask(getErrorMask()|(1<numberOfDetectors; idet++) { + if (detectors[idet]) { + ret=detectors[idet]->saveCalibrationFile(fname, imod); + if(detectors[idet]->getErrorMask()) + setErrorMask(getErrorMask()|(1< Date: Tue, 11 Jul 2017 11:16:37 +0200 Subject: [PATCH 22/41] excluding detector server directories in makefile --- slsDetectorSoftware/gitInfo.txt | 8 ++++---- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- slsDetectorSoftware/updateGitVersion.sh | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 33a141e1f..ae6bbd4ea 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 9f1b82c18ab0893d65bfadeb646b8ea244614632 -Revision: 1438 +Repsitory UUID: 5719fa8e7143d444cc9ca6ba81444541b179e317 +Revision: 1440 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1443 -Last Changed Date: 2017-07-10 11:06:07.000000002 +0200 ./eigerDetectorServer/Feb.o +Last Changed Rev: 1445 +Last Changed Date: 2017-07-11 11:09:53.000000002 +0200 ./slsDetectorAnalysis/postProcessing.o diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index f7474c5df..5f891d220 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "9f1b82c18ab0893d65bfadeb646b8ea244614632" -//#define SVNREV 0x1443 +#define SVNREPUUIDLIB "5719fa8e7143d444cc9ca6ba81444541b179e317" +//#define SVNREV 0x1445 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1443 -#define SVNDATELIB 0x20170710 +#define SVNREVLIB 0x1445 +#define SVNDATELIB 0x20170711 // diff --git a/slsDetectorSoftware/updateGitVersion.sh b/slsDetectorSoftware/updateGitVersion.sh index a8f638fab..8a0f17dec 100755 --- a/slsDetectorSoftware/updateGitVersion.sh +++ b/slsDetectorSoftware/updateGitVersion.sh @@ -10,7 +10,7 @@ source $EVALFILE #get modified date #RDATE1='git log --pretty=format:"%ci" -1' -RDATE1="find . -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|build|.git|updateGitVersion' | head -n 1" +RDATE1="find . -not -path '*DetectorServer/*' -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | egrep -v 'gitInfo|build|.git|updateGitVersion' | head -n 1" RDATE=`eval $RDATE1` NEWDATE=$(sed "s/-//g" <<< $RDATE | awk '{print $1;}') NEWDATE=${NEWDATE/#/0x} From e3667f6827af423edc60c3bf8355a814499fc29b Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 13 Jul 2017 12:18:07 +0200 Subject: [PATCH 23/41] can set zmqport from receiver --- .../commonFiles/sls_detector_defs.h | 3 +- .../multiSlsDetector/multiSlsDetector.cpp | 30 ++++++-- .../slsDetector/slsDetector.cpp | 70 +++++++++++++++---- slsDetectorSoftware/slsDetector/slsDetector.h | 7 +- .../slsDetector/slsDetectorCommand.cpp | 13 ++++ 5 files changed, 102 insertions(+), 21 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/sls_detector_defs.h b/slsDetectorSoftware/commonFiles/sls_detector_defs.h index 17470b6bf..386255bae 100755 --- a/slsDetectorSoftware/commonFiles/sls_detector_defs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_defs.h @@ -192,7 +192,8 @@ enum networkParameter { DETECTOR_TXN_DELAY_FRAME, /**< transmission delay of a whole frame for all the ports */ FLOW_CONTROL_10G, /**< flow control for 10GbE */ FLOW_CONTROL_WR_PTR, /**< memory write pointer for flow control */ - FLOW_CONTROL_RD_PTR /**< memory read pointer for flow control */ + FLOW_CONTROL_RD_PTR, /**< memory read pointer for flow control */ + RECEIVER_STREAMING_PORT /**< receiever streaming TCP(ZMQ) port */ }; /** diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 4b6d4c8af..b7983f23d 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -3432,6 +3432,13 @@ string multiSlsDetector::getNetworkParameter(networkParameter p) { */ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){ + // disable data streaming before changing zmq port (but only if they were on) + /*int prev_streaming = 0;*/ + if (p == RECEIVER_STREAMING_PORT) { + /*prev_streaming = getStreamingSocketsCreatedInClient();*/ + enableDataStreamingFromReceiver(0); + } + if (s.find('+')==string::npos) { if(!threadpool){ @@ -3441,6 +3448,8 @@ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){ string* sret[thisMultiDetector->numberOfDetectors]; for(int idet=0; idetnumberOfDetectors; idet++){ if(detectors[idet]){ + if (p == RECEIVER_STREAMING_PORT) + s.append("multi\0"); sret[idet]=new string("error"); Task* task = new Task(new func2_t (&slsDetector::setNetworkParameter, detectors[idet],p,s,sret[idet])); @@ -3481,7 +3490,11 @@ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){ } } - +/* + //enable data streaming if it was on + if (p == RECEIVER_STREAMING_PORT && prev_streaming) + enableDataStreamingFromReceiver(1); +*/ return getNetworkParameter(p); } @@ -5245,8 +5258,15 @@ int multiSlsDetector::createReceivingDataSockets(const bool destroy){ cprintf(MAGENTA,"Going to create data sockets\n"); for(int i=0;igetReceiverStreamingPort().c_str(),"%d",&portnum); + if (portnum == 0) { + portnum = DEFAULT_ZMQ_PORTNO + + (i/numSocketsPerDetector)*numSocketsPerDetector + (i%numSocketsPerDetector); // *num and /num is not same cuz its integers + }else{ + portnum += (i%numSocketsPerDetector); + } + 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); @@ -5708,7 +5728,7 @@ int multiSlsDetector::getStreamingSocketsCreatedInClient() { int multiSlsDetector::enableDataStreamingFromReceiver(int enable){ if(enable >= 0){ - if(dataSocketsStarted != enable){ + /*if(dataSocketsStarted != enable){*/ //destroy data threads if(dataSocketsStarted) createReceivingDataSockets(true); @@ -5723,7 +5743,7 @@ int multiSlsDetector::enableDataStreamingFromReceiver(int enable){ return -1; } } - } + /*}*/ } diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 060c1bcfc..7535d1562 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -777,6 +777,7 @@ int slsDetector::initializeDetectorSize(detectorType type) { thisDetector->acquiringFlag = false; thisDetector->flippedData[0] = 0; thisDetector->flippedData[1] = 0; + thisDetector->zmqport = 0; for (int ia=0; iaactionScript[ia],"none"); @@ -5837,7 +5838,6 @@ int slsDetector::exitServer(){ string slsDetector::setNetworkParameter(networkParameter index, string value) { int i; - switch (index) { case DETECTOR_MAC: return setDetectorMAC(value); @@ -5855,19 +5855,22 @@ string slsDetector::setNetworkParameter(networkParameter index, string value) { return getReceiverUDPPort(); case RECEIVER_UDP_PORT2: sscanf(value.c_str(),"%d",&i); - if(thisDetector->myDetectorType == EIGER) + if(thisDetector->myDetectorType == EIGER) { setReceiverUDPPort2(i); - else - setReceiverUDPPort(i); - if(thisDetector->myDetectorType == EIGER) return getReceiverUDPPort2(); - return getReceiverUDPPort(); + } else { + setReceiverUDPPort(i); + return getReceiverUDPPort(); + } case DETECTOR_TXN_DELAY_LEFT: case DETECTOR_TXN_DELAY_RIGHT: case DETECTOR_TXN_DELAY_FRAME: case FLOW_CONTROL_10G: sscanf(value.c_str(),"%d",&i); return setDetectorNetworkParameter(index, i); + case RECEIVER_STREAMING_PORT: + setReceiverStreamingPort(value); + return getReceiverStreamingPort(); default: return (char*)("unknown network parameter"); } @@ -5877,34 +5880,29 @@ string slsDetector::setNetworkParameter(networkParameter index, string value) { string slsDetector::getNetworkParameter(networkParameter index) { - + ostringstream ss;string s; switch (index) { case DETECTOR_MAC: return getDetectorMAC(); - break; case DETECTOR_IP: return getDetectorIP(); - break; case RECEIVER_HOSTNAME: return getReceiver(); - break; case RECEIVER_UDP_IP: return getReceiverUDPIP(); - break; case RECEIVER_UDP_MAC: return getReceiverUDPMAC(); - break; case RECEIVER_UDP_PORT: return getReceiverUDPPort(); - break; case RECEIVER_UDP_PORT2: return getReceiverUDPPort2(); - break; case DETECTOR_TXN_DELAY_LEFT: case DETECTOR_TXN_DELAY_RIGHT: case DETECTOR_TXN_DELAY_FRAME: case FLOW_CONTROL_10G: return setDetectorNetworkParameter(index, -1); + case RECEIVER_STREAMING_PORT: + return getReceiverStreamingPort(); default: return (char*)("unknown network parameter"); } @@ -5984,6 +5982,7 @@ string slsDetector::setReceiver(string receiverIP){ std::cout << "file path:" << fileIO::getFilePath() << endl; std::cout << "file name:" << fileIO::getFileName() << endl; std::cout << "file index:" << fileIO::getFileIndex() << endl; + std::cout << "file format:" << fileIO::getFileFormat() << endl; pthread_mutex_lock(&ms); std::cout << "write enable:" << parentDet->enableWriteToFileMask() << endl; std::cout << "overwrite enable:" << parentDet->enableOverwriteMask() << endl; @@ -5992,7 +5991,10 @@ string slsDetector::setReceiver(string receiverIP){ std::cout << "frame period:" << thisDetector->timerValue[FRAME_PERIOD] << endl; std::cout << "frame number:" << thisDetector->timerValue[FRAME_NUMBER] << endl; std::cout << "dynamic range:" << thisDetector->dynamicRange << endl << endl; + std::cout << "flippeddatax:" << thisDetector->flippedData[d] << endl; std::cout << "10GbE:" << thisDetector->tenGigaEnable << endl << endl; + std::cout << "streaming port:" << thisDetector->zmqport << endl; + //std::cout << "dataStreaming:" << enableDataStreamingFromReceiver(-1) << endl << endl; /** enable compresison, */ #endif @@ -6034,6 +6036,7 @@ string slsDetector::setReceiver(string receiverIP){ enableTenGigabitEthernet(thisDetector->tenGigaEnable); // data streaming + setReceiverStreamingPort(getReceiverStreamingPort()); int clientSockets = parentDet->getStreamingSocketsCreatedInClient(); int recSockets = enableDataStreamingFromReceiver(-1); if(clientSockets != recSockets) { @@ -6144,6 +6147,42 @@ int slsDetector::setReceiverUDPPort2(int udpport){ } +int slsDetector::setReceiverStreamingPort(string port) { + int defaultport = 0; + int numsockets = (thisDetector->myDetectorType == EIGER) ? 2:1; + int arg = 0; + + //multi command, calculate individual ports + size_t found = port.find("multi"); + if(found != string::npos) { + port.erase(found,5); + sscanf(port.c_str(),"%d",&defaultport); + arg = defaultport + (posId * numsockets); + } + else + sscanf(port.c_str(),"%d",&arg); + + // send to receiver + int fnum=F_SET_RECEIVER_STREAMING_PORT; + int ret = FAIL; + int retval=-1; + if(thisDetector->receiverOnlineFlag==ONLINE_FLAG){ +#ifdef VERBOSE + std::cout << "Sending receiver streaming port to receiver " << arg << std::endl; +#endif + if (connectData() == OK){ + ret=thisReceiver->sendInt(fnum,retval,arg); + disconnectData(); + } + if(ret!=FAIL) + thisDetector->zmqport = retval; + if(ret==FORCE_UPDATE) + updateReceiver(); + } + + return thisDetector->zmqport; +} + string slsDetector::setDetectorNetworkParameter(networkParameter index, int delay){ int fnum = F_SET_NETWORK_PARAMETER; int ret = FAIL; @@ -8156,6 +8195,9 @@ int slsDetector::updateReceiverNoWait() { parentDet->enableOverwriteMask(ind); pthread_mutex_unlock(&ms); + // streaming port + n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind)); + thisDetector->zmqport = ind; if (!n) printf("n: %d\n", n); diff --git a/slsDetectorSoftware/slsDetector/slsDetector.h b/slsDetectorSoftware/slsDetector/slsDetector.h index 1d91163ff..bcb8f6d0a 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.h +++ b/slsDetectorSoftware/slsDetector/slsDetector.h @@ -269,7 +269,8 @@ class slsDetector : public slsDetectorUtils, public energyConversion { bool acquiringFlag; /** flipped data across x or y axis */ int flippedData[2]; - + /** tcp port between receiver and gui (only data) */ + int zmqport; } sharedSlsDetector; @@ -1720,6 +1721,8 @@ class slsDetector : public slsDetectorUtils, public energyConversion { string getReceiverUDPPort() {ostringstream ss; ss << thisDetector->receiverUDPPort; string s = ss.str(); return s;}; /** returns the receiver UDP2 for Eiger IP address \sa sharedSlsDetector */ string getReceiverUDPPort2() {ostringstream ss; ss << thisDetector->receiverUDPPort2; string s = ss.str(); return s;}; + /** returns the zmq port \sa sharedSlsDetector */ + string getReceiverStreamingPort() {ostringstream ss; ss << thisDetector->zmqport; string s = ss.str(); return s;}; /** validates the format of detector MAC address and sets it \sa sharedSlsDetector */ string setDetectorMAC(string detectorMAC); @@ -1735,6 +1738,8 @@ class slsDetector : public slsDetectorUtils, public energyConversion { int setReceiverUDPPort(int udpport); /** sets the receiver udp port2 for Eiger \sa sharedSlsDetector */ int setReceiverUDPPort2(int udpport); + /** sets the zmq port in client and receiver (includes "multi" at the end if it should calculate individual ports \sa sharedSlsDetector */ + int setReceiverStreamingPort(string port); /** sets the transmission delay for left or right port or for an entire frame*/ string setDetectorNetworkParameter(networkParameter index, int delay); diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 11b1c6a2d..485b11ae8 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -386,6 +386,11 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) { descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdNetworkParameter; i++; + descrToFuncMap[i].m_pFuncName="zmqport"; // + descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdNetworkParameter; + i++; + + descrToFuncMap[i].m_pFuncName="configuremac"; // descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdConfigureMac; i++; @@ -2936,6 +2941,12 @@ string slsDetectorCommand::cmdNetworkParameter(int narg, char *args[], int actio if (!(sscanf(args[1],"%d",&i))) return ("cannot parse argument") + string(args[1]); } + }else if (cmd=="zmqport") { + t=RECEIVER_STREAMING_PORT; + if (action==PUT_ACTION){ + if (!(sscanf(args[1],"%d",&i))) + return ("cannot parse argument") + string(args[1]); + } }else return ("unknown network parameter")+cmd; if (action==PUT_ACTION) @@ -2961,6 +2972,7 @@ string slsDetectorCommand::helpNetworkParameter(int narg, char *args[], int acti os << "txndelay_right port \n sets detector transmission delay of the right port"<< std::endl; os << "txndelay_frame port \n sets detector transmission delay of the entire frame"<< std::endl; os << "flowcontrol_10g port \n sets flow control for 10g for eiger"<< std::endl; + os << "zmqport port \n sets zmq port (data from receiver to client); setting via multidetector command calculates port for individual detectors"<< std::endl; } if (action==GET_ACTION || action==HELP_ACTION) { os << "detectormac \n gets detector mac "<< std::endl; @@ -2973,6 +2985,7 @@ string slsDetectorCommand::helpNetworkParameter(int narg, char *args[], int acti os << "txndelay_right \n gets detector transmission delay of the right port"<< std::endl; os << "txndelay_frame \n gets detector transmission delay of the entire frame"<< std::endl; os << "flowcontrol_10g \n gets flow control for 10g for eiger"<< std::endl; + os << "zmqport \n gets zmq port (data from receiver to client)"<< std::endl; } return os.str(); From 04165a9da8ffb194f3c94e55d0ab1dc1f9572f2e Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 13 Jul 2017 14:44:34 +0200 Subject: [PATCH 24/41] rest implementation, index issues --- slsDetectorSoftware/gitInfo.txt | 8 ++++---- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index ae6bbd4ea..8a39b436d 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 5719fa8e7143d444cc9ca6ba81444541b179e317 -Revision: 1440 +Repsitory UUID: 5380c93aa2acce275be11dd519cb49ad2a5a15d5 +Revision: 1442 Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1445 -Last Changed Date: 2017-07-11 11:09:53.000000002 +0200 ./slsDetectorAnalysis/postProcessing.o +Last Changed Rev: 1447 +Last Changed Date: 2017-07-13 14:40:24.000000002 +0200 ./threadFiles/ThreadPool.o diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 5f891d220..427585eb6 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "5719fa8e7143d444cc9ca6ba81444541b179e317" -//#define SVNREV 0x1445 +#define SVNREPUUIDLIB "5380c93aa2acce275be11dd519cb49ad2a5a15d5" +//#define SVNREV 0x1447 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1445 -#define SVNDATELIB 0x20170711 +#define SVNREVLIB 0x1447 +#define SVNDATELIB 0x20170713 // From 9d8faae3754532636a35d7ac6e7d4bb34a36eb53 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 25 Jul 2017 13:55:27 +0200 Subject: [PATCH 25/41] fixed front end board temp --- slsDetectorSoftware/eigerDetectorServer/Beb.c | 2 +- .../eigerDetectorServer/FebControl.c | 5 +++++ ....0.16.3 => eigerDetectorServerv3.0.0.16.4} | Bin 285766 -> 288566 bytes .../eigerDetectorServer/gitInfo.txt | 10 +++++----- .../eigerDetectorServer/gitInfoEiger.h | 8 ++++---- .../slsDetectorFunctionList.c | 2 +- slsDetectorSoftware/gitInfo.txt | 10 +++++----- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- 8 files changed, 25 insertions(+), 20 deletions(-) rename slsDetectorSoftware/eigerDetectorServer/bin/{eigerDetectorServerv3.0.0.16.3 => eigerDetectorServerv3.0.0.16.4} (57%) diff --git a/slsDetectorSoftware/eigerDetectorServer/Beb.c b/slsDetectorSoftware/eigerDetectorServer/Beb.c index 417cf4b5a..2f2bb8fbd 100644 --- a/slsDetectorSoftware/eigerDetectorServer/Beb.c +++ b/slsDetectorSoftware/eigerDetectorServer/Beb.c @@ -1115,7 +1115,7 @@ int Beb_GetBebFPGATemp() }else{ //read data ret = Beb_Read32(csp0base, FPGA_TEMP_OFFSET); - temperature = ((((float)(ret)/65536.0f)/0.00198421639f ) - 273.15f); // Static conversation, copied from xps sysmon standalone driver + temperature = ((((float)(ret)/65536.0f)/0.00198421639f ) - 273.15f)*1000; // Static conversation, copied from xps sysmon standalone driver //close file pointer Beb_close(fd,csp0base); } diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index 77e4dd60c..ce68ef7ce 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -1893,6 +1893,9 @@ int Feb_Control_PrintCorrectedValues(){ } +//So if software says now 40.00 you neeed to convert to mdegrees 40000(call it A1) and then +//A1/65536/0.00198421639-273.15 + int Feb_Control_GetLeftFPGATemp(){ unsigned int temperature=0; if(Module_TopAddressIsValid(&modules[1])) @@ -1900,6 +1903,7 @@ int Feb_Control_GetLeftFPGATemp(){ else Feb_Interface_ReadRegister(Module_GetBottomLeftAddress (&modules[1]),FEB_REG_STATUS, &temperature); temperature = temperature >> 16; + temperature = ((((float)(temperature)/65536.0f)/0.00198421639f ) - 273.15f)*1000; // Static conversation, copied from xps sysmon standalone driver //division done in client to send int over network return (int)temperature; } @@ -1911,6 +1915,7 @@ int Feb_Control_GetRightFPGATemp(){ else Feb_Interface_ReadRegister(Module_GetBottomRightAddress (&modules[1]),FEB_REG_STATUS, &temperature); temperature = temperature >> 16; + temperature = ((((float)(temperature)/65536.0f)/0.00198421639f ) - 273.15f)*1000; // Static conversation, copied from xps sysmon standalone driver //division done in client to send int over network return (int)temperature; } diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.3 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.4 similarity index 57% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.3 rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.4 index 3ef6a6fb383b39952e3b2717e7c8746879f507e1..420f70f0635972c70c9becbec95c0fe878117642 100755 GIT binary patch delta 51609 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 z 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 literal 0 HcmV?d00001 diff --git a/slsDetectorSoftware/gotthardDetectorServer/registers_g.h b/slsDetectorSoftware/gotthardDetectorServer/registers_g.h index fd737626a..f22222dbe 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/registers_g.h +++ b/slsDetectorSoftware/gotthardDetectorServer/registers_g.h @@ -274,14 +274,22 @@ #define WRITE_BACK_OFFSET 6 #define RESET_BIT 0x00000080 #define RESET_OFFSET 7 +#define PLL_CLK_SEL_MSK 0x00000700 +#define PLL_CLK_SEL_OFFSET 8 +#define PLL_CLK_SEL_MASTER_VAL ((0x1 << PLL_CLK_SEL_OFFSET) & PLL_CLK_SEL_MSK) +#define PLL_CLK_SEL_MASTER_ADC_VAL ((0x2 << PLL_CLK_SEL_OFFSET) & PLL_CLK_SEL_MSK) +#define PLL_CLK_SEL_SLAVE_VAL ((0x3 << PLL_CLK_SEL_OFFSET) & PLL_CLK_SEL_MSK) +#define PLL_CLK_SEL_SLAVE_ADC_VAL ((0x4 << PLL_CLK_SEL_OFFSET) & PLL_CLK_SEL_MSK) #define ENET_RESETN_BIT 0x00000800 #define ENET_RESETN_OFFSET 11 -#define INT_RSTN_BIT 0x00002000 -#define INT_RSTN_OFFSET 13 +#define INT_RSTN_BIT 0x00001000 +#define INT_RSTN_OFFSET 12 #define DIGITAL_TEST_BIT 0x00004000 #define DIGITAL_TEST_OFFSET 14 //#define CHANGE_AT_POWER_ON_BIT 0x00008000 //#define CHANGE_AT_POWER_ON_OFFSET 15 +#define RST_TO_SW1_DELAY_MSK 0x000F0000 +#define RST_TO_SW1_DELAY_OFFSET 16 /* settings/conf gain register */ diff --git a/slsDetectorSoftware/gotthardDetectorServer/server_defs.h b/slsDetectorSoftware/gotthardDetectorServer/server_defs.h index 05ed31b4a..794e76546 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/server_defs.h +++ b/slsDetectorSoftware/gotthardDetectorServer/server_defs.h @@ -24,6 +24,10 @@ #define NCHIPS_PER_ADC 2 +// for 25 um +#define CONFIG_FILE "config.txt" + + //#define TRIM_DR ((2**NTRIMBITS)-1) //#define COUNT_DR ((2**NCOUNTBITS)-1) #define TRIM_DR (((int)pow(2,NTRIMBITS))-1) diff --git a/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c index 76f7c974a..844b2d86f 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c @@ -99,6 +99,7 @@ int init_detector( int b) { setMaster(GET_MASTER); setSynchronization(GET_SYNCHRONIZATION_MODE); startReceiver(0); + setMasterSlaveConfiguration(); } strcpy(mess,"dummy message"); strcpy(lastClientIP,"none"); From 039092f2920fb3bf241b3b3ae04af8b363959206 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 4 Aug 2017 11:21:32 +0200 Subject: [PATCH 31/41] bug fix: changes for the multipurpose reg in configuremac --- .../gotthardDetectorServer/firmware_funcs.c | 51 ++++++++++-------- .../gotthardDetectorServer/gitInfo.txt | 10 ++-- .../gotthardDetectorServer/gitInfoGotthard.h | 8 +-- .../gotthardDetectorServerv3.0.0.2 | Bin 131464 -> 0 bytes .../gotthardDetectorServerv3.0.0.3 | Bin 0 -> 131592 bytes 5 files changed, 37 insertions(+), 32 deletions(-) delete mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.2 create mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.3 diff --git a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c index 2ea5b2400..b472f4843 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c @@ -1430,7 +1430,7 @@ int configureMAC(int ipad,long long int macad,long long int detectormacad, int d tse_conf *tse_conf_regs; long int sum = 0; long int checksum; - int count,val; + int count; unsigned short *addr; mac_conf_regs=(mac_conf*)(CSP0BASE+offset*2); @@ -1440,35 +1440,40 @@ int configureMAC(int ipad,long long int macad,long long int detectormacad, int d printf("***Configuring MAC*** \n"); #endif + if(ival) - bus_w(addrr,(RESET_BIT|DIGITAL_TEST_BIT)); //0x080,reset mac (reset) + bus_w(addrr, bus_r(addrr) | (RESET_BIT|DIGITAL_TEST_BIT)); //0x080,reset mac (reset) else - bus_w(addrr,RESET_BIT); //0x080,reset mac (reset) - val=bus_r(addrr); + bus_w(addrr, bus_r(addrr) | RESET_BIT); //0x080,reset mac (reset) + #ifdef VERBOSE - printf("Value read from Multi-purpose Reg:%x\n",val); + printf("Value read from Multi-purpose Reg:%x\n",bus_r(addrr)); #endif // if(val!=0x080) return -1; usleep(500000); + + bus_w(addrr, bus_r(addrr) &(~ RESET_BIT));/* release reset */ if(ival) - bus_w(addrr,(ENET_RESETN_BIT|WRITE_BACK_BIT|DIGITAL_TEST_BIT)); //0x840,write shadow regs(enet reset,write bak) + bus_w(addrr, bus_r(addrr) | (ENET_RESETN_BIT|WRITE_BACK_BIT|DIGITAL_TEST_BIT)); //0x840,write shadow regs(enet reset,write bak) else - bus_w(addrr,(ENET_RESETN_BIT|WRITE_BACK_BIT)); //0x840,write shadow regs(enet reset,write bak) - val=bus_r(addrr); + bus_w(addrr, bus_r(addrr) | (ENET_RESETN_BIT|WRITE_BACK_BIT)); //0x840,write shadow regs(enet reset,write bak) + #ifdef VERBOSE - printf("Value read from Multi-purpose Reg:%x\n",val); + printf("Value read from Multi-purpose Reg:%x\n",bus_r(addrr)); #endif // if(val!=0x840) return -1; + bus_w(addrr, bus_r(addrr) &(~WRITE_BACK_BIT));/* release write_back */ + if(ival) - bus_w(addrr,(ENET_RESETN_BIT|DIGITAL_TEST_BIT)); //0x800,nreset phy(enet reset) + bus_w(addrr, bus_r(addrr) | (ENET_RESETN_BIT|DIGITAL_TEST_BIT)); //0x800,nreset phy(enet reset) else - bus_w(addrr,ENET_RESETN_BIT); //0x800,nreset phy(enet reset) - val=bus_r(addrr); + bus_w(addrr, bus_r(addrr) | ENET_RESETN_BIT); //0x800,nreset phy(enet reset) + #ifdef VERBOSE - printf("Value read from Multi-purpose Reg:%x\n",val); + printf("Value read from Multi-purpose Reg:%x\n",bus_r(addrr)); #endif // if(val!=0x800) return -1; @@ -1573,26 +1578,26 @@ int configureMAC(int ipad,long long int macad,long long int detectormacad, int d if(ival) - bus_w(addrr,(INT_RSTN_BIT|ENET_RESETN_BIT|WRITE_BACK_BIT|DIGITAL_TEST_BIT)); //0x2840,write shadow regs.. + bus_w(addrr, bus_r(addrr) | (INT_RSTN_BIT|ENET_RESETN_BIT|WRITE_BACK_BIT|DIGITAL_TEST_BIT)); //0x2840,write shadow regs.. else - bus_w(addrr,(INT_RSTN_BIT|ENET_RESETN_BIT|WRITE_BACK_BIT)); //0x2840,write shadow regs.. + bus_w(addrr, bus_r(addrr) | (INT_RSTN_BIT|ENET_RESETN_BIT|WRITE_BACK_BIT)); //0x2840,write shadow regs.. - val=bus_r(addrr); #ifdef VERBOSE - printf("Value read from Multi-purpose Reg:%x\n",val); + printf("Value read from Multi-purpose Reg:%x\n",bus_r(addrr)); #endif // if(val!=0x2840) return -1; usleep(100000); - if(ival) - bus_w(addrr,(INT_RSTN_BIT|ENET_RESETN_BIT|SW1_BIT|DIGITAL_TEST_BIT)); //0x2820,write shadow regs.. - else - bus_w(addrr,(INT_RSTN_BIT|ENET_RESETN_BIT|SW1_BIT)); //0x2820,write shadow regs.. + bus_w(addrr, bus_r(addrr) &(~WRITE_BACK_BIT)); + + if(ival) + bus_w(addrr, bus_r(addrr) | (INT_RSTN_BIT|ENET_RESETN_BIT|SW1_BIT|DIGITAL_TEST_BIT)); //0x2820,write shadow regs.. + else + bus_w(addrr, bus_r(addrr) | (INT_RSTN_BIT|ENET_RESETN_BIT|SW1_BIT)); //0x2820,write shadow regs.. - val=bus_r(addrr); #ifdef VERBOSE - printf("Value read from Multi-purpose Reg:%x\n",val); + printf("Value read from Multi-purpose Reg:%x\n",bus_r(addrr)); #endif // if(val!=0x2820) return -1; diff --git a/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt b/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt index 997f5d033..0b0fd3c25 100644 --- a/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/gotthardDetectorServer URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: dc7806552a0a896870c4dd94dd47931c39180de7 -Revision: 205 -Branch: gotthard25um +Repsitory UUID: a0ae3985068425e7142df8271eac6ce09a238dc9 +Revision: 206 +Branch: developer Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1453 -Last Changed Date: 2017-08-03 10:03:31.000000002 +0200 ./firmware_funcs.c +Last Changed Rev: 1454 +Last Changed Date: 2017-08-04 09:28:44.000000002 +0200 ./firmware_funcs.c diff --git a/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h b/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h index 30b193e5e..b1430c924 100644 --- a/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h +++ b/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUID "dc7806552a0a896870c4dd94dd47931c39180de7" -//#define SVNREV 0x1453 +#define SVNREPUUID "a0ae3985068425e7142df8271eac6ce09a238dc9" +//#define SVNREV 0x1454 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTH "Dhanya_Maliakal" -#define SVNREV 0x1453 -#define SVNDATE 0x20170803 +#define SVNREV 0x1454 +#define SVNDATE 0x20170804 // diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.2 b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.2 deleted file mode 100755 index dfd43e0e0615e87bce05ea56573b4633c443bdef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131464 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 z 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 diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.3 b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.3 new file mode 100755 index 0000000000000000000000000000000000000000..8872f4574ad0fb23ce2bb414740903caf6fed6dc GIT binary patch literal 131592 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 delta 50848 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 w^DMmcZRT9#w(HkkbMqbRZl6A Date: Wed, 26 Jul 2017 11:35:56 +0200 Subject: [PATCH 26/41] nothing really --- slsDetectorSoftware/gitInfo.txt | 8 ++++---- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 3b3817f4e..95295a80f 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: d3b24894af8a588e6945240c3b80c2b7024608c4 -Revision: 1443 +Repsitory UUID: a80690be016d1f51db5e50c3db27b998af9ba6c8 +Revision: 1444 Branch: 3.0-rc Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1448 -Last Changed Date: 2017-07-25 12:31:20.000000002 +0200 ./threadFiles/ThreadPool.o +Last Changed Rev: 1449 +Last Changed Date: 2017-07-26 10:50:52.000000002 +0200 ./threadFiles/ThreadPool.o diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 362094f88..c380f6750 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "d3b24894af8a588e6945240c3b80c2b7024608c4" -//#define SVNREV 0x1448 +#define SVNREPUUIDLIB "a80690be016d1f51db5e50c3db27b998af9ba6c8" +//#define SVNREV 0x1449 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1448 -#define SVNDATELIB 0x20170725 +#define SVNREVLIB 0x1449 +#define SVNDATELIB 0x20170726 // From c7d4582efa275f77c7203ad81f79d30f6f0e067f Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 27 Jul 2017 12:08:28 +0200 Subject: [PATCH 27/41] versioning --- slsDetectorSoftware/gitInfo.txt | 10 +++++----- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index 95295a80f..b954ebb83 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: a80690be016d1f51db5e50c3db27b998af9ba6c8 -Revision: 1444 -Branch: 3.0-rc +Repsitory UUID: 2874d09e1ddd257e87cbcf7f4d8bb6e7ef69d99f +Revision: 1445 +Branch: cmakefix Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1449 -Last Changed Date: 2017-07-26 10:50:52.000000002 +0200 ./threadFiles/ThreadPool.o +Last Changed Rev: 1450 +Last Changed Date: 2017-07-27 11:01:49.000000002 +0200 ./threadFiles/ThreadPool.o diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index c380f6750..1542fb654 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "a80690be016d1f51db5e50c3db27b998af9ba6c8" -//#define SVNREV 0x1449 +#define SVNREPUUIDLIB "2874d09e1ddd257e87cbcf7f4d8bb6e7ef69d99f" +//#define SVNREV 0x1450 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1449 -#define SVNDATELIB 0x20170726 +#define SVNREVLIB 0x1450 +#define SVNDATELIB 0x20170727 // From eb4da5ff0ce7e0de280afb1f26832e8394736c1c Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 28 Jul 2017 10:19:33 +0200 Subject: [PATCH 28/41] removed print of elapsed time --- slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp index c47b43980..9ef26ff3e 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp @@ -509,8 +509,9 @@ int slsDetectorUtils::acquire(int delflag){ sem_destroy(&sem_newRTAcquisition); clock_gettime(CLOCK_REALTIME, &end); +#ifdef VERBOSE cout << "Elapsed time for acquisition:" << (( end.tv_sec - begin.tv_sec ) + ( end.tv_nsec - begin.tv_nsec ) / 1000000000.0) << " seconds" << endl; - +#endif return OK; } From 37dd32f1b02659711e7c97bdb82ad61bcb603497 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 28 Jul 2017 11:30:21 +0200 Subject: [PATCH 29/41] version --- slsDetectorSoftware/gitInfo.txt | 10 +++++----- slsDetectorSoftware/slsDetector/gitInfoLib.h | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index b954ebb83..30313225e 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git -Repsitory UUID: 2874d09e1ddd257e87cbcf7f4d8bb6e7ef69d99f -Revision: 1445 -Branch: cmakefix +Repsitory UUID: cf21b6d9cf4da3c251942505fee950639971aaa1 +Revision: 1447 +Branch: 3.0-rc Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 1450 -Last Changed Date: 2017-07-27 11:01:49.000000002 +0200 ./threadFiles/ThreadPool.o +Last Changed Rev: 1452 +Last Changed Date: 2017-07-28 10:59:15.000000002 +0200 ./slsDetector/slsDetectorUtils.o diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 1542fb654..e8bf34dcf 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" //#define SVNREPPATH "" -#define SVNREPUUIDLIB "2874d09e1ddd257e87cbcf7f4d8bb6e7ef69d99f" -//#define SVNREV 0x1450 +#define SVNREPUUIDLIB "cf21b6d9cf4da3c251942505fee950639971aaa1" +//#define SVNREV 0x1452 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTHLIB "Dhanya_Maliakal" -#define SVNREVLIB 0x1450 -#define SVNDATELIB 0x20170727 +#define SVNREVLIB 0x1452 +#define SVNDATELIB 0x20170728 // From fbee70818a7caacb0526c7785af06a413cfd8201 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 3 Aug 2017 14:16:18 +0200 Subject: [PATCH 30/41] 25 um server using a config.txt file --- .../gotthardDetectorServer/config.txt | 20 ++ .../gotthardDetectorServer/firmware_funcs.c | 175 +++++++++++++++++- .../gotthardDetectorServer/firmware_funcs.h | 2 + .../gotthardDetectorServer/gitInfo.txt | 10 +- .../gotthardDetectorServer/gitInfoGotthard.h | 8 +- .../gotthardDetectorServerv3.0.0.1 | Bin 129036 -> 0 bytes .../gotthardDetectorServerv3.0.0.2 | Bin 0 -> 131464 bytes .../gotthardDetectorServer/registers_g.h | 12 +- .../gotthardDetectorServer/server_defs.h | 4 + .../gotthardDetectorServer/server_funcs.c | 1 + 10 files changed, 220 insertions(+), 12 deletions(-) create mode 100644 slsDetectorSoftware/gotthardDetectorServer/config.txt delete mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.1 create mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.2 diff --git a/slsDetectorSoftware/gotthardDetectorServer/config.txt b/slsDetectorSoftware/gotthardDetectorServer/config.txt new file mode 100644 index 000000000..a3e58af5b --- /dev/null +++ b/slsDetectorSoftware/gotthardDetectorServer/config.txt @@ -0,0 +1,20 @@ +#masterflags (no_master, is_master, is_slave) +masterflags no_master + +#master default delay +masterdefaultdelay 70 + +#patternphase +patternphase 0 + +#adcphase +adcphase 0 + +#slave pattern phase +slavepatternphase 0 + +#slave adc phase +slaveadcphase 0 + +#rst to sw1 delay +rsttosw1delay 2 \ No newline at end of file diff --git a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c index 5c69d2463..2ea5b2400 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c @@ -55,6 +55,16 @@ int masterMode=NO_MASTER, syncMode=NO_SYNCHRONIZATION, timingMode=AUTO_TIMING; enum externalSignalFlag signals[4]={EXT_SIG_OFF, EXT_SIG_OFF, EXT_SIG_OFF, EXT_SIG_OFF}; +//for the 25um detectors +int masterflags = NO_MASTER; +int masterdefaultdelay = 62; +int patternphase = 0; +int adcphase = 0; +int slavepatternphase = 0; +int slaveadcphase = 0; +int rsttosw1delay = 2; + + #ifdef MCB_FUNCS extern const int nChans; extern const int nChips; @@ -230,6 +240,134 @@ u_int32_t bus_r(u_int32_t offset) { } + +void setMasterSlaveConfiguration(){ + +/* + int masterflags = NO_MASTER; + int masterdefaultdelay = 62; + int patternphase = 0; + int adcphase = 0; + int slavepatternphase = 0; + int slaveadcphase = 0; + int sw1torstdelay = 2; +*/ +// global master default delay picked from config file + FILE* fd=fopen(CONFIG_FILE,"r"); + if(fd==NULL){ + cprintf(RED,"\nWarning: Could not open file\n"); + return; + } + cprintf(BLUE,"config file %s opened\n", CONFIG_FILE); + + char key[256]; + char value[256]; + char line[256]; + int ival=0; + u_int32_t val=0; + + while (fgets(line, sizeof(line), fd)) { + if(line[0] == '#') + continue; + sscanf(line, "%s %s\n", key, value); + if (!strcasecmp(key,"masterflags")) { + if (!strcasecmp(value,"is_master")) { + masterflags = IS_MASTER; + } + else if (!strcasecmp(value,"is_slave")) { + masterflags = IS_SLAVE; + } + else if (!strcasecmp(value,"no_master")){ + masterflags = NO_MASTER; + } + else { + cprintf(RED,"could not scan masterflags %s value from config file\n",value); + exit(EXIT_FAILURE); + } + } + else { + if(sscanf(value,"%d",&ival)<=0) { + cprintf(RED,"could not scan patternphase %s value from config file\n",value); + exit(EXIT_FAILURE); + } + + if (!strcasecmp(key,"masterdefaultdelay")) + masterdefaultdelay = ival; + else if (!strcasecmp(key,"patternphase")) + patternphase = ival; + else if (!strcasecmp(key,"adcphase")) + adcphase = ival; + else if (!strcasecmp(key,"slavepatternphase")) + slavepatternphase = ival; + else if (!strcasecmp(key,"slaveadcphase")) + slaveadcphase = ival; + else if (!strcasecmp(key,"rsttosw1delay")) + rsttosw1delay = ival; + else { + cprintf(RED,"could not scan parameter name %s from config file\n",key); + exit(EXIT_FAILURE); + } + } + + } + cprintf(BLUE, "masterflags: %d\n" + "masterdefaultdelay:%d\n" + "patternphase:%d\n" + "adcphase:%d\n" + "slavepatternphase:%d\n" + "slaveadcphase:%d\n" + "rsttosw1delay:%d\n", + masterflags, + masterdefaultdelay, + patternphase, + adcphase, + slavepatternphase, + slaveadcphase, + rsttosw1delay); + + + + if (masterflags == IS_MASTER) { + // set delay + setDelay(0); + + /* Set pattern phase for the master module */ + val=bus_r(MULTI_PURPOSE_REG); + val = (val & (~(PLL_CLK_SEL_MSK))) | PLL_CLK_SEL_MASTER_VAL; + bus_w(MULTI_PURPOSE_REG,val); + setPhaseShift(patternphase); + /* Set adc phase for the master module */ + val=bus_r(MULTI_PURPOSE_REG); + val = (val & (~(PLL_CLK_SEL_MSK))) | PLL_CLK_SEL_MASTER_ADC_VAL; + bus_w(MULTI_PURPOSE_REG,val); + setPhaseShift(adcphase); + /* Set pattern phase for the slave module */ + val=bus_r(MULTI_PURPOSE_REG); + val = (val & (~(PLL_CLK_SEL_MSK))) | PLL_CLK_SEL_SLAVE_VAL; + bus_w(MULTI_PURPOSE_REG,val); + setPhaseShift(slavepatternphase); + /* Set adc phase for the slave module */ + val=bus_r(MULTI_PURPOSE_REG); + val = (val & (~(PLL_CLK_SEL_MSK))) | PLL_CLK_SEL_SLAVE_ADC_VAL; + bus_w(MULTI_PURPOSE_REG,val); + setPhaseShift(slaveadcphase); + } + + + + if (masterflags == IS_MASTER || masterflags == IS_SLAVE) { + val=bus_r(MULTI_PURPOSE_REG); +//#ifdef VERBOSE + printf("Value of multipurpose reg:%d\n",bus_r(MULTI_PURPOSE_REG)); +//#endif + val = (val & (~(RST_TO_SW1_DELAY_MSK))) | ((rsttosw1delay << RST_TO_SW1_DELAY_OFFSET) & (RST_TO_SW1_DELAY_MSK)); + bus_w(MULTI_PURPOSE_REG,val); + } + + fclose(fd); +} + + int setPhaseShiftOnce(){ u_int32_t addr, reg; int i; @@ -258,6 +396,31 @@ int setPhaseShiftOnce(){ } +int setPhaseShift(int numphaseshift){ + u_int32_t addr, reg; + int i; + addr=MULTI_PURPOSE_REG; + reg=bus_r(addr); +#ifdef VERBOSE + printf("Multipurpose reg:%x\n",reg); +#endif + + printf("\nImplementing phase shift of %d\n",numphaseshift); + for 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