From 5012ea0c6cc16dc6b28c51057cc1e6d24369a196 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 24 Nov 2015 13:50:42 +0100 Subject: [PATCH 01/43] unnecessary lock in acquire --- slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp | 2 +- slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 411d87de9..c438c64ab 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -1247,7 +1247,7 @@ string slsDetectorCommand::cmdStatus(int narg, char *args[], int action) { return string("unknown action"); } else if (action==HELP_ACTION) { return helpStatus(narg,args,HELP_ACTION); - } + } runStatus s=myDet->getRunStatus(); return myDet->runStatusType(s); diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp index 3b546efb1..a4223a6d0 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp @@ -44,14 +44,12 @@ slsDetectorUtils::slsDetectorUtils() { int slsDetectorUtils::acquire(int delflag){ //ensure acquire isnt started multiple times by same client - pthread_mutex_lock(&mp); if(getAcquiringFlag() == false) setAcquiringFlag(true); else{ std::cout << "Error: Acquire has already been started." << std::endl; return FAIL; } - pthread_mutex_unlock(&mp); bool receiver = (setReceiverOnline()==ONLINE_FLAG); From ac53cb2ae4c1dcf3fa8c377fe705bd6cac2705a2 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 24 Nov 2015 15:25:42 +0100 Subject: [PATCH 02/43] resetting the acquiringflag whenever acquisition stop is called --- slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 580b0c359..446b5e936 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -1255,6 +1255,7 @@ int multiSlsDetector::stopAcquisition(){ } } *stoppedFlag=1; + setAcquiringFlag(false); return ret1; From 0958a4544e78b48b9f3a1f18d39fef91f1fe6682 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 27 Nov 2015 15:56:29 +0100 Subject: [PATCH 03/43] jungfrau works --- .../gotthardDetectorServer/mcb_funcs.c | 4 +- .../jungfrauDetectorServer/Makefile | 9 ++- .../jungfrauDetectorServer/firmware_funcs.c | 57 ++++++++++-------- .../jungfrauDetectorServer/server_funcs.c | 60 ++++++++++++++++++- .../multiSlsDetector/multiSlsDetector.cpp | 1 - .../slsDetector/slsDetector.cpp | 40 +++++++++++-- .../slsDetector/slsDetectorUtils.cpp | 4 +- 7 files changed, 137 insertions(+), 38 deletions(-) diff --git a/slsDetectorSoftware/gotthardDetectorServer/mcb_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/mcb_funcs.c index 577b740a1..4670e4968 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/mcb_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/mcb_funcs.c @@ -725,9 +725,9 @@ int setSettings(int i, int imod) { } } thisSettings=isett; -#ifdef VERBOSE +//#ifdef VERBOSE printf("detector settings are %d\n",thisSettings); -#endif +//#endif return thisSettings; } diff --git a/slsDetectorSoftware/jungfrauDetectorServer/Makefile b/slsDetectorSoftware/jungfrauDetectorServer/Makefile index 6333c7b88..1a5b41550 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/Makefile +++ b/slsDetectorSoftware/jungfrauDetectorServer/Makefile @@ -6,10 +6,10 @@ CROSS = bfin-uclinux- CC = $(CROSS)gcc -CFLAGS += -Wall -DMOENCHD -DMCB_FUNCS -DDACS_INT -DDEBUG -DV1#-DVERBOSE #-DVERYVERBOSE #-DVIRTUAL #-DDACS_INT_CSERVER +CFLAGS += -Wall -DMOENCHD -DMCB_FUNCS -DDACS_INT -DDEBUG -DV1 -DJUNGFRAU_DHANYA #-DVERBOSE #-DVERYVERBOSE #-DVIRTUAL #-DDACS_INT_CSERVER -PROGS= jungfrauDetectorServer +PROGS= jungfrauDetectorServerTest INSTDIR= /tftpboot INSTMODE= 0777 @@ -27,6 +27,11 @@ test: clean jungfrauADCTEst boot: $(OBJS) +jungfrauDetectorServerTest: $(OBJS) + echo $(OBJS) + $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) + + jungfrauDetectorServer: $(OBJS) echo $(OBJS) $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS_$@) $(LDFLAGS_$@) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c index c2fcde194..eff5027c6 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c @@ -1211,7 +1211,7 @@ int64_t setFrames(int64_t value){ } int64_t getFrames(){ - printf("gf"); + /*printf("gf");*/ return get64BitReg(GET_FRAMES_LSB_REG, GET_FRAMES_MSB_REG); } @@ -1671,7 +1671,8 @@ int configureMAC(uint32_t destip,uint64_t destmac,uint64_t sourcemac,int source //int configureMAC(int ipad,long long int macad,long long int detectormacad, int detipad, int ival, int udpport){ uint32_t sourceport = 0x7e9a; // 0xE185; - //setheader(0xF452142F3200,0x00ad29ae39fd,0x0a000264,0x0A00020d ,0x8436, 0x7e9a); + + //setheader(0xF452142F3200,0x00ad29ae39fd,0x0a000264,0x0A00020d ,0x8436, 0x7e9a); /* void setheader(uint64_t destmac, uint64_t sourcemac, uint32_t destip, uint32_t sourceip, uint32_t destport, */ /* uint32_t sourceport){ */ @@ -1717,7 +1718,11 @@ ip.ip_destip = destip; bus_w(RX_UDPMACL_AREG,(destmac)&0xFFFFFFFF);//rx_udpmacL_AReg_c bus_w(DETECTORMACH_AREG,(sourcemac>>32)&0xFFFFFFFF);//detectormacH_AReg_c bus_w(DETECTORMACL_AREG,(sourcemac)&0xFFFFFFFF);//detectormacL_AReg_c +#ifdef JUNGFRAU_DHANYA + bus_w(UDPPORTS_AREG,((sourceport&0xFFFF)<<16)+(destport&0xFFFF));//udpports_AReg_c +#else bus_w(UDPPORTS_AREG,((destport&0xFFFF)<<16)+(sourceport&0xFFFF));//udpports_AReg_c +#endif bus_w(IPCHKSUM_AREG,(checksum&0xFFFF));//ipchksum_AReg_c bus_w(CONTROL_REG,GB10_RESET_BIT); @@ -2102,12 +2107,12 @@ u_int16_t* fifo_read_event(int ns) { int i=0;//, j=0; /* volatile u_int16_t volatile *dum; */ - volatile u_int16_t a; - volatile u_int32_t val; + volatile u_int16_t a; + volatile u_int32_t val; // volatile u_int32_t volatile *dum; // volatile u_int32_t a; - bus_w16(DUMMY_REG,0); // + bus_w16(DUMMY_REG,0); // /* #ifdef TIMEDBG */ /* gettimeofday(&tse,NULL); */ /* #endif */ @@ -2122,9 +2127,9 @@ u_int16_t* fifo_read_event(int ns) printf("no frame found and acquisition finished - exiting\n"); printf("%08x %08x\n", runState(), bus_r(LOOK_AT_ME_REG)); return NULL; - } else { - // printf("status idle, look at me %x status %x\n", bus_r(LOOK_AT_ME_REG),runState()); - break; + } else { + // printf("status idle, look at me %x status %x\n", bus_r(LOOK_AT_ME_REG),runState()); + break; } } a = bus_r(LOOK_AT_ME_REG); @@ -2136,19 +2141,19 @@ u_int16_t* fifo_read_event(int ns) /* // tsss=tss; */ /* gettimeofday(&tss,NULL); */ /* printf("look for data = %ld usec\n", (tss.tv_usec) - (tse.tv_usec)); */ - + /* #endif */ } // printf("%08x %08x\n", runState(), bus_r(LOOK_AT_ME_REG)); /* dma_memcpy(now_ptr,values ,dataBytes); */ /* #else */ - + bus_w16(DUMMY_REG,1<<8); // read strobe to all fifos - bus_w16(DUMMY_REG,0); + bus_w16(DUMMY_REG,0); // i=0;// /* for (i=0; i<32; i++) { */ - + /* /\* while (((adcDisableMask&(3<<((i)*2)))>>((i)*2))==3) { *\/ */ /* /\* i++; *\/ */ /* /\* if (i>15) *\/ */ @@ -2158,12 +2163,12 @@ u_int16_t* fifo_read_event(int ns) /* bus_w16(DUMMY_REG,i); */ /* } */ /* val=*values; */ - - // bus_w16(DUMMY_REG,0); // - for (i=0; i<16; i++) { - + // bus_w16(DUMMY_REG,0); // + for (i=0; i<16; i++) { + + // bus_w16(DUMMY_REG,i); // bus_r16(DUMMY_REG); /* dum=(((u_int16_t*)(now_ptr))+i); */ @@ -2174,36 +2179,36 @@ u_int16_t* fifo_read_event(int ns) // a=*values;//bus_r(FIFO_DATA_REG); // if ((adcDisableMask&(3<<(i*2)))==0) { *((u_int32_t*)now_ptr)=*values;//bus_r(FIFO_DATA_REG); - - + + if (i!=0 || ns!=0) { a=0; while (*((u_int32_t*)now_ptr)==*((u_int32_t*)(now_ptr)-1) && a++<10) { - + // printf("******************** %d: fifo %d: new %08x old %08x\n ",ns, i, *((u_int32_t*)now_ptr),*((u_int32_t*)(now_ptr)-1)); *((u_int32_t*)now_ptr)=*values; // printf("%d-",i); - + } } now_ptr+=4; - // } + // } /* while (((adcDisableMask&(3<<((i+1)*2)))>>((i+1)*2))==3) { */ /* i++; */ /* } */ // if (((adcDisableMask&(3<<((i+1)*2)))>>((i+1)*2))!=3) { - + bus_w16(DUMMY_REG,i+1); // } // *(((u_int16_t*)(now_ptr))+i)=bus_r16(FIFO_DATA_REG); - } - // bus_w16(DUMMY_REG,0); // + } + // bus_w16(DUMMY_REG,0); // /* #ifdef TIMEDBG */ - + /* gettimeofday(&tss,NULL); */ /* printf("read data loop = %ld usec\n",(tss.tv_usec) - (tse.tv_usec)); */ - + /* #endif */ #ifdef VERBOSE printf("*"); diff --git a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c index 30afd1dbf..f962c5ab9 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c @@ -1854,7 +1854,35 @@ int get_run_status(int file_des) { retval= runState(); printf("\n\nSTATUS=%08x\n",retval); +#ifdef JUNGFRAU_DHANYA + if(!(retval&RUN_BUSY_BIT)){ + if((retval&READMACHINE_BUSY_BIT) ){ + printf("-----------------------------------READ MACHINE BUSY--------------------------\n"); + s=TRANSMITTING; + } + //and readbusy=0,idle + else if((!(retval&0xffff))||(retval==SOME_FIFO_FULL_BIT)){ + printf("-----------------------------------IDLE--------------------------------------\n"); + s=IDLE; + } else { + printf("-----------------------------------Unknown status %08x--------------------------------------\n", retval); + s=ERROR; + ret=FAIL; + } + } + //if runbusy=1 + else { + if (retval&WAITING_FOR_TRIGGER_BIT){ + printf("-----------------------------------WAITING-----------------------------------\n"); + s=WAITING; + } + else{ + printf("-----------------------------------RUNNING-----------------------------------\n"); + s=RUNNING; + } + } +#else //error if(retval&SOME_FIFO_FULL_BIT){ printf("-----------------------------------ERROR--------------------------------------x%0x\n",retval); @@ -1900,7 +1928,7 @@ int get_run_status(int file_des) { } } - +#endif if (ret!=OK) { @@ -1931,7 +1959,8 @@ int read_frame(int file_des) { if (differentClients==1 && lockStatus==1) { dataret=FAIL; - sprintf(mess,"Detector locked by %s\n",lastClientIP); + sprintf(mess,"Detector locked by %s\n",lastClientIP); + printf("Warning: %s\n",mess); sendDataOnly(file_des,&dataret,sizeof(dataret)); sendDataOnly(file_des,mess,sizeof(mess)); #ifdef VERBOSE @@ -1940,6 +1969,29 @@ int read_frame(int file_des) { return dataret; } + + +#ifdef JUNGFRAU_DHANYA1 + while(runBusy()){ + usleep(0); + if (getFrames() <= -1) { + printf("no frames left, but still busy\n"); + } + } + if (getFrames() > -1) { + dataret=FAIL; + sprintf(mess,"no data and run stopped: %d frames left\n",(int)(getFrames())); + printf("Warning: %s\n",mess); + }else{ + dataret = FINISHED; + sprintf(mess,"acquisition successfully finished\n"); + printf("%s\n",mess); + } + sendDataOnly(file_des,&dataret,sizeof(dataret)); + sendDataOnly(file_des,mess,sizeof(mess)); + //dataret is never ok to send databytes for jungfrau (not reading from fifo) +#else + p=fifo_read_frame(); if (p) { nframes++; @@ -1971,6 +2023,10 @@ int read_frame(int file_des) { sendDataOnly(file_des,&dataret,sizeof(dataret)); sendDataOnly(file_des,mess,sizeof(mess)); } + +#endif + + return dataret; } diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 446b5e936..bfc2bd293 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -4618,7 +4618,6 @@ int* multiSlsDetector::readFrameFromReceiver(char* fName, int &acquisitionIndex acquisitionIndex = -1; return NULL; } - int n,complete=OK; int i,k,offsetX, offsetY, maxX, maxY; double dr; int* retval=new int[nel]; diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 8b0581c8b..f8d91aa47 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -72,6 +72,14 @@ int slsDetector::initSharedMemory(detectorType type, int id) { ng=0; no=0; break; + case JUNGFRAU: + nch=256*256; + nm=1; //modules/detector + nc=8; //chips + nd=16; //dacs+adcs + ng=0; + no=0; + break; case JUNGFRAUCTB: nch=32; nm=1; //modules/detector @@ -612,6 +620,19 @@ int slsDetector::initializeDetectorSize(detectorType type) { thisDetector->nModMax[Y]=1; thisDetector->dynamicRange=16; break; + case JUNGFRAU: + thisDetector->nChan[X]=256; + thisDetector->nChan[Y]=256; + thisDetector->nChip[X]=4; + thisDetector->nChip[Y]=2; + thisDetector->nDacs=16; + thisDetector->nAdcs=0; + thisDetector->nGain=0; + thisDetector->nOffset=0; + thisDetector->nModMax[X]=1; + thisDetector->nModMax[Y]=1; + thisDetector->dynamicRange=16; + break; case JUNGFRAUCTB: thisDetector->nChan[X]=32; thisDetector->nChan[Y]=1; @@ -837,6 +858,8 @@ int slsDetector::initializeDetectorSize(detectorType type) { setFramesPerFile(MAX_FRAMES_PER_FILE); if (thisDetector->myDetectorType==MOENCH) setFramesPerFile(MOENCH_MAX_FRAMES_PER_FILE); + if (thisDetector->myDetectorType==JUNGFRAU) + setFramesPerFile(JFRAU_MAX_FRAMES_PER_FILE); if (thisDetector->myDetectorType==JUNGFRAUCTB) setFramesPerFile(JFCTB_MAX_FRAMES_PER_FILE); thisReceiver = new receiverInterface(dataSocket); @@ -972,6 +995,13 @@ slsDetectorDefs::sls_detector_module* slsDetector::createModule(detectorType t) nd=8; //dacs na=1; break; + case JUNGFRAU: + nch=256*256;//32; + nm=1; + nc=4*2; + nd=16; // dacs+adcs + na=0; + break; case JUNGFRAUCTB: nch=32;//32; nm=1; @@ -3342,6 +3372,7 @@ int slsDetector::updateDetectorNoWait() { if((thisDetector->myDetectorType!= GOTTHARD)&& (thisDetector->myDetectorType!= PROPIX)&& + (thisDetector->myDetectorType!= JUNGFRAU)&& (thisDetector->myDetectorType!= MOENCH)){ //thr=getThresholdEnergy(); n = controlSocket->ReceiveDataOnly( &thr,sizeof(thr)); @@ -3600,7 +3631,7 @@ int* slsDetector::getDataFromDetector(int *retval){ std::cout<< "Received "<< n << " data bytes" << std::endl; #endif if (n!=thisDetector->dataBytes) { - std::cout<< "wrong data size received: received " << n << " but expected " << thisDetector->dataBytes << std::endl; + std::cout<< "wrong data size received from detector: received " << n << " but expected " << thisDetector->dataBytes << std::endl; thisDetector->stoppedFlag=1; ret=FAIL; if (r==NULL) { @@ -3821,6 +3852,7 @@ int64_t slsDetector::setTimer(timerIndex index, int64_t t){ thisDetector->timerValue[index]=t; if((thisDetector->myDetectorType==GOTTHARD)|| (thisDetector->myDetectorType==PROPIX)|| + (thisDetector->myDetectorType==JUNGFRAU)|| (thisDetector->myDetectorType==MOENCH)) thisDetector->timerValue[PROBES_NUMBER]=0; } @@ -5948,6 +5980,7 @@ int slsDetector::writeConfigurationFile(ofstream &outfile, int id){ if ((thisDetector->myDetectorType==GOTTHARD)|| (thisDetector->myDetectorType==PROPIX)|| + (thisDetector->myDetectorType==JUNGFRAU)|| (thisDetector->myDetectorType==MOENCH)) { names[0]= "hostname"; names[1]= "port"; @@ -6589,7 +6622,7 @@ int slsDetector::startReceiver(){ setErrorMask((getErrorMask())|(COULDNOT_START_RECEIVER)); } } - if((ret==OK))//&& (thisDetector->myDetectorType != EIGER)) + if((ret==OK) && (thisDetector->myDetectorType != JUNGFRAU)) ret=detectorSendToReceiver(true); return ret; @@ -6603,7 +6636,7 @@ int slsDetector::stopReceiver(){ int ret = FAIL; char mess[] = ""; - if(thisDetector->myDetectorType != EIGER) + if(thisDetector->myDetectorType != EIGER && thisDetector->myDetectorType != JUNGFRAU) detectorSendToReceiver(false); if (setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG) { @@ -6781,7 +6814,6 @@ int* slsDetector::readFrameFromReceiver(char* fName, int &acquisitionIndex, int int n; char mess[100]="Nothing"; - if (setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG) { #ifdef VERBOSE std::cout<< "slsDetector: Reading frame from receiver "<< thisDetector->dataBytes << " " < Date: Fri, 27 Nov 2015 17:32:46 +0100 Subject: [PATCH 04/43] masking vvalues for jungfrau --- slsDetectorSoftware/slsDetector/slsDetector.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index f8d91aa47..0dbf0b51c 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -6846,6 +6846,13 @@ int* slsDetector::readFrameFromReceiver(char* fName, int &acquisitionIndex, int disconnectData(); return NULL; } + + //jungfrau masking adcval + if(thisDetector->myDetectorType == JUNGFRAU){ + for(unsigned int i=0;i Date: Tue, 1 Dec 2015 16:43:23 +0100 Subject: [PATCH 05/43] settings for jungfrau --- .../commonFiles/sls_detector_defs.h | 5 + .../jungfrauDetectorServer/firmware_funcs.c | 30 +-- .../jungfrauDetectorServer/mcb_funcs.c | 88 +++++---- .../jungfrauDetectorServer/mcb_funcs.h | 3 - .../jungfrauDetectorServer/registers_m.h | 13 ++ .../jungfrauDetectorServer/server_funcs.c | 177 ++++++++++++------ .../slsDetector/slsDetector.cpp | 33 ++++ .../slsDetector/slsDetectorBase.h | 56 +++--- .../slsDetectorAnalysis/energyConversion.cpp | 37 ++++ 9 files changed, 306 insertions(+), 136 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/sls_detector_defs.h b/slsDetectorSoftware/commonFiles/sls_detector_defs.h index 5dc57e871..3198f89e2 100755 --- a/slsDetectorSoftware/commonFiles/sls_detector_defs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_defs.h @@ -364,6 +364,11 @@ enum detectorSettings{ MEDIUMGAIN, /**< medium gain settings */ VERYHIGHGAIN, /**< very high gain settings */ LOWNOISE, /**< low noise settings */ + DYNAMICHG0, /**< dynamic high gain 0 */ + FIXGAIN1, /**< fix gain 1 */ + FIXGAIN2, /**< fix gain 2 */ + FORCESWITCHG1, /**< force switch gain 1 */ + FORCESWITCHG2, /**< force switch gain 2 */ UNDEFINED, /**< undefined or custom settings */ UNINITIALIZED /**< uninitialiazed (status at startup) */ }; diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c index eff5027c6..85a32eb21 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c @@ -1576,37 +1576,19 @@ int initHighVoltage(int val, int imod){ int initConfGain(int isettings,int val,int imod){ int retval; - u_int32_t addr=GAIN_REG; - - if(val!=-1){ -#ifdef VERBOSE - printf("Setting Gain of module:%d with val:%d\n",imod,val); -#endif - bus_w(addr,((val<>SETTINGS_OFFSET); + retval=(bus_r(addr)); #ifdef VERBOSE - printf("Settings read from reg is %d\n",retval); + printf("Value read from Gain reg is %d\n",retval); #endif - if((isettings!=-1)&&(retval!=isettings)){ - printf("\n\nSettings r\n\n"); - return -1; - } - - return retval; + return retval; } diff --git a/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c index b9897212e..656787a7b 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c @@ -847,38 +847,51 @@ int setSettings(int i, int imod) { else printf("\ninside set settings wit settings=%d...\n",i); #endif - int confgain[] = CONF_GAIN; - int isett=-2,retval; + int isett=-1,val=-1,retval=-1; + enum conf_gain { + dynamic = 0x0f00, //dynamic + dynamichighgain0 = 0x0f01, //dynamichighgain0 + fixgain1 = 0x0f02, //fixgain1 + fixgain2 = 0x0f06, //fixgain2 + forceswitchgain1 = 0x1f00, //forceswitchgain1 + forceswitchgain2 = 0x3f00 //forceswitchgain2 + }; - //reading settings - if(i==GET_SETTINGS){ - retval=initConfGainByModule(i,i,imod); - if(retval==i) - isett=UNDEFINED; - } - //writing settings - else{ - retval=initConfGainByModule(i,confgain[i],imod); - if(retval!=i) - isett=UNDEFINED; - } - //if error while read/writing - if(isett==UNDEFINED) - printf("Error:Weird Value read back from the Gain/Settings Reg\n"); - else{ - //validating the settings read back - if((retval>=HIGHGAIN)&&(retval<=VERYHIGHGAIN)) - isett=retval; - else{ - isett=UNDEFINED; - printf("Error:Wrong Settings Read out:%d\n",retval); - } - } - thisSettings=isett; + //determine conf value to write + if(i!=GET_SETTINGS){ + switch(i){ + case DYNAMICGAIN: val = dynamic;break; + case DYNAMICHG0: val = dynamichighgain0;break; + case FIXGAIN1: val = fixgain1;break; + case FIXGAIN2: val = fixgain2;break; + case FORCESWITCHG1: val = forceswitchgain1;break; + case FORCESWITCHG2: val = forceswitchgain2;break; + default: + printf("Error: This settings is not defined for this detector %d\n",i); + return GET_SETTINGS; + } + } + + retval=initConfGainByModule(i,val,imod); + + switch(retval){ + case dynamic: isett=DYNAMICGAIN; break; + case dynamichighgain0: isett=DYNAMICHG0; break; + case fixgain1: isett=FIXGAIN1; break; + case fixgain2: isett=FIXGAIN2; break; + case forceswitchgain1: isett=FORCESWITCHG1; break; + case forceswitchgain2: isett=FORCESWITCHG2; break; + default: + isett=UNDEFINED; + printf("Error:Wrong settings read out from Gain Reg 0x%x\n",retval); + break; + } + + thisSettings=isett; #ifdef VERBOSE - printf("detector settings are %d\n",thisSettings); + printf("detector settings are %d\n",thisSettings); #endif - return thisSettings; + return thisSettings; } @@ -1530,7 +1543,8 @@ int initModulebyNumber(sls_detector_module myMod) { int imod; // int obe; // int ow; - int v[NDAC]; + /* int v[NDAC];*/ + int retval =-1, idac; nchip=myMod.nchip; @@ -1559,7 +1573,7 @@ int initModulebyNumber(sls_detector_module myMod) { v[idac]=(myMod.dacs)[idac]; */ - +/* v[VDAC0]=(myMod.dacs)[0]; v[VDAC1]=(myMod.dacs)[1]; v[VDAC2]=(myMod.dacs)[2]; @@ -1580,11 +1594,19 @@ int initModulebyNumber(sls_detector_module myMod) { printf("vdac6=%d\n",v[VDAC6]); printf("vdac7=%d\n",v[VDAC7]); #endif - + */ // initDACs(v,imod); // initMCBregisters(myMod.reg,imod); + for (idac=0; idac2500) - val=-1; - printf("%d mV is ",val); - if (val>0) - val=4095*val/2500; - printf("%d DACu\n", val); - } else if (val>4095) - val=-1; - - - retval=setDac(ind,val); - /* if(idac==HIGH_VOLTAGE) */ - /* retval=initHighVoltageByModule(val,imod); */ - /* else */ - /* retval=initDACbyIndexDACU(idac,val,imod); */ - } - else if (ind==ADC_VPP) { - printf("Setting ADC VPP to %d\n",val); - if (val>4 || val<0) - printf("Cannot set ADC VPP to %d\n",val); - else { - writeADC(0x18,val); - adcvpp=val; - } - retval=adcvpp;; + if (ind<16) { - } + if (mV) { + if (val>2500) + val=-1; + printf("%d mV is ",val); + if (val>0) + val=4095*val/2500; + printf("%d DACu\n", val); + } else if (val>4095) + val=-1; + + + retval=setDac(ind,val); + /* if(idac==HIGH_VOLTAGE) */ + /* retval=initHighVoltageByModule(val,imod); */ + /* else */ + /* retval=initDACbyIndexDACU(idac,val,imod); */ + } + else if (ind==ADC_VPP) { + printf("Setting ADC VPP to %d\n",val); + if (val>4 || val<0) + printf("Cannot set ADC VPP to %d\n",val); + else { + writeADC(0x18,val); + adcvpp=val; + } + retval=adcvpp;; + + } } } if(ret==OK){ - /* ret=FAIL; */ -/* if(idac==HIGH_VOLTAGE){ */ -/* if(retval==-2) */ -/* strcpy(mess,"Invalid Voltage.Valid values are 0,90,110,120,150,180,200"); */ -/* else if(retval==-3) */ -/* strcpy(mess,"Weird value read back or it has not been set yet\n"); */ -/* else */ -/* ret=OK; */ -/* }//since v r saving only msb */ -/* else if ((retval-val)<=3 || val==-1) */ -/* ret=OK; */ - if (ind<16) { - if (mV) { - - printf("%d DACu is ",retval); - retval1=2500*retval/16535; - printf("%d mV \n",retval1); - } else - retval1=retval; + /* ret=FAIL; */ + /* if(idac==HIGH_VOLTAGE){ */ + /* if(retval==-2) */ + /* strcpy(mess,"Invalid Voltage.Valid values are 0,90,110,120,150,180,200"); */ + /* else if(retval==-3) */ + /* strcpy(mess,"Weird value read back or it has not been set yet\n"); */ + /* else */ + /* ret=OK; */ + /* }//since v r saving only msb */ + /* else if ((retval-val)<=3 || val==-1) */ + /* ret=OK; */ + if (ind<16) { + if (mV) { + + printf("%d DACu is ",retval); + retval1=2500*retval/16535; + printf("%d mV \n",retval1); + } else + retval1=retval; + } } #endif #ifdef VERBOSE printf("DAC set to %d V\n", retval); #endif - } + if(ret==FAIL) printf("Setting dac %d of module %d: wrote %d but read %d\n", ind, imod, val, retval); else{ @@ -1433,8 +1498,8 @@ int set_module(int file_des) { sls_detector_module myModule; int *myChip=malloc(NCHIP*sizeof(int)); int *myChan=malloc(NCHIP*NCHAN*sizeof(int)); - int *myDac=malloc(NDAC*sizeof(int));/**dhanya*/ - int *myAdc=malloc(NADC*sizeof(int));/**dhanya*/ + int *myDac=malloc(NDAC*sizeof(int)); + int *myAdc=malloc(NADC*sizeof(int)); int retval, n; int ret=OK; int dr;// ow; @@ -1503,6 +1568,8 @@ int set_module(int file_des) { } else { #ifdef MCB_FUNCS retval=initModulebyNumber(myModule); + if(retval != myModule.reg) + ret = FAIL; #endif } } diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 0dbf0b51c..984cdee54 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -3128,6 +3128,7 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise case DYNAMICGAIN: if ((thisDetector->myDetectorType == GOTTHARD) || (thisDetector->myDetectorType == PROPIX) || + (thisDetector->myDetectorType == JUNGFRAU) || (thisDetector->myDetectorType == MOENCH)) { ssettings="/dynamicgain"; thisDetector->currentSettings=DYNAMICGAIN; @@ -3160,6 +3161,36 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise break; case LOWNOISE: break; + case DYNAMICHG0: + if (thisDetector->myDetectorType == JUNGFRAU) { + ssettings="/dynamichg0"; + thisDetector->currentSettings=DYNAMICHG0; + } + break; + case FIXGAIN1: + if (thisDetector->myDetectorType == JUNGFRAU) { + ssettings="/fixgain1"; + thisDetector->currentSettings=FIXGAIN1; + } + break; + case FIXGAIN2: + if (thisDetector->myDetectorType == JUNGFRAU) { + ssettings="/fixgain2"; + thisDetector->currentSettings=FIXGAIN2; + } + break; + case FORCESWITCHG1: + if (thisDetector->myDetectorType == JUNGFRAU) { + ssettings="/forceswitchg1"; + thisDetector->currentSettings=FORCESWITCHG1; + } + break; + case FORCESWITCHG2: + if (thisDetector->myDetectorType == JUNGFRAU) { + ssettings="/forceswitchg2"; + thisDetector->currentSettings=FORCESWITCHG2; + } + break; default: break; } @@ -3194,6 +3225,7 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise case MOENCH: case GOTTHARD: case PROPIX: + case JUNGFRAU: case JUNGFRAUCTB: //settings is saved in myMod.reg myMod->reg=thisDetector->currentSettings; @@ -3221,6 +3253,7 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise case MOENCH: case GOTTHARD: case PROPIX: + case JUNGFRAU: case JUNGFRAUCTB: ostfn_default << thisDetector->settingsDir << ssettings << ssettings << ".settings"; break; diff --git a/slsDetectorSoftware/slsDetector/slsDetectorBase.h b/slsDetectorSoftware/slsDetector/slsDetectorBase.h index 7377036db..12ab52d31 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorBase.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorBase.h @@ -638,37 +638,51 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef return GET_EXTERNAL_SIGNAL_FLAG ;}; /** returns detector settings string from index - \param s can be STANDARD, FAST, HIGHGAIN, DYNAMICGAIN, LOWGAIN, MEDIUMGAIN, VERYHIGHGAIN, GET_SETTINGS - \returns standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain, undefined + \param s can be STANDARD, FAST, HIGHGAIN, DYNAMICGAIN, LOWGAIN, MEDIUMGAIN, VERYHIGHGAIN, LOWNOISE, + DYNAMICHG0, FIXGAIN1, FIXGAIN2, FORCESWITCHG1, FORCESWITCHG2, GET_SETTINGS + \returns standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain, lownoise, + dynamichg0, fixgain1, fixgain2, forceswitchg1, forceswitchg2, undefined */ static string getDetectorSettings(detectorSettings s){\ - switch(s) {\ - case STANDARD: return string("standard");\ - case FAST: return string("fast");\ - case HIGHGAIN: return string("highgain");\ - case DYNAMICGAIN: return string("dynamicgain"); \ - case LOWGAIN: return string("lowgain"); \ + switch(s) { \ + case STANDARD: return string("standard"); \ + case FAST: return string("fast"); \ + case HIGHGAIN: return string("highgain"); \ + case DYNAMICGAIN: return string("dynamicgain"); \ + case LOWGAIN: return string("lowgain"); \ case MEDIUMGAIN: return string("mediumgain"); \ - case VERYHIGHGAIN: return string("veryhighgain"); \ + case VERYHIGHGAIN: return string("veryhighgain"); \ case LOWNOISE: return string("lownoise"); \ - default: return string("undefined"); \ + case DYNAMICHG0: return string("dynamichg0"); \ + case FIXGAIN1: return string("fixgain1"); \ + case FIXGAIN2: return string("fixgain2"); \ + case FORCESWITCHG1: return string("forceswitchg1");\ + case FORCESWITCHG2: return string("forceswitchg2");\ + default: return string("undefined"); \ }}; /** returns detector settings string from index - \param s can be standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain, undefined - \returns setting index STANDARD, FAST, HIGHGAIN, DYNAMICGAIN, LOWGAIN, MEDIUMGAIN, VERYHIGHGAIN, GET_SETTINGS + \param s can be standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain, lownoise, + dynamichg0, fixgain1, fixgain2, forceswitchg1, forceswitchg2, undefined + \returns setting index STANDARD, FAST, HIGHGAIN, DYNAMICGAIN, LOWGAIN, MEDIUMGAIN, VERYHIGHGAIN,LOWNOISE, + DYNAMICHG0, FIXGAIN1, FIXGAIN2, FORCESWITCHG1, FORCESWITCHG2, GET_SETTINGS */ static detectorSettings getDetectorSettings(string s){ \ - if (s=="standard") return STANDARD; \ - if (s=="fast") return FAST; \ - if (s=="highgain") return HIGHGAIN; \ - if (s=="dynamicgain") return DYNAMICGAIN; \ - if (s=="lowgain") return LOWGAIN; \ - if (s=="mediumgain") return MEDIUMGAIN; \ - if (s=="veryhighgain") return VERYHIGHGAIN; \ - if (s=="lownoise") return LOWNOISE; \ - return GET_SETTINGS; \ + if (s=="standard") return STANDARD; \ + if (s=="fast") return FAST; \ + if (s=="highgain") return HIGHGAIN; \ + if (s=="dynamicgain") return DYNAMICGAIN; \ + if (s=="lowgain") return LOWGAIN; \ + if (s=="mediumgain") return MEDIUMGAIN; \ + if (s=="veryhighgain") return VERYHIGHGAIN; \ + if (s=="lownoise") return LOWNOISE; \ + if (s=="dynamichg0") return DYNAMICHG0; \ + if (s=="fixgain1") return FIXGAIN1; \ + if (s=="fixgain2") return FIXGAIN2; \ + if (s=="forceswitchg2") return FORCESWITCHG1; \ + if (s=="lownoise") return FORCESWITCHG2; \ + return GET_SETTINGS; \ }; diff --git a/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp b/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp index 818ab8399..2d8be5c56 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp +++ b/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp @@ -215,6 +215,24 @@ slsDetectorDefs::sls_detector_module* energyConversion::readSettingsFile(string break; case EIGER: break; + case JUNGFRAU: + names[id++]="VDAC0"; + names[id++]="VDAC1"; + names[id++]="VDAC2"; + names[id++]="VDAC3"; + names[id++]="VDAC4"; + names[id++]="VDAC5"; + names[id++]="VDAC6"; + names[id++]="VDAC7"; + names[id++]="VDAC8"; + names[id++]="VDAC9"; + names[id++]="VDAC10"; + names[id++]="VDAC11"; + names[id++]="VDAC12"; + names[id++]="VDAC13"; + names[id++]="VDAC14"; + names[id++]="VDAC15"; + break; default: cout << "Unknown detector type - unknown format for settings file" << endl; return NULL; @@ -359,6 +377,7 @@ slsDetectorDefs::sls_detector_module* energyConversion::readSettingsFile(string case MOENCH: case GOTTHARD: case PROPIX: + case JUNGFRAU: //---------------dacs--------------- infile.open(myfname.c_str(), ios_base::in); if (infile.is_open()) { @@ -458,6 +477,24 @@ int energyConversion::writeSettingsFile(string fname, detectorType myDetectorTyp break; case EIGER: break; + case JUNGFRAU: + names[id++]="VDAC0"; + names[id++]="VDAC1"; + names[id++]="VDAC2"; + names[id++]="VDAC3"; + names[id++]="VDAC4"; + names[id++]="VDAC5"; + names[id++]="VDAC6"; + names[id++]="VDAC7"; + names[id++]="VDAC8"; + names[id++]="VDAC9"; + names[id++]="VDAC10"; + names[id++]="VDAC11"; + names[id++]="VDAC12"; + names[id++]="VDAC13"; + names[id++]="VDAC14"; + names[id++]="VDAC15"; + break; default: cout << "Unknown detector type - unknown format for settings file" << endl; return FAIL; From b05207221cc6a6ff202e18c9042a228e9d5f4491 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 1 Dec 2015 16:45:18 +0100 Subject: [PATCH 06/43] ansi and test server for jungfrau server --- .../jungfrauDetectorServer/ansi.h | 1 + .../jungfrauDetectorServerTest | Bin 0 -> 135344 bytes 2 files changed, 1 insertion(+) create mode 120000 slsDetectorSoftware/jungfrauDetectorServer/ansi.h create mode 100755 slsDetectorSoftware/jungfrauDetectorServer/jungfrauDetectorServerTest diff --git a/slsDetectorSoftware/jungfrauDetectorServer/ansi.h b/slsDetectorSoftware/jungfrauDetectorServer/ansi.h new file mode 120000 index 000000000..c8131b6ec --- /dev/null +++ b/slsDetectorSoftware/jungfrauDetectorServer/ansi.h @@ -0,0 +1 @@ +/afs/psi.ch/project/sls_det_software/dhanya_softwareDevelopment/mySoft/slsDetectorsPackage/slsReceiverSoftware/include/ansi.h \ No newline at end of file diff --git a/slsDetectorSoftware/jungfrauDetectorServer/jungfrauDetectorServerTest b/slsDetectorSoftware/jungfrauDetectorServer/jungfrauDetectorServerTest new file mode 100755 index 0000000000000000000000000000000000000000..8dd49e7305e1021f52020a0dc56509e2bba4ef87 GIT binary patch literal 135344 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%0A`LGrD%2LuuEsKDv(m%IjDkUFQQ?7bS5&DMr_R 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 Date: Wed, 9 Dec 2015 16:15:23 +0100 Subject: [PATCH 07/43] dont know --- .../commonFiles/communication_funcs.c | 2 +- .../jungfrauDetectorServer/firmware_funcs.c | 5 ++- .../jungfrauDetectorServerTest | Bin 135344 -> 136208 bytes .../jungfrauDetectorServer/mcb_funcs.c | 29 ++++++++---------- .../jungfrauDetectorServer/server_defs.h | 14 +++++++-- .../jungfrauDetectorServer/server_funcs.c | 19 ++++++------ 6 files changed, 37 insertions(+), 32 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/communication_funcs.c b/slsDetectorSoftware/commonFiles/communication_funcs.c index 0c13acd4c..40005b44e 100755 --- a/slsDetectorSoftware/commonFiles/communication_funcs.c +++ b/slsDetectorSoftware/commonFiles/communication_funcs.c @@ -535,7 +535,7 @@ int receiveModule(int file_des, sls_detector_module* myMod) { ts+=receiveData(file_des,myMod->chanregs,sizeof(myMod->nchan),INT32); ts+=receiveData(file_des,&(myMod->gain), sizeof(myMod->gain),OTHER); ts+=receiveData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER); - +printf(RED,"ts:%d\n",ts); myMod->dacs=dacptr; myMod->adcs=adcptr; myMod->chipregs=chipptr; diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c index 85a32eb21..ba6e284d2 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c @@ -1138,7 +1138,11 @@ u_int32_t testRAM(void) { } int getNModBoard() { +#ifdef JUNGFRAU_DHANYA + return 1; +#else return 32;//nModX; +#endif } int setNMod(int n) { @@ -2316,7 +2320,6 @@ u_int32_t* decode_data(int *datain) int setDynamicRange(int dr) { - if (dr%16==0 && dr>0) { dynamicRange=16; nSamples=dr/16; diff --git a/slsDetectorSoftware/jungfrauDetectorServer/jungfrauDetectorServerTest b/slsDetectorSoftware/jungfrauDetectorServer/jungfrauDetectorServerTest index 8dd49e7305e1021f52020a0dc56509e2bba4ef87..a9de9d69785a9772c58c87bb2ef2273c05120b20 100755 GIT binary patch delta 65657 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 delta 64619 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

a4*5T2H`eYv!bM{7o^Fhvy&oY5}NF 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 diff --git a/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c index 656787a7b..d0e2a9812 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c @@ -103,14 +103,12 @@ int initDetector() { /* dynamicRange=getDynamicRange(); //always 16 not required commented out nModX=setNMod(-1);*/ - //dataBytes=nModX*NCHIP*NCHAN*4; // dynamicRange=32; // initChip(0, 0,ALLMOD); //nModX=n; // allocateRAM(); - return OK; } @@ -899,7 +897,7 @@ int setSettings(int i, int imod) { /* Initialization*/ -int initChannelbyNumber(sls_detector_channel myChan) { +int initChannelbyNumber(sls_detector_channel myChan) {printf("in init channel by number\n"); int reg=myChan.reg; int ft=reg & TRIM_DR; int cae=(reg>>(NTRIMBITS))&1; @@ -1535,8 +1533,8 @@ int initMCBregisters(int cm, int imod){ int initModulebyNumber(sls_detector_module myMod) { - printf("\ninside initmoduleynumber..\n"); - + printf("\ninside initmoduleynumberrrr..\n"); + printf("000\n"); int nchip,nchan;//int ichip, nchip, ichan, nchan; int im, modmi,modma; // int ft, cae, ae, coe, ocoe, counts, chanreg; @@ -1545,7 +1543,7 @@ int initModulebyNumber(sls_detector_module myMod) { // int ow; /* int v[NDAC];*/ int retval =-1, idac; - +printf("111\n"); nchip=myMod.nchip; nchan=(myMod.nchan)/nchip; @@ -1567,13 +1565,11 @@ int initModulebyNumber(sls_detector_module myMod) { modma=sMod+1; } - + printf("222\n"); /* for (idac=0; idac=0) @@ -1595,8 +1594,8 @@ int set_module(int file_des) { free(myAdc); // setDynamicRange(dr); always 16 commented out +printf("freed\n"); - return ret; } From 50d76f553731e7c490bd00743a241db87c3d47a2 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 14 Dec 2015 15:15:27 +0100 Subject: [PATCH 08/43] iodelay set to 650, rxb_lb and rb set to 1100, 10g detectormac set to +1 of 1g --- .../bin/eigerDetectorServer | Bin 260020 -> 260064 bytes .../slsDetectorFunctionList.c | 40 +++++++++++++----- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer index 651eb76d7560f7db5124cbb760a0830867e0c591..1b41fd96645fb442eea09a648595c28ef73ee339 100755 GIT binary patch delta 40448 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 J`KQ24{eSAipX~qu delta 41134 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 Date: Tue, 15 Dec 2015 12:07:28 +0100 Subject: [PATCH 09/43] detsizechan or maximum detecto size for users incorrectly implemented for only 1d --- slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp index 9cd9e9936..5b79ba5b0 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp @@ -123,8 +123,8 @@ int slsDetectorUsers::getDetectorSize(int &x0, int &y0, int &nx, int &ny){ } int slsDetectorUsers::getMaximumDetectorSize(int &nx, int &ny){ - ny=1; - nx=myDetector->getMaxNumberOfModules()*myDetector->getChansPerMod(0); + nx=myDetector->getMaxNumberOfChannelsPerDetector(slsDetectorDefs::X); + ny=myDetector->getMaxNumberOfChannelsPerDetector(slsDetectorDefs::Y); return nx; } From d6c4ec184a0b5589c337f601e8fcb0a75fabba93 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 15 Dec 2015 14:25:53 +0100 Subject: [PATCH 10/43] should show progress for each measurement, not collectively --- slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp index a4223a6d0..09ddb6fae 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp @@ -155,10 +155,6 @@ int slsDetectorUtils::acquire(int delflag){ *stoppedFlag=1; } - //resets frames caught in receiver - resetFramesCaught(); - - if(setReceiverOnline()==OFFLINE_FLAG) *stoppedFlag=1; } @@ -181,6 +177,11 @@ int slsDetectorUtils::acquire(int delflag){ cout << " starting measurement "<< im << " of " << nm << endl; #endif + //resets frames caught in receiver + if(receiver){ + resetFramesCaught(); + } + //cout << "data thread started " << endl; From 2dd2b577fdf0a7792d4b620ec24229231d2004ae Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 15 Dec 2015 15:36:49 +0100 Subject: [PATCH 11/43] getdetectorsize in users reflects 2d --- slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp index 5b79ba5b0..d74f5982e 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp @@ -116,16 +116,16 @@ int slsDetectorUsers::setDetectorSize(int x0, int y0, int nx, int ny){ int slsDetectorUsers::getDetectorSize(int &x0, int &y0, int &nx, int &ny){ y0=0; - ny=1; x0=0; - nx=myDetector->setNumberOfModules()*myDetector->getChansPerMod(0); - return nx; + nx=getTotalNumberOfChannels(slsDetectorDefs::X); + ny=getTotalNumberOfChannels(slsDetectorDefs::Y); + return nx*ny; } int slsDetectorUsers::getMaximumDetectorSize(int &nx, int &ny){ nx=myDetector->getMaxNumberOfChannelsPerDetector(slsDetectorDefs::X); ny=myDetector->getMaxNumberOfChannelsPerDetector(slsDetectorDefs::Y); - return nx; + return nx*ny; } int slsDetectorUsers::setBitDepth(int i){ From cd80160e7d272b26d61aaad6d376df88c65cd98f Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 15 Dec 2015 15:40:39 +0100 Subject: [PATCH 12/43] getdetectorsize in users reflects 2d addon --- slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp index d74f5982e..3177b728e 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp @@ -117,8 +117,8 @@ int slsDetectorUsers::setDetectorSize(int x0, int y0, int nx, int ny){ int slsDetectorUsers::getDetectorSize(int &x0, int &y0, int &nx, int &ny){ y0=0; x0=0; - nx=getTotalNumberOfChannels(slsDetectorDefs::X); - ny=getTotalNumberOfChannels(slsDetectorDefs::Y); + nx=myDetector->getTotalNumberOfChannels(slsDetectorDefs::X); + ny=myDetector->getTotalNumberOfChannels(slsDetectorDefs::Y); return nx*ny; } From 7848b79cf2b1187143830c99ef3760ed020ce7b4 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 15 Dec 2015 16:24:43 +0100 Subject: [PATCH 13/43] 2d noop for setdetectorsize --- slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp index 3177b728e..4e554750f 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp @@ -110,6 +110,8 @@ int slsDetectorUsers::getPositions(double *pos){ } int slsDetectorUsers::setDetectorSize(int x0, int y0, int nx, int ny){ + if(myDetector->getTotalNumberOfChannels(slsDetectorDefs::Y)>1) + return 1; int nmod=nx/(myDetector->getChansPerMod(0)); cout << myDetector->getChansPerMod(0) << " " << nx << " " << nmod << endl; return myDetector->setNumberOfModules(nmod)*myDetector->getChansPerMod(0);} From 5c239ad45fa90c4e66677003bacb377e9e3eabc8 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 16 Dec 2015 15:01:00 +0100 Subject: [PATCH 14/43] data call back form receiver includes both x and y dimensions --- slsDetectorSoftware/slsDetector/slsDetectorBase.h | 6 +++++- slsDetectorSoftware/slsDetector/slsDetectorUtils.h | 1 + .../slsDetectorAnalysis/postProcessing.cpp | 9 +++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorBase.h b/slsDetectorSoftware/slsDetector/slsDetectorBase.h index 7377036db..223886d62 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorBase.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorBase.h @@ -234,7 +234,11 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef \returns total number of channels */ virtual int getTotalNumberOfChannels()=0; - + + /** + \returns total number of channels for each dimension + */ + virtual int getTotalNumberOfChannels(dimension d)=0; /** generates file name without extension */ virtual string createFileName()=0; diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h index 4225efa08..e48b1568d 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h @@ -421,6 +421,7 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing { virtual int* startAndReadAll()=0; virtual int getTotalNumberOfChannels()=0; + virtual int getTotalNumberOfChannels(dimension d)=0; virtual int getMaxNumberOfChannels()=0; virtual int getMaxNumberOfChannels(dimension d)=0; diff --git a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp index a174bc637..b066f9435 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp +++ b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp @@ -137,7 +137,7 @@ void postProcessing::processFrame(int *myData, int delflag, int jctb) { // cout << "callback arg "<< getCurrentProgress()<< " " << (fname+string(".raw")).c_str() << " " << getTotalNumberOfChannels() << endl; // cout << "DATAREADY 1" < Date: Fri, 8 Jan 2016 17:18:50 +0100 Subject: [PATCH 15/43] newline after wrong command --- slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index c438c64ab..05539e065 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -1113,7 +1113,7 @@ string slsDetectorCommand::helpLine(int narg, char *args[], int action) { if (narg==0) { os << "Command can be: " << endl; for(int i=0; i Date: Tue, 19 Jan 2016 16:25:48 +0100 Subject: [PATCH 16/43] not much changes --- .../slsDetector/slsDetector.cpp | 26 +++++++++---------- .../slsDetector/slsDetectorBase.h | 4 +-- .../slsDetector/slsDetectorCommand.cpp | 3 ++- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 984cdee54..fad7115a8 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -1075,19 +1075,19 @@ int slsDetector::sendChip(sls_detector_chip *myChip) { int slsDetector::sendModule(sls_detector_module *myMod) { int ts=0; //send module structure - ts+=controlSocket->SendDataOnly(&(myMod->module),sizeof(myMod->module)); - ts+=controlSocket->SendDataOnly(&(myMod->serialnumber),sizeof(myMod->serialnumber)); - ts+=controlSocket->SendDataOnly(&(myMod->nchan),sizeof(myMod->nchan)); - ts+=controlSocket->SendDataOnly(&(myMod->nchip),sizeof(myMod->nchip)); - ts+=controlSocket->SendDataOnly(&(myMod->ndac),sizeof(myMod->ndac)); - ts+=controlSocket->SendDataOnly(&(myMod->nadc),sizeof(myMod->nadc)); - ts+=controlSocket->SendDataOnly(&(myMod->reg),sizeof(myMod->reg)); - ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(myMod->ndac)); - ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(myMod->nadc)); - ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(myMod->nchip)); - ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(myMod->nchan)); - ts+=controlSocket->SendDataOnly(&(myMod->gain), sizeof(myMod->gain)); - ts+=controlSocket->SendDataOnly(&(myMod->offset), sizeof(myMod->offset)); + ts+=controlSocket->SendDataOnly(&(myMod->module),sizeof(myMod->module));cout<<"module:"<<(myMod->module)<SendDataOnly(&(myMod->serialnumber),sizeof(myMod->serialnumber));cout<<"serial number:"<<(myMod->serialnumber)<SendDataOnly(&(myMod->nchan),sizeof(myMod->nchan));cout<<"nchan :"<<(myMod->nchan)<SendDataOnly(&(myMod->nchip),sizeof(myMod->nchip));cout<<"nchip :"<<(myMod->nchip)<SendDataOnly(&(myMod->ndac),sizeof(myMod->ndac));cout<<"ndac :"<<(myMod->ndac)<SendDataOnly(&(myMod->nadc),sizeof(myMod->nadc));cout<<"nadc :"<<(myMod->nadc)<SendDataOnly(&(myMod->reg),sizeof(myMod->reg));cout<<"reg :"<<(myMod->reg)<SendDataOnly(myMod->dacs,sizeof(myMod->ndac));cout<<"dacs :"<<(myMod->dacs[0])<SendDataOnly(myMod->adcs,sizeof(myMod->nadc));cout<<"adcs :none"<SendDataOnly(myMod->chipregs,sizeof(myMod->nchip));cout<<"chipregs :"<<(myMod->serialnumber)<SendDataOnly(myMod->chanregs,sizeof(myMod->nchan));cout<<"chanregs :"<<(myMod->serialnumber)<SendDataOnly(&(myMod->gain), sizeof(myMod->gain));cout<<"gain :"<<(myMod->gain)<SendDataOnly(&(myMod->offset), sizeof(myMod->offset));cout<<"offset :"<<(myMod->offset)<SendDataOnly(myMod->dacs,sizeof(dacs_t)*(myMod->ndac)); ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); diff --git a/slsDetectorSoftware/slsDetector/slsDetectorBase.h b/slsDetectorSoftware/slsDetector/slsDetectorBase.h index 12ab52d31..4ee385504 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorBase.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorBase.h @@ -680,8 +680,8 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef if (s=="dynamichg0") return DYNAMICHG0; \ if (s=="fixgain1") return FIXGAIN1; \ if (s=="fixgain2") return FIXGAIN2; \ - if (s=="forceswitchg2") return FORCESWITCHG1; \ - if (s=="lownoise") return FORCESWITCHG2; \ + if (s=="forceswitchg1") return FORCESWITCHG1; \ + if (s=="forceswitchg2") return FORCESWITCHG2; \ return GET_SETTINGS; \ }; diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index c438c64ab..3966f8b48 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -3145,7 +3145,8 @@ string slsDetectorCommand::helpSettings(int narg, char *args[], int action) { ostringstream os; 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"<< std::endl; + 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 << "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; From bef8d413d66db42ca6ae47da99d38dba3568e7bb Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 21 Jan 2016 14:43:44 +0100 Subject: [PATCH 17/43] jungfrau done but not merged --- .../commonFiles/communication_funcs.c | 26 ++- .../jungfrauDetectorServer/firmware_funcs.c | 74 ++++--- .../jungfrauDetectorServer/firmware_funcs.h | 15 ++ .../jungfrauDetectorServerTest | Bin 136208 -> 125656 bytes .../jungfrauDetectorServer/mcb_funcs.c | 30 ++- .../jungfrauDetectorServer/mcb_funcs.h | 5 +- .../jungfrauDetectorServer/registers_m.h | 5 +- .../jungfrauDetectorServer/server.c | 4 +- .../jungfrauDetectorServer/server_funcs.c | 205 ++++++++++-------- .../jungfrauDetectorServer/server_funcs.h | 2 + .../jungfrauDetectorServer/trimming_funcs.c | 20 +- .../slsDetector/slsDetector.cpp | 133 +++++++----- .../slsDetectorServer_defs.h | 8 +- 13 files changed, 330 insertions(+), 197 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/communication_funcs.c b/slsDetectorSoftware/commonFiles/communication_funcs.c index 40005b44e..1e7a72d39 100755 --- a/slsDetectorSoftware/commonFiles/communication_funcs.c +++ b/slsDetectorSoftware/commonFiles/communication_funcs.c @@ -421,9 +421,11 @@ int sendModule(int file_des, sls_detector_module *myMod) { ts+=sendData(file_des,&(myMod->nadc),sizeof(myMod->nadc),INT32); ts+=sendData(file_des,&(myMod->reg),sizeof(myMod->reg),INT32); ts+=sendData(file_des,myMod->dacs,sizeof(myMod->ndac),OTHER); +#ifndef JUNGFRAU_DHANYA ts+=sendData(file_des,myMod->adcs,sizeof(myMod->nadc),OTHER); ts+=sendData(file_des,myMod->chipregs,sizeof(myMod->nchip),OTHER); ts+=sendData(file_des,myMod->chanregs,sizeof(myMod->nchan),OTHER); +#endif ts+=sendData(file_des,&(myMod->gain), sizeof(myMod->gain),OTHER); ts+=sendData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER); @@ -436,6 +438,8 @@ int sendModule(int file_des, sls_detector_module *myMod) { for (idac=0; idac< nDacs; idac++) printf("dac %d is %d\n",idac,(int)myMod->dacs[idac]); #endif + +#ifndef JUNGFRAU_DHANYA ts+= sendData(file_des,myMod->adcs,sizeof(dacs_t)*nAdcs,INT32); #ifdef VERBOSE printf("adcs %d of size %d sent\n",myMod->module, ts); @@ -448,6 +452,8 @@ int sendModule(int file_des, sls_detector_module *myMod) { #ifdef VERBOSE printf("chans %d of size %d sent - %d\n",myMod->module, ts, myMod->nchan); #endif +#endif + #ifdef VERBOSE printf("module %d of size %d sent register %x\n",myMod->module, ts, myMod->reg); #endif @@ -508,12 +514,10 @@ int receiveChip(int file_des, sls_detector_chip* myChip) { } int receiveModule(int file_des, sls_detector_module* myMod) { - - + int ts=0; dacs_t *dacptr=myMod->dacs; dacs_t *adcptr=myMod->adcs; int *chipptr=myMod->chipregs, *chanptr=myMod->chanregs; - int ts=0; int nChips, nchipold=myMod->nchip, nchipdiff; int nChans, nchanold=myMod->nchan, nchandiff; int nDacs, ndold=myMod->ndac, ndacdiff; @@ -530,17 +534,19 @@ int receiveModule(int file_des, sls_detector_module* myMod) { ts+=receiveData(file_des,&(myMod->nadc),sizeof(myMod->nadc),INT32); ts+=receiveData(file_des,&(myMod->reg),sizeof(myMod->reg),INT32); ts+=receiveData(file_des,myMod->dacs,sizeof(myMod->ndac),INT32); +#ifndef JUNGFRAU_DHANYA ts+=receiveData(file_des,myMod->adcs,sizeof(myMod->nadc),INT32); ts+=receiveData(file_des,myMod->chipregs,sizeof(myMod->nchip),INT32); ts+=receiveData(file_des,myMod->chanregs,sizeof(myMod->nchan),INT32); +#endif ts+=receiveData(file_des,&(myMod->gain), sizeof(myMod->gain),OTHER); ts+=receiveData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER); -printf(RED,"ts:%d\n",ts); + myMod->dacs=dacptr; myMod->adcs=adcptr; myMod->chipregs=chipptr; myMod->chanregs=chanptr; - + nChips=myMod->nchip; nchipdiff=nChips-nchipold; if (nchipold!=nChips) { @@ -585,6 +591,7 @@ printf(RED,"ts:%d\n",ts); ts+=receiveData(file_des,myMod->dacs, sizeof(dacs_t)*nDacs,INT32); #ifdef VERBOSE printf("dacs received\n"); + int id; for (id=0; iddacs[id]); @@ -599,9 +606,10 @@ printf(RED,"ts:%d\n",ts); return FAIL; } +#ifndef JUNGFRAU_DHANYA if (nadcdiff<=0) { ts+=receiveData(file_des,myMod->adcs, sizeof(dacs_t)*nAdcs,INT32); -#ifdef VERBOSE +#ifdef VERBOSE printf("adcs received\n"); #endif } else { @@ -615,7 +623,7 @@ printf(RED,"ts:%d\n",ts); if (nchipdiff<=0) { ts+=receiveData(file_des,myMod->chipregs, sizeof(int)*nChips,INT32); -#ifdef VERBOSE +#ifdef VERBOSE printf("chips received\n"); #endif } else { @@ -629,7 +637,7 @@ printf(RED,"ts:%d\n",ts); if (nchandiff<=0) { ts+=receiveData(file_des,myMod->chanregs, sizeof(int)*nChans,INT32); -#ifdef VERBOSE +#ifdef VERBOSE printf("chans received\n"); #endif } else { @@ -640,8 +648,10 @@ printf(RED,"ts:%d\n",ts); free(chanptr); return FAIL; } +#endif #ifdef VERBOSE printf("received module %d of size %d register %x\n",myMod->module,ts,myMod->reg); #endif + return ts; } diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c index ba6e284d2..37220002e 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c @@ -64,7 +64,11 @@ struct timeval tss,tse,tsss; //for timing //for memory mapping +#ifdef JUNGFRAU_DHANYA +u_int32_t CSP0BASE; +#else u_int64_t CSP0BASE; +#endif FILE *debugfp, *datafp; @@ -155,8 +159,8 @@ int mapCSP0(void) { return FAIL; } #endif - printf("CSPObase is 0x%x \n",CSP0BASE); - printf("CSPOBASE=from %08x to %x\n",CSP0BASE,CSP0BASE+MEM_SIZE); + printf("CSPObase is 0x%08x \n",CSP0BASE); + printf("CSPOBASE=from %08x to %08x\n",CSP0BASE,CSP0BASE+MEM_SIZE); u_int32_t address; address = FIFO_DATA_REG;//_OFF; @@ -383,7 +387,6 @@ u_int32_t setPllReconfigReg(u_int32_t reg, u_int32_t val, int trig) { u_int32_t getPllReconfigReg(u_int32_t reg, int trig) { - int i; u_int32_t val=reg<65535 || st<-65535) return clkPhase[0]; @@ -1128,15 +1127,20 @@ u_int32_t testFpga(void) { // for fpga test u_int32_t testRAM(void) { int result=OK; +#ifdef JUNGFRAU_DHANYA + cprintf(RED,"TestRAM not implemented for Jungfrau\n"); +#else int i=0; allocateRAM(); // while(i<100000) { memcpy(ram_values, values, dataBytes); printf ("Testing RAM:\t%d: copied fifo %x to memory %x size %d\n",i++, (unsigned int)(values), (unsigned int)(ram_values), dataBytes); // } +#endif return result; } + int getNModBoard() { #ifdef JUNGFRAU_DHANYA return 1; @@ -1341,11 +1345,15 @@ int64_t getFramesFromStart(){ ROI *setROI(int nroi,ROI* arg,int *retvalsize, int *ret) { +#ifdef JUNGFRAU_DHANYA + cprintf(RED,"ROI Not implemented for Jungfrau yet\n"); + return NULL; +#else + ROI retval[MAX_ROIS]; int i, ich; + adcDisableMask=0xfffffffff; /**has one f too many?, dhanya*/ - adcDisableMask=0xfffffffff; - printf("Setting ROI\n"); if (nroi>=0) { if (nroi==0) { @@ -1398,10 +1406,14 @@ ROI *setROI(int nroi,ROI* arg,int *retvalsize, int *ret) { } getDynamicRange(); return retval; +#endif } int loadImage(int index, short int ImageVals[]){ +#ifdef JUNGFRAU_DHANYA + cprintf(RED,"loadImage Not implemented for Jungfrau yet\n"); //compiler warnings on 1st argument of memcpy(ptr,ImageVals ,dataBytes); +#else u_int32_t address; switch (index) { case DARK_IMAGE : @@ -1421,6 +1433,7 @@ int loadImage(int index, short int ImageVals[]){ memcpy(ptr,ImageVals ,dataBytes); #ifdef VERBOSE printf("\nLoaded x%08x address with image of index %d\n",(unsigned int)(ptr),index); +#endif #endif return OK; } @@ -1694,7 +1707,7 @@ ip.ip_destip = destip; while (sum>>16) sum = (sum & 0xffff) + (sum >> 16);// Fold 32-bit sum to 16 bits checksum = (~sum)&0xffff; - printf("IP checksum is 0x%x\n",checksum); + printf("IP checksum is 0x%lx\n",checksum); bus_w(DETECTORIP_AREG,sourceip);//detectorip_AReg_c @@ -1718,7 +1731,7 @@ ip.ip_destip = destip; bus_w(CONFIG_REG,conf | GB10_NOT_CPU_BIT); printf("System status register is %08x\n",bus_r(SYSTEM_STATUS_REG)); -return; +return 0; //any value doesnt matter - dhanya /* } */ /* #ifdef DDEBUG */ @@ -2094,7 +2107,7 @@ u_int16_t* fifo_read_event(int ns) int i=0;//, j=0; /* volatile u_int16_t volatile *dum; */ volatile u_int16_t a; - volatile u_int32_t val; + /*volatile u_int32_t val;*/ // volatile u_int32_t volatile *dum; // volatile u_int32_t a; @@ -2337,12 +2350,15 @@ int setDynamicRange(int dr) { int getDynamicRange() { - // dynamicRange=16; +#ifdef JUNGFRAU_DHANYA + dynamicRange=16; + return dynamicRange; +#else nSamples=bus_r(NSAMPLES_REG); getChannels(); dataBytes=nModX*NCHIP*getChannels()*2; return dynamicRange*bus_r(NSAMPLES_REG);//nSamples; - +#endif } int testBus() { @@ -2418,7 +2434,7 @@ int allocateRAM() { //#ifdef VERBOSE - printf("reallocating ram %x, size %d\n",(unsigned int)ram_values, size); + printf("reallocating ram %x, size %d\n",(unsigned int)ram_values, (int)size); //#endif //+2 was added since dma_memcpy would switch the 16 bit values and the mem is 32 bit @@ -2456,7 +2472,7 @@ int writeADC(int addr, int val) { u_int32_t valw,codata,csmask; - int i,cdx,ddx,j; + int i,cdx,ddx; cdx=0; ddx=1; csmask=0xfc; // 1111100 @@ -2503,8 +2519,8 @@ int writeADC(int addr, int val) { int prepareADC(){ printf("Preparing ADC\n"); - u_int32_t valw,codata,csmask; - int i,cdx,ddx,j; + u_int32_t codata,csmask; + int cdx,ddx; cdx=0; ddx=1; csmask=0x7c; // 1111100 @@ -2563,8 +2579,11 @@ int prepareADC(){ bus_w(ADC_OFFSET_REG,0xbbbbbbbb); // bus_w(ADC_INVERSION_REG,0x1f6170c6); - +#ifndef JUNGFRAU_DHANYA return; +#else + return OK; +#endif } @@ -2993,7 +3012,7 @@ int calibratePedestal(int frames){ int a; for (a=0;a<1280; a++){ - unsigned short v = (frame[a] << 8) + (frame[a] >> 8); + //unsigned short v = (frame[a] << 8) + (frame[a] >> 8); // printf("%i: %i %i\n",a, frame[a],v); avg[a] += ((double)frame[a])/(double)frames; //if(frame[a] == 8191) @@ -3020,7 +3039,7 @@ int calibratePedestal(int frames){ - double nf = (double)numberFrames; + //double nf = (double)numberFrames; for(i =0; i < 1280; i++){ adc = i / 256; adcCh = (i - adc * 256) / 32; @@ -3193,7 +3212,6 @@ int setPatternLoop(int level, int *start, int *stop, int *n) { int setPatternWaitAddress(int level, int addr) { - int ret=-1; int reg; switch (level) { @@ -3222,7 +3240,6 @@ int setPatternWaitAddress(int level, int addr) { uint64_t setPatternWaitTime(int level, uint64_t t) { - uint64_t ret=-1; int reglsb; int regmsb; @@ -3256,7 +3273,7 @@ void initDac(int dacnum) { u_int32_t offw,codata; u_int16_t valw; - int iru,i,ddx,csdx,cdx; + int i,ddx,csdx,cdx; @@ -3343,8 +3360,7 @@ int setDac(int dacnum,int dacvalue){ u_int32_t offw,codata; u_int16_t valw; - int iru,i,ddx,csdx,cdx; - int retval; + int i,ddx,csdx,cdx; int dacch=0; diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.h b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.h index 5e80dba22..271edbe06 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.h @@ -69,6 +69,9 @@ int setContinousReadOut(int d); int startReceiver(int d); int setDACRegister(int idac, int val, int imod); +#ifdef JUNGFRAU_DHANYA +int getDacRegister(int dacnum); +#endif int getTemperature(int tempSensor,int imod); int initHighVoltage(int val,int imod); @@ -82,6 +85,9 @@ int getAdcConfigured(); u_int64_t getDetectorNumber(); u_int32_t getFirmwareVersion(); +#ifdef JUNGFRAU_DHANYA +u_int32_t getFirmwareSVNVersion(); +#endif int testFifos(void); u_int32_t testFpga(void); u_int32_t testRAM(void); @@ -144,8 +150,17 @@ int setDynamicRange(int dr); int getDynamicRange(); int getNModBoard(); int setNMod(int n); +#ifdef JUNGFRAU_DHANYA +int getNMod(); +#endif int setStoreInRAM(int b); int allocateRAM(); + +#ifdef JUNGFRAU_DHANYA +int writeADC(int addr, int val); +int prepareADC(); +#endif + int clearRAM(); diff --git a/slsDetectorSoftware/jungfrauDetectorServer/jungfrauDetectorServerTest b/slsDetectorSoftware/jungfrauDetectorServer/jungfrauDetectorServerTest index a9de9d69785a9772c58c87bb2ef2273c05120b20..fb1d9f73e9cf48f53514a6dbcabfee29bd4dcfea 100755 GIT binary patch delta 63624 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 F`G0b9-Jt*g diff --git a/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c index d0e2a9812..5e4061e07 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.c @@ -55,25 +55,33 @@ int initDetector() { #ifdef VERBOSE printf("Board is for %d modules\n",n); #endif + detectorModules=malloc(n*sizeof(sls_detector_module)); + detectorDacs=malloc(n*NDAC*sizeof(int)); +#ifndef JUNGFRAU_DHANYA detectorChips=malloc(n*NCHIP*sizeof(int)); detectorChans=malloc(n*NCHIP*NCHAN*sizeof(int)); - detectorDacs=malloc(n*NDAC*sizeof(int)); detectorAdcs=malloc(n*NADC*sizeof(int)); +#endif + #ifdef VERBOSE printf("modules from 0x%x to 0x%x\n",(unsigned int)(detectorModules), (unsigned int)(detectorModules+n)); + printf("dacs from 0x%x to 0x%x\n",(unsigned int)(detectorDacs), (unsigned int)(detectorDacs+n*NDAC)); +#ifndef JUNGFRAU_DHANYA printf("chips from 0x%x to 0x%x\n",(unsigned int)(detectorChips), (unsigned int)(detectorChips+n*NCHIP)); printf("chans from 0x%x to 0x%x\n",(unsigned int)(detectorChans), (unsigned int)(detectorChans+n*NCHIP*NCHAN)); - printf("dacs from 0x%x to 0x%x\n",(unsigned int)(detectorDacs), (unsigned int)(detectorDacs+n*NDAC)); printf("adcs from 0x%x to 0x%x\n",(unsigned int)(detectorAdcs), (unsigned int)(detectorAdcs+n*NADC)); #endif - for (imod=0; imoddacs=detectorDacs+imod*NDAC; +#ifndef JUNGFRAU_DHANYA (detectorModules+imod)->adcs=detectorAdcs+imod*NADC; (detectorModules+imod)->chipregs=detectorChips+imod*NCHIP; (detectorModules+imod)->chanregs=detectorChans+imod*NCHIP*NCHAN; +#endif (detectorModules+imod)->ndac=NDAC; (detectorModules+imod)->nadc=NADC; (detectorModules+imod)->nchip=NCHIP; @@ -209,6 +217,7 @@ int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod) { // printf("copying gain and offset %f %f to %f %f\n",srcMod->gain,srcMod->offset,destMod->gain,destMod->offset); +#ifndef JUNGFRAU_DHANYA for (ichip=0; ichip<(srcMod->nchip); ichip++) { if (*((srcMod->chipregs)+ichip)>=0) *((destMod->chipregs)+ichip)=*((srcMod->chipregs)+ichip); @@ -217,14 +226,19 @@ int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod) { if (*((srcMod->chanregs)+ichan)>=0) *((destMod->chanregs)+ichan)=*((srcMod->chanregs)+ichan); } +#endif + for (idac=0; idac<(srcMod->ndac); idac++) { if (*((srcMod->dacs)+idac)>=0) *((destMod->dacs)+idac)=*((srcMod->dacs)+idac); } + +#ifndef JUNGFRAU_DHANYA for (iadc=0; iadc<(srcMod->nadc); iadc++) { if (*((srcMod->adcs)+iadc)>=0) *((destMod->adcs)+iadc)=*((srcMod->adcs)+iadc); } +#endif return ret; } @@ -1543,7 +1557,7 @@ int initModulebyNumber(sls_detector_module myMod) { // int ow; /* int v[NDAC];*/ int retval =-1, idac; -printf("111\n"); + nchip=myMod.nchip; nchan=(myMod.nchan)/nchip; @@ -1597,11 +1611,11 @@ printf("111\n"); for (idac=0; idac #include "communication_funcs.h" #include "server_funcs.h" -#include +#include + extern int sockfd; diff --git a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c index 8da1eb848..02f2fcc2c 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c @@ -59,7 +59,9 @@ int adcvpp=0x4; int init_detector(int b, int checkType) { int i; +#ifndef JUNGFRAU_DHANYA int retvalsize,ret; +#endif if (mapCSP0()==FAIL) { printf("Could not map memory\n"); exit(1); } @@ -112,8 +114,7 @@ int init_detector(int b, int checkType) { if (b) { - resetPLL(); - + resetPLL(); bus_w16(CONTROL_REG, SYNC_RESET); bus_w16(CONTROL_REG, 0); bus_w16(CONTROL_REG, GB10_RESET_BIT); @@ -142,6 +143,71 @@ int init_detector(int b, int checkType) { initDac(0); initDac(8); //initializes the two dacs +#ifdef JUNGFRAU_DHANYA + + if(myDetectorType==JUNGFRAU){ + //set dacs + int retval = -1; + int dacvalues[14][2]={ + {0, 1250}, //vout_cm + {10, 1053}, //vin_com + {1, 600}, //vb_sda + {11, 1000}, //vb_colbuf + {2, 3000}, //vb_test_cur + {3, 830}, //vcascp_pixbuf + {4, 1630}, //vcascn_pixbuf + {12, 750}, //vb_pixbuf + {6, 480}, //vref_ds + {5, 1000}, //vb_ds + {7, 400}, //vref_comp + {13, 1220}, //vb_comp + {8, 1500}, //vref_prech + {9, 3000}, //vdd_prot + }; + for(i=0;i<14;++i){ + retval=setDac(dacvalues[i][0], dacvalues[i][1]); + if(retval!=dacvalues[i][1]) + printf("Error: Setting dac %d failed, wrote %d, read %d\n",dacvalues[i][0],dacvalues[i][1],retval); + } + + //power on the chips + bus_w(POWER_ON_REG,0x1); + + //reset adc + writeADC(ADCREG1,0x3); writeADC(ADCREG1,0x0); + writeADC(ADCREG2,0x40); + writeADC(ADCREG3,0xf); + writeADC(ADCREG4,0x3f); + //vrefs - configurable? + writeADC(ADCREG_VREFS,0x2); + + + //set ADCINVERSionreg (by trial and error) + bus_w(ADC_INVERSION_REG,0x453b2a9c); + + //set adc_pipeline + bus_w(ADC_PIPELINE_REG,0x20); + + //set dbit_pipeline + bus_w(DBIT_PIPELINE_REG,0x100e); + usleep(1000000);//1s + + //reset mem machine fifos fifos + bus_w(MEM_MACHINE_FIFOS_REG,0x4000); + bus_w(MEM_MACHINE_FIFOS_REG,0x0); + + //reset run control + bus_w(MEM_MACHINE_FIFOS_REG,0x0400); + bus_w(MEM_MACHINE_FIFOS_REG,0x0); + + //set default setting + setSettings(DYNAMICGAIN,-1); + cprintf(BLUE,"set to dynamic gain\n"); + } + +#endif + + //Initialization setFrames(-1); setTrains(-1); @@ -155,75 +221,20 @@ int init_detector(int b, int checkType) { setSynchronization(GET_SYNCHRONIZATION_MODE); startReceiver(0); //firmware } + else printf("\n\n"); + strcpy(mess,"dummy message"); strcpy(lastClientIP,"none"); strcpy(thisClientIP,"none1"); lockStatus=0; // getDynamicRange(); +#ifndef JUNGFRAU_DHANYA setROI(-1,NULL,&retvalsize,&ret); - allocateRAM(); - -#ifdef JUNGFRAU_DHANYA - if(myDetectorType==JUNGFRAU){ - //set dacs - int retval = -1; - int dacvalues[14][2]={ - {0, 1250}, //vout_cm - {10, 1053}, //vin_com - {1, 600}, //vb_sda - {11, 1000}, //vb_colbuf - {2, 3000}, //vb_test_cur - {3, 830}, //vcascp_pixbuf - {4, 1630}, //vcascn_pixbuf - {12, 750}, //vb_pixbuf - {6, 480}, //vref_ds - {5, 1000}, //vb_ds - {7, 400}, //vref_comp - {13, 1220}, //vb_comp - {8, 1500}, //vref_prech - {9, 3000}, //vdd_prot - }; - for(i=0;i<14;++i){ - retval=setDac(dacvalues[i][0], dacvalues[i][1]); - if(retval!=dacvalues[i][1]) - printf("Error: Setting dac %d failed, wrote %d, read %d\n",dacvalues[i][0],dacvalues[i][1],retval); - } - - //power on the chips - bus_w(POWER_ON_REG,0x1); - - //reset adc - writeADC(ADCREG1,0x3); writeADC(ADCREG1,0x0); - writeADC(ADCREG2,0x40); - writeADC(ADCREG3,0xf); - writeADC(ADCREG4,0x3f); - //vrefs - configurable? - writeADC(ADCREG_VREFS,0x2); - - - //set ADCINVERSionreg (by trial and error) - bus_w(ADC_INVERSION_REG,0x453b2a9c); - - //set adc_pipeline - bus_w(ADC_PIPELINE_REG,0x20); - - //set dbit_pipeline - bus_w(DBIT_PIPELINE_REG,0x100e); - usleep(1000000);//1s - - //reset mem machine fifos fifos - bus_w(MEM_MACHINE_FIFOS_REG,0x4000); - bus_w(MEM_MACHINE_FIFOS_REG,0x0); - - //reset run control - bus_w(MEM_MACHINE_FIFOS_REG,0x0400); - bus_w(MEM_MACHINE_FIFOS_REG,0x0); - - //set default setting - setSettings(DYNAMICGAIN,-1); - } + allocateRAM(); //dhanya - already being done.. and all this should be inside if (b){} ?? #endif + + return OK; } @@ -231,9 +242,9 @@ int init_detector(int b, int checkType) { int decode_function(int file_des) { int fnum,n; int retval=FAIL; -//#ifdef VERBOSE +#ifdef VERBOSE printf( "receive data\n"); -//#endif +#endif n = receiveDataOnly(file_des,&fnum,sizeof(fnum)); if (n <= 0) { #ifdef VERBOSE @@ -246,15 +257,14 @@ int decode_function(int file_des) { printf("size of data received %d\n",n); #endif - //#ifdef VERBOSE +#ifdef VERBOSE printf( "calling function fnum = %d %x %x %x\n",fnum,(unsigned int)(flist[fnum]), (unsigned int)(flist[F_READ_REGISTER]),(unsigned int)(&read_register)); - //#endif +#endif if (fnum<0 || fnum>255) fnum=255; retval=(*flist[fnum])(file_des); if (retval==FAIL) printf( "Error executing the function = %d \n",fnum); - printf("retval:%d\n",retval); return retval; } @@ -1027,7 +1037,6 @@ int set_dac(int file_des) { int imod; int n; int val; - int idac=0; int mV=0; sprintf(mess,"Can't set DAC\n"); @@ -1497,15 +1506,17 @@ int get_chip(int file_des) { } int set_module(int file_des) { sls_detector_module myModule; + int *myDac=malloc(NDAC*sizeof(int)); +#ifndef JUNGFRAU_DHANYA int *myChip=malloc(NCHIP*sizeof(int)); int *myChan=malloc(NCHIP*NCHAN*sizeof(int)); - int *myDac=malloc(NDAC*sizeof(int)); int *myAdc=malloc(NADC*sizeof(int)); +#endif int retval, n; int ret=OK; int dr;// ow; - dr=setDynamicRange(-1); cprintf(BLUE,"drr:%d\n",dr); + dr=setDynamicRange(-1); if (myDac) myModule.dacs=myDac; @@ -1513,6 +1524,8 @@ int set_module(int file_des) { sprintf(mess,"could not allocate dacs\n"); ret=FAIL; } + +#ifndef JUNGFRAU_DHANYA if (myAdc) myModule.adcs=myAdc; else { @@ -1531,6 +1544,12 @@ int set_module(int file_des) { sprintf(mess,"could not allocate chans\n"); ret=FAIL; } +#else + myModule.adcs=NULL; + myModule.chipregs=NULL; + myModule.chanregs=NULL; +#endif + myModule.ndac=NDAC; myModule.nchip=NCHIP; myModule.nchan=NCHAN*NCHIP; @@ -1588,10 +1607,16 @@ int set_module(int file_des) { } else { n += sendDataOnly(file_des,mess,sizeof(mess)); } + + free(myDac); +#ifndef JUNGFRAU_DHANYA free(myChip); free(myChan); - free(myDac); free(myAdc); +#endif + + + // setDynamicRange(dr); always 16 commented out printf("freed\n"); @@ -1615,11 +1640,12 @@ int get_module(int file_des) { sls_detector_module myModule; + int *myDac=malloc(NDAC*sizeof(int)); +#ifndef JUNGFRAU_DHANYA int *myChip=malloc(NCHIP*sizeof(int)); int *myChan=malloc(NCHIP*NCHAN*sizeof(int)); - int *myDac=malloc(NDAC*sizeof(int));/**dhanya*/ - int *myAdc=malloc(NADC*sizeof(int));/**dhanya*/ - + int *myAdc=malloc(NADC*sizeof(int)); +#endif if (myDac) myModule.dacs=myDac; @@ -1627,6 +1653,8 @@ int get_module(int file_des) { sprintf(mess,"could not allocate dacs\n"); ret=FAIL; } + +#ifndef JUNGFRAU_DHANYA if (myAdc) myModule.adcs=myAdc; else { @@ -1645,7 +1673,11 @@ int get_module(int file_des) { sprintf(mess,"could not allocate chans\n"); ret=FAIL; } - +#else + myModule.adcs=NULL; + myModule.chipregs=NULL; + myModule.chanregs=NULL; +#endif myModule.ndac=NDAC; myModule.nchip=NCHIP; myModule.nchan=NCHAN*NCHIP; @@ -1690,13 +1722,12 @@ int get_module(int file_des) { n += sendDataOnly(file_des,mess,sizeof(mess)); } - - + free(myDac); +#ifndef JUNGFRAU_DHANYA free(myChip); free(myChan); - free(myDac); free(myAdc); - +#endif /*return ok/fail*/ return ret; @@ -2019,7 +2050,6 @@ int get_run_status(int file_des) { int read_frame(int file_des) { - int ns=0; u_int16_t* p=NULL; @@ -2410,7 +2440,6 @@ int set_roi(int file_des) { int retvalsize=0; ROI arg[MAX_ROIS]; ROI* retval=0; - int iroi; strcpy(mess,"Could not set/get roi\n"); @@ -2423,12 +2452,20 @@ int set_roi(int file_des) { ret=FAIL; } +#ifdef JUNGFRAU_DHANYA + ret = FAIL; + strcpy(mess,"Not applicable/implemented for this detector\n"); + printf("Error:Set ROI-%s",mess); +#else + + if(nroi>=0){ n = receiveDataOnly(file_des,arg,nroi*sizeof(ROI)); if (n != (nroi*sizeof(ROI))) { sprintf(mess,"Received wrong number of bytes for ROI\n"); ret=FAIL; } + //#ifdef VERBOSE printf("Setting ROI to:"); @@ -2459,7 +2496,7 @@ int set_roi(int file_des) { sprintf(mess,"Could not set all roi, should have set %d rois, but only set %d rois\n",nroi,retvalsize); } } - +#endif if(ret==OK && differentClients){ printf("Force update\n"); @@ -2612,7 +2649,6 @@ int set_speed(int file_des) { int set_readout_flags(int file_des) { enum readOutFlags arg; - int n; int ret=FAIL; @@ -3441,7 +3477,6 @@ int write_adc_register(int file_des) { int arg[2]; int addr, val; int n; - u_int32_t address; sprintf(mess,"Can't write to register\n"); diff --git a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.h b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.h index 4f18e23fc..08f3c61e3 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.h @@ -69,7 +69,9 @@ int set_dynamic_range(int); int set_roi(int); int get_roi(int); int set_speed(int); +#ifndef JUNGFRAU_DHANYA void prepareADC(void); +#endif int set_readout_flags(int); int execute_trimming(int); int lock_server(int); diff --git a/slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.c index 23762b25e..543b946b7 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.c @@ -155,6 +155,10 @@ int calccal_from_vthr(int vthr) { int choose_vthresh_and_vtrim(int countlim, int nsigma, int im) { int retval=OK; +#ifdef JUNGFRAU_DHANYA + cprintf(RED,"choose_vthresh_and_vtrim Not implemented for JungFrau\n");//did not want to fix warnings +#else + #ifdef MCB_FUNCS int modma, modmi, nm; int thr, thrstep=5, nthr=31; @@ -315,6 +319,7 @@ int choose_vthresh_and_vtrim(int countlim, int nsigma, int im) { free(thrmi); free(thrma); +#endif #endif return retval; } @@ -324,11 +329,14 @@ int choose_vthresh_and_vtrim(int countlim, int nsigma, int im) { int trim_with_level(int countlim, int im) { + int retval=OK; +#ifdef JUNGFRAU_DHANYA + cprintf(RED,"trim_with_level Not implemented for JungFrau\n"); //did not want to fix warnings +#else int ich, itrim, ichan, ichip, imod; u_int32_t *scan; int *inttrim; int modma, modmi, nm; - int retval=OK; int *fifodata; sls_detector_channel myChan; printf("trimming module number %d", im); @@ -427,6 +435,7 @@ int trim_with_level(int countlim, int im) { } free(inttrim); +#endif #endif return retval; } @@ -474,6 +483,9 @@ int ave(int *a, int n) int choose_vthresh() { int retval=OK; +#ifdef JUNGFRAU_DHANYA + cprintf(RED,"choose_vthresh Not implemented for JungFrau\n"); //did not want to fix warnings +#else #ifdef MCB_FUNCS int imod, ichan; u_int32_t *scan, *scan1; @@ -599,6 +611,7 @@ int choose_vthresh() { free(scan); free(scan1); } +#endif #endif return retval; } @@ -611,7 +624,9 @@ int trim_with_median(int stop, int im) { int retval=OK; - +#ifdef JUNGFRAU_DHANYA + cprintf(RED,"trim_with_median Not implemented for JungFrau\n"); //did not want to fix warnings +#else #ifdef MCB_FUNCS int ichan, imod, ichip, ich; u_int32_t *scan, *scan1; @@ -744,6 +759,7 @@ int trim_with_median(int stop, int im) { } free(olddiff); free(direction); +#endif #endif return retval; } diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index fad7115a8..23581e43c 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -1075,25 +1075,29 @@ int slsDetector::sendChip(sls_detector_chip *myChip) { int slsDetector::sendModule(sls_detector_module *myMod) { int ts=0; //send module structure - ts+=controlSocket->SendDataOnly(&(myMod->module),sizeof(myMod->module));cout<<"module:"<<(myMod->module)<SendDataOnly(&(myMod->serialnumber),sizeof(myMod->serialnumber));cout<<"serial number:"<<(myMod->serialnumber)<SendDataOnly(&(myMod->nchan),sizeof(myMod->nchan));cout<<"nchan :"<<(myMod->nchan)<SendDataOnly(&(myMod->nchip),sizeof(myMod->nchip));cout<<"nchip :"<<(myMod->nchip)<SendDataOnly(&(myMod->ndac),sizeof(myMod->ndac));cout<<"ndac :"<<(myMod->ndac)<SendDataOnly(&(myMod->nadc),sizeof(myMod->nadc));cout<<"nadc :"<<(myMod->nadc)<SendDataOnly(&(myMod->reg),sizeof(myMod->reg));cout<<"reg :"<<(myMod->reg)<SendDataOnly(myMod->dacs,sizeof(myMod->ndac));cout<<"dacs :"<<(myMod->dacs[0])<SendDataOnly(myMod->adcs,sizeof(myMod->nadc));cout<<"adcs :none"<SendDataOnly(myMod->chipregs,sizeof(myMod->nchip));cout<<"chipregs :"<<(myMod->serialnumber)<SendDataOnly(myMod->chanregs,sizeof(myMod->nchan));cout<<"chanregs :"<<(myMod->serialnumber)<SendDataOnly(&(myMod->gain), sizeof(myMod->gain));cout<<"gain :"<<(myMod->gain)<SendDataOnly(&(myMod->offset), sizeof(myMod->offset));cout<<"offset :"<<(myMod->offset)<SendDataOnly(&(myMod->module),sizeof(myMod->module)); + ts+=controlSocket->SendDataOnly(&(myMod->serialnumber),sizeof(myMod->serialnumber)); + ts+=controlSocket->SendDataOnly(&(myMod->nchan),sizeof(myMod->nchan)); + ts+=controlSocket->SendDataOnly(&(myMod->nchip),sizeof(myMod->nchip)); + ts+=controlSocket->SendDataOnly(&(myMod->ndac),sizeof(myMod->ndac)); + ts+=controlSocket->SendDataOnly(&(myMod->nadc),sizeof(myMod->nadc)); + ts+=controlSocket->SendDataOnly(&(myMod->reg),sizeof(myMod->reg)); + ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(myMod->ndac)); + if(thisDetector->myDetectorType != JUNGFRAU){ + ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(myMod->nadc)); + ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(myMod->nchip)); + ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(myMod->nchan)); + } + ts+=controlSocket->SendDataOnly(&(myMod->gain),sizeof(myMod->gain)); + ts+=controlSocket->SendDataOnly(&(myMod->offset), sizeof(myMod->offset)); ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(dacs_t)*(myMod->ndac)); - ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); - ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip)); - ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(int)*(myMod->nchan)); + if(thisDetector->myDetectorType != JUNGFRAU){ + ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); + ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip)); + ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(int)*(myMod->nchan)); + } return ts; } @@ -1147,17 +1151,19 @@ int slsDetector::receiveModule(sls_detector_module* myMod) { ts+=controlSocket->ReceiveDataOnly(&(myMod->nadc),sizeof(myMod->nadc)); ts+=controlSocket->ReceiveDataOnly(&(myMod->reg),sizeof(myMod->reg)); ts+=controlSocket->ReceiveDataOnly(myMod->dacs,sizeof(myMod->ndac)); - ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(myMod->nadc)); - ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(myMod->nchip)); - ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(myMod->nchan)); + if(thisDetector->myDetectorType != JUNGFRAU){ + ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(myMod->nadc)); + ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(myMod->nchip)); + ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(myMod->nchan)); + } ts+=controlSocket->ReceiveDataOnly(&(myMod->gain), sizeof(myMod->gain)); ts+=controlSocket->ReceiveDataOnly(&(myMod->offset), sizeof(myMod->offset)); - myMod->dacs=dacptr; - myMod->adcs=adcptr; - myMod->chipregs=chipptr; - myMod->chanregs=chanptr; + myMod->dacs=dacptr; + myMod->adcs=adcptr; + myMod->chipregs=chipptr; + myMod->chanregs=chanptr; #ifdef VERBOSE std::cout<< "received module " << myMod->module << " of size "<< ts << " register " << myMod->reg << std::endl; @@ -1166,21 +1172,24 @@ int slsDetector::receiveModule(sls_detector_module* myMod) { #ifdef VERBOSE std::cout<< "received dacs " << myMod->module << " of size "<< ts << std::endl; #endif - ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); -#ifdef VERBOSE - std::cout<< "received adcs " << myMod->module << " of size "<< ts << std::endl; -#endif - ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip)); -#ifdef VERBOSE - std::cout<< "received chips " << myMod->module << " of size "<< ts << std::endl; -#endif - ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(int)*(myMod->nchan)); -#ifdef VERBOSE - std::cout<< "nchans= " << thisDetector->nChans << " nchips= " << thisDetector->nChips; - std::cout<< "mod - nchans= " << myMod->nchan << " nchips= " <nchip; - std::cout<< "received chans " << myMod->module << " of size "<< ts << std::endl; + if(thisDetector->myDetectorType != JUNGFRAU){ + ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); +#ifdef VERBOSE + std::cout<< "received adcs " << myMod->module << " of size "<< ts << std::endl; #endif + ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip)); +#ifdef VERBOSE + std::cout<< "received chips " << myMod->module << " of size "<< ts << std::endl; +#endif + ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(int)*(myMod->nchan)); +#ifdef VERBOSE + std::cout<< "nchans= " << thisDetector->nChans << " nchips= " << thisDetector->nChips; + std::cout<< "mod - nchans= " << myMod->nchan << " nchips= " <nchip; + std::cout<< "received chans " << myMod->module << " of size "<< ts << std::endl; +#endif + } + #ifdef VERBOSE std::cout<< "received module " << myMod->module << " of size "<< ts << " register " << myMod->reg << std::endl; #endif @@ -2774,24 +2783,27 @@ int slsDetector::setModule(sls_detector_module module, int* gainval, int* offset thisDetector->nDacs=module.ndac; thisDetector->nAdcs=module.nadc; - for (int ichip=0; ichipnChips; ichip++) { - if (chipregs) - chipregs[ichip+thisDetector->nChips*imod]=module.chipregs[ichip]; + if(thisDetector->myDetectorType != JUNGFRAU){ + 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]; + } + } + } + if (adcs) { + for (int i=0; inAdcs; i++) + adcs[i+imod*thisDetector->nAdcs]=module.adcs[i]; + } } + if (dacs) { for (int i=0; inDacs; i++) dacs[i+imod*thisDetector->nDacs]=module.dacs[i]; } - if (adcs) { - for (int i=0; inAdcs; i++) - adcs[i+imod*thisDetector->nAdcs]=module.adcs[i]; - } (detectorModules+imod)->gain=module.gain; (detectorModules+imod)->offset=module.offset; @@ -2899,25 +2911,28 @@ slsDetectorDefs::sls_detector_module *slsDetector::getModule(int imod){ thisDetector->nDacs=myMod->ndac; thisDetector->nAdcs=myMod->nadc; - for (int ichip=0; ichipnChips; ichip++) { - if (chipregs) - chipregs[ichip+thisDetector->nChips*imod]=myMod->chipregs[ichip]; + if(thisDetector->myDetectorType != JUNGFRAU){ + for (int ichip=0; ichipnChips; ichip++) { + if (chipregs) + chipregs[ichip+thisDetector->nChips*imod]=myMod->chipregs[ichip]; - if (chanregs) { - for (int i=0; inChans; i++) { - chanregs[i+ichip*thisDetector->nChans+thisDetector->nChips*thisDetector->nChans*imod]=myMod->chanregs[ichip*thisDetector->nChans+i]; + if (chanregs) { + for (int i=0; inChans; i++) { + chanregs[i+ichip*thisDetector->nChans+thisDetector->nChips*thisDetector->nChans*imod]=myMod->chanregs[ichip*thisDetector->nChans+i]; + } } } + + if (adcs) { + for (int i=0; inAdcs; i++) + adcs[i+imod*thisDetector->nAdcs]=myMod->adcs[i]; + } } + if (dacs) { for (int i=0; inDacs; i++) dacs[i+imod*thisDetector->nDacs]=myMod->dacs[i]; } - if (adcs) { - for (int i=0; inAdcs; i++) - adcs[i+imod*thisDetector->nAdcs]=myMod->adcs[i]; - } - (detectorModules+imod)->gain=myMod->gain; (detectorModules+imod)->offset=myMod->offset; (detectorModules+imod)->serialnumber=myMod->serialnumber; diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_defs.h b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_defs.h index 543f305e5..488dc0a0f 100644 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_defs.h @@ -15,10 +15,17 @@ /* examples*/ +#ifdef JUNGFRAU_DHANYA +#define NCHAN (256*256) +#define NCHIP 8 +#define NADC 0 +#else #define NCHAN 1 #define NCHIP 1 #define NDAC 1 #define NADC 1 +#endif + #define NMAXMODX 1 #define NMAXMODY 1 #define NMAXMOD NMAXMODX*NMAXMODY @@ -27,5 +34,4 @@ - #endif /* SLSDETECTORSERVER_DEFS_H_ */ From 316ecf1b509e731f7843af0fcfdcbf7aeb8efd8a Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 2 Feb 2016 11:10:49 +0100 Subject: [PATCH 18/43] no change check --- slsDetectorSoftware/README | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slsDetectorSoftware/README b/slsDetectorSoftware/README index 83e019581..2cbe78380 100644 --- a/slsDetectorSoftware/README +++ b/slsDetectorSoftware/README @@ -1,4 +1,4 @@ -This subversion repository contains +This subversion repository contains Common directories Please inform Anna, Beat and Ian if you make modifications to these directories @@ -18,4 +18,4 @@ Please inform Beat and Ian if you make modifications to these directories - eigerDetector : eiger specific funcs (mainly files I/O and ..) - eigerDetectorServer : eiger server -make doc \ No newline at end of file +make doc From 35631c0abbca95b233296e3e484e8364b66e4de9 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 4 Feb 2016 12:57:07 +0100 Subject: [PATCH 19/43] some changes with anna. more to come --- .../jungfrauDetectorServer/firmware_funcs.c | 38 +++++++++---------- .../jungfrauDetectorServer/firmware_funcs.h | 13 +++---- .../jungfrauDetectorServer/mcb_funcs.h | 4 +- .../jungfrauDetectorServer/registers_m.h | 9 +++-- .../jungfrauDetectorServer/server_funcs.h | 3 -- 5 files changed, 29 insertions(+), 38 deletions(-) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c index 37220002e..da99993e3 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c @@ -64,11 +64,8 @@ struct timeval tss,tse,tsss; //for timing //for memory mapping -#ifdef JUNGFRAU_DHANYA u_int32_t CSP0BASE; -#else -u_int64_t CSP0BASE; -#endif + FILE *debugfp, *datafp; @@ -1127,16 +1124,17 @@ u_int32_t testFpga(void) { // for fpga test u_int32_t testRAM(void) { int result=OK; -#ifdef JUNGFRAU_DHANYA - cprintf(RED,"TestRAM not implemented for Jungfrau\n"); -#else - int i=0; + + printf("TestRAM not implemented\n"); + +/* int i=0; allocateRAM(); // while(i<100000) { memcpy(ram_values, values, dataBytes); printf ("Testing RAM:\t%d: copied fifo %x to memory %x size %d\n",i++, (unsigned int)(values), (unsigned int)(ram_values), dataBytes); // } -#endif + * +*/ return result; } @@ -1411,9 +1409,12 @@ ROI *setROI(int nroi,ROI* arg,int *retvalsize, int *ret) { int loadImage(int index, short int ImageVals[]){ -#ifdef JUNGFRAU_DHANYA - cprintf(RED,"loadImage Not implemented for Jungfrau yet\n"); //compiler warnings on 1st argument of memcpy(ptr,ImageVals ,dataBytes); -#else + + index; + Imagevals; + printf("loadImage Not implemented yet\n"); + + /* u_int32_t address; switch (index) { case DARK_IMAGE : @@ -1434,7 +1435,8 @@ int loadImage(int index, short int ImageVals[]){ #ifdef VERBOSE printf("\nLoaded x%08x address with image of index %d\n",(unsigned int)(ptr),index); #endif -#endif + */ + return OK; } @@ -1717,11 +1719,7 @@ ip.ip_destip = destip; bus_w(RX_UDPMACL_AREG,(destmac)&0xFFFFFFFF);//rx_udpmacL_AReg_c bus_w(DETECTORMACH_AREG,(sourcemac>>32)&0xFFFFFFFF);//detectormacH_AReg_c bus_w(DETECTORMACL_AREG,(sourcemac)&0xFFFFFFFF);//detectormacL_AReg_c -#ifdef JUNGFRAU_DHANYA bus_w(UDPPORTS_AREG,((sourceport&0xFFFF)<<16)+(destport&0xFFFF));//udpports_AReg_c -#else - bus_w(UDPPORTS_AREG,((destport&0xFFFF)<<16)+(sourceport&0xFFFF));//udpports_AReg_c -#endif bus_w(IPCHKSUM_AREG,(checksum&0xFFFF));//ipchksum_AReg_c bus_w(CONTROL_REG,GB10_RESET_BIT); @@ -2579,11 +2577,9 @@ int prepareADC(){ bus_w(ADC_OFFSET_REG,0xbbbbbbbb); // bus_w(ADC_INVERSION_REG,0x1f6170c6); -#ifndef JUNGFRAU_DHANYA - return; -#else + return OK; -#endif + } diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.h b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.h index 271edbe06..a9c6316c1 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.h @@ -69,9 +69,8 @@ int setContinousReadOut(int d); int startReceiver(int d); int setDACRegister(int idac, int val, int imod); -#ifdef JUNGFRAU_DHANYA int getDacRegister(int dacnum); -#endif + int getTemperature(int tempSensor,int imod); int initHighVoltage(int val,int imod); @@ -85,9 +84,8 @@ int getAdcConfigured(); u_int64_t getDetectorNumber(); u_int32_t getFirmwareVersion(); -#ifdef JUNGFRAU_DHANYA u_int32_t getFirmwareSVNVersion(); -#endif + int testFifos(void); u_int32_t testFpga(void); u_int32_t testRAM(void); @@ -150,16 +148,15 @@ int setDynamicRange(int dr); int getDynamicRange(); int getNModBoard(); int setNMod(int n); -#ifdef JUNGFRAU_DHANYA int getNMod(); -#endif + int setStoreInRAM(int b); int allocateRAM(); -#ifdef JUNGFRAU_DHANYA + int writeADC(int addr, int val); int prepareADC(); -#endif + int clearRAM(); diff --git a/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.h b/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.h index c78ea5724..429e13daf 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/mcb_funcs.h @@ -110,9 +110,9 @@ int selMod(int mod,int imod ); /* int getThresholdEnergy(); */ /* int setThresholdEnergy(int ethr); */ -#ifdef JUNGFRAU_DHANYA + int setSettings(int i,int imod); -#endif + /* Other DAC index routines*/ int getTemperatureByModule(int tempSensor, int imod); diff --git a/slsDetectorSoftware/jungfrauDetectorServer/registers_m.h b/slsDetectorSoftware/jungfrauDetectorServer/registers_m.h index a70634d72..09ee8d333 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/registers_m.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/registers_m.h @@ -26,15 +26,16 @@ #define ADCREG3 0x4 #define ADCREG4 0x5 #define ADCREG_VREFS 0x18 -#define ADC_INVERSION_REG 0x43<<11 -#define ADC_PIPELINE_REG 0x42<<11 +#define ADC_PIPELINE_REG 0x42<<11 // adc_offset_reg #define DBIT_PIPELINE_REG 0x59<<11 #define MEM_MACHINE_FIFOS_REG 0x4f<<11 #define CONFGAIN_REG 0x5d<<11 /** was actually GAIN_REG which seems to be set to 0 later in this file*/ -#else -#define ADC_INVERSION_REG 67<<11 /** picked up from after ADC_OFFSET_REG*/ #endif + +#define ADC_INVERSION_REG 67<<11 /** picked up from after ADC_OFFSET_REG*/ + + /* constant FPGAVersionReg_c : integer:= 0; */ /* constant FixedPatternReg_c : integer:= 1; */ diff --git a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.h b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.h index 08f3c61e3..2d674a1d0 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.h @@ -69,9 +69,6 @@ int set_dynamic_range(int); int set_roi(int); int get_roi(int); int set_speed(int); -#ifndef JUNGFRAU_DHANYA -void prepareADC(void); -#endif int set_readout_flags(int); int execute_trimming(int); int lock_server(int); From 1fae912cb2e5b40e9ea669da6303e2e509310f1e Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 4 Feb 2016 16:18:01 +0100 Subject: [PATCH 20/43] jungfrau server making it uniform, left to do: register confirmation and server_defs --- .../commonFiles/communication_funcs.c | 97 ++- .../commonFiles/communication_funcs.h | 5 +- .../jungfrauDetectorServer/Makefile | 2 +- .../jungfrauDetectorServer/firmware_funcs.c | 42 +- .../jungfrauDetectorServerTest | Bin 125656 -> 127828 bytes .../jungfrauDetectorServer/mcb_funcs.c | 55 +- .../jungfrauDetectorServer/registers_m.h | 30 +- .../jungfrauDetectorServer/server_funcs.c | 328 ++++---- .../jungfrauDetectorServer/trimming_funcs.c | 765 ------------------ .../jungfrauDetectorServer/trimming_funcs.h | 20 - .../slsDetector/slsDetector.cpp | 15 +- 11 files changed, 276 insertions(+), 1083 deletions(-) delete mode 100755 slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.c delete mode 100755 slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.h diff --git a/slsDetectorSoftware/commonFiles/communication_funcs.c b/slsDetectorSoftware/commonFiles/communication_funcs.c index 1e7a72d39..a42371570 100755 --- a/slsDetectorSoftware/commonFiles/communication_funcs.c +++ b/slsDetectorSoftware/commonFiles/communication_funcs.c @@ -403,7 +403,13 @@ int sendChip(int file_des, sls_detector_chip *myChip) { return ts; } + int sendModule(int file_des, sls_detector_module *myMod) { + return sendModuleGeneral(file_des, myMod, 1); +} + + +int sendModuleGeneral(int file_des, sls_detector_module *myMod, int sendAll) { int ts=0; #ifdef VERBOSE int idac; @@ -421,11 +427,12 @@ int sendModule(int file_des, sls_detector_module *myMod) { ts+=sendData(file_des,&(myMod->nadc),sizeof(myMod->nadc),INT32); ts+=sendData(file_des,&(myMod->reg),sizeof(myMod->reg),INT32); ts+=sendData(file_des,myMod->dacs,sizeof(myMod->ndac),OTHER); -#ifndef JUNGFRAU_DHANYA ts+=sendData(file_des,myMod->adcs,sizeof(myMod->nadc),OTHER); - ts+=sendData(file_des,myMod->chipregs,sizeof(myMod->nchip),OTHER); - ts+=sendData(file_des,myMod->chanregs,sizeof(myMod->nchan),OTHER); -#endif + /*some detectors dont require sending all trimbits etc.*/ + if(sendAll){ + ts+=sendData(file_des,myMod->chipregs,sizeof(myMod->nchip),OTHER); + ts+=sendData(file_des,myMod->chanregs,sizeof(myMod->nchan),OTHER); + } ts+=sendData(file_des,&(myMod->gain), sizeof(myMod->gain),OTHER); ts+=sendData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER); @@ -438,21 +445,22 @@ int sendModule(int file_des, sls_detector_module *myMod) { for (idac=0; idac< nDacs; idac++) printf("dac %d is %d\n",idac,(int)myMod->dacs[idac]); #endif - -#ifndef JUNGFRAU_DHANYA ts+= sendData(file_des,myMod->adcs,sizeof(dacs_t)*nAdcs,INT32); #ifdef VERBOSE printf("adcs %d of size %d sent\n",myMod->module, ts); #endif - ts+=sendData(file_des,myMod->chipregs,sizeof(int)*nChips,INT32); + + /*some detectors dont require sending all trimbits etc.*/ + if(sendAll){ + ts+=sendData(file_des,myMod->chipregs,sizeof(int)*nChips,INT32); #ifdef VERBOSE - printf("chips %d of size %d sent\n",myMod->module, ts); + printf("chips %d of size %d sent\n",myMod->module, ts); #endif - ts+=sendData(file_des,myMod->chanregs,sizeof(int)*nChans,INT32); + ts+=sendData(file_des,myMod->chanregs,sizeof(int)*nChans,INT32); #ifdef VERBOSE - printf("chans %d of size %d sent - %d\n",myMod->module, ts, myMod->nchan); -#endif + printf("chans %d of size %d sent - %d\n",myMod->module, ts, myMod->nchan); #endif + } #ifdef VERBOSE printf("module %d of size %d sent register %x\n",myMod->module, ts, myMod->reg); @@ -513,7 +521,12 @@ int receiveChip(int file_des, sls_detector_chip* myChip) { return ts; } + int receiveModule(int file_des, sls_detector_module* myMod) { + return receiveModuleGeneral(file_des,myMod,1); +} + +int receiveModuleGeneral(int file_des, sls_detector_module* myMod, int receiveAll) { int ts=0; dacs_t *dacptr=myMod->dacs; dacs_t *adcptr=myMod->adcs; @@ -534,11 +547,12 @@ int receiveModule(int file_des, sls_detector_module* myMod) { ts+=receiveData(file_des,&(myMod->nadc),sizeof(myMod->nadc),INT32); ts+=receiveData(file_des,&(myMod->reg),sizeof(myMod->reg),INT32); ts+=receiveData(file_des,myMod->dacs,sizeof(myMod->ndac),INT32); -#ifndef JUNGFRAU_DHANYA ts+=receiveData(file_des,myMod->adcs,sizeof(myMod->nadc),INT32); - ts+=receiveData(file_des,myMod->chipregs,sizeof(myMod->nchip),INT32); - ts+=receiveData(file_des,myMod->chanregs,sizeof(myMod->nchan),INT32); -#endif + /*some detectors dont require sending all trimbits etc.*/ + if(receiveAll){ + ts+=receiveData(file_des,myMod->chipregs,sizeof(myMod->nchip),INT32); + ts+=receiveData(file_des,myMod->chanregs,sizeof(myMod->nchan),INT32); + } ts+=receiveData(file_des,&(myMod->gain), sizeof(myMod->gain),OTHER); ts+=receiveData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER); @@ -606,7 +620,6 @@ int receiveModule(int file_des, sls_detector_module* myMod) { return FAIL; } -#ifndef JUNGFRAU_DHANYA if (nadcdiff<=0) { ts+=receiveData(file_des,myMod->adcs, sizeof(dacs_t)*nAdcs,INT32); #ifdef VERBOSE @@ -621,34 +634,38 @@ int receiveModule(int file_des, sls_detector_module* myMod) { return FAIL; } - if (nchipdiff<=0) { - ts+=receiveData(file_des,myMod->chipregs, sizeof(int)*nChips,INT32); -#ifdef VERBOSE - printf("chips received\n"); -#endif - } else { - chipptr=(int*)malloc(nchipdiff*sizeof(int)); - myMod->nchip=nchipold; - ts+=receiveData(file_des,myMod->chipregs, sizeof(int)*nchipold,INT32); - ts+=receiveData(file_des,chipptr, sizeof(int)*nchipdiff,INT32); - free(chipptr); - return FAIL; - } - if (nchandiff<=0) { - ts+=receiveData(file_des,myMod->chanregs, sizeof(int)*nChans,INT32); + /*some detectors dont require sending all trimbits etc.*/ + if(receiveAll){ + + if (nchipdiff<=0) { + ts+=receiveData(file_des,myMod->chipregs, sizeof(int)*nChips,INT32); #ifdef VERBOSE - printf("chans received\n"); + printf("chips received\n"); #endif - } else { - chanptr=(int*)malloc(nchandiff*sizeof(int)); - myMod->nchan=nchanold; - ts+=receiveData(file_des,myMod->chanregs, sizeof(int)*nchanold,INT32); - ts+=receiveData(file_des,chanptr, sizeof(int)*nchandiff,INT32); - free(chanptr); - return FAIL; + } else { + chipptr=(int*)malloc(nchipdiff*sizeof(int)); + myMod->nchip=nchipold; + ts+=receiveData(file_des,myMod->chipregs, sizeof(int)*nchipold,INT32); + ts+=receiveData(file_des,chipptr, sizeof(int)*nchipdiff,INT32); + free(chipptr); + return FAIL; + } + + if (nchandiff<=0) { + ts+=receiveData(file_des,myMod->chanregs, sizeof(int)*nChans,INT32); +#ifdef VERBOSE + printf("chans received\n"); +#endif + } else { + chanptr=(int*)malloc(nchandiff*sizeof(int)); + myMod->nchan=nchanold; + ts+=receiveData(file_des,myMod->chanregs, sizeof(int)*nchanold,INT32); + ts+=receiveData(file_des,chanptr, sizeof(int)*nchandiff,INT32); + free(chanptr); + return FAIL; + } } -#endif #ifdef VERBOSE printf("received module %d of size %d register %x\n",myMod->module,ts,myMod->reg); #endif diff --git a/slsDetectorSoftware/commonFiles/communication_funcs.h b/slsDetectorSoftware/commonFiles/communication_funcs.h index 7ed8bf28b..e4e3fac27 100755 --- a/slsDetectorSoftware/commonFiles/communication_funcs.h +++ b/slsDetectorSoftware/commonFiles/communication_funcs.h @@ -42,9 +42,10 @@ int getServerError(int socketDescriptor); int sendChannel(int file_des, sls_detector_channel *myChan); int sendChip(int file_des, sls_detector_chip *myChip); int sendModule(int file_des, sls_detector_module *myMod); +int sendModuleGeneral(int file_des, sls_detector_module *myMod, int sendAll); int receiveChannel(int file_des, sls_detector_channel *myChan); int receiveChip(int file_des, sls_detector_chip* myChip); -int receiveModule(int file_des, sls_detector_module* myMod); - +int receiveModule(int file_des, sls_detector_module* myMod); +int receiveModuleGeneral(int file_des, sls_detector_module* myMod, int receiveAll); #endif diff --git a/slsDetectorSoftware/jungfrauDetectorServer/Makefile b/slsDetectorSoftware/jungfrauDetectorServer/Makefile index 1a5b41550..2a3101d1f 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/Makefile +++ b/slsDetectorSoftware/jungfrauDetectorServer/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 server_funcs.c communication_funcs.c firmware_funcs.c mcb_funcs.c sharedmemory.c OBJS = $(SRCS:%.c=%.o) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c index da99993e3..c4494ece4 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c @@ -124,7 +124,7 @@ const int nDacs=NDAC; const int nAdcs=NADC; #endif - +extern enum detectorType myDetectorType; int mapCSP0(void) { @@ -1140,11 +1140,10 @@ u_int32_t testRAM(void) { int getNModBoard() { -#ifdef JUNGFRAU_DHANYA +if(myDetectorType == JUNGFRAU) return 1; -#else +else return 32;//nModX; -#endif } int setNMod(int n) { @@ -1343,14 +1342,15 @@ int64_t getFramesFromStart(){ ROI *setROI(int nroi,ROI* arg,int *retvalsize, int *ret) { -#ifdef JUNGFRAU_DHANYA + + if(myDetectorType == JUNGFRAU) cprintf(RED,"ROI Not implemented for Jungfrau yet\n"); - return NULL; -#else + return NULL; + ROI retval[MAX_ROIS]; int i, ich; - adcDisableMask=0xfffffffff; /**has one f too many?, dhanya*/ + adcDisableMask=0xfffffffff; /*warning: integer constant is too large for ‘long’ type,warning: large integer implicitly truncated to unsigned type*/ printf("Setting ROI\n"); if (nroi>=0) { @@ -1403,15 +1403,13 @@ ROI *setROI(int nroi,ROI* arg,int *retvalsize, int *ret) { } } getDynamicRange(); - return retval; -#endif + return retval;/*warning: function returns address of local variable*/ + } int loadImage(int index, short int ImageVals[]){ - index; - Imagevals; printf("loadImage Not implemented yet\n"); /* @@ -1700,7 +1698,7 @@ ip.ip_destip = destip; count=sizeof(ip); - addr=&(ip); + addr=&(ip); /* warning: assignment from incompatible pointer type */ while( count > 1 ) { sum += *addr++; count -= 2; @@ -2348,15 +2346,15 @@ int setDynamicRange(int dr) { int getDynamicRange() { -#ifdef JUNGFRAU_DHANYA + if(myDetectorType == JUNGFRAU){ dynamicRange=16; - return dynamicRange; -#else + return dynamicRange; + } + nSamples=bus_r(NSAMPLES_REG); getChannels(); dataBytes=nModX*NCHIP*getChannels()*2; return dynamicRange*bus_r(NSAMPLES_REG);//nSamples; -#endif } int testBus() { @@ -2866,7 +2864,7 @@ int readCounterBlock(int startACQ, short int CounterVals[]){ printf("Value of multipurpose reg:%d\n",bus_r(MULTI_PURPOSE_REG)); #endif - memcpy(CounterVals,ptr,dataBytes); + memcpy(CounterVals,ptr,dataBytes); /*warning: passing argument 2 of ‘memcpy’ discards qualifiers from pointer target type*/ #ifdef VERBOSE int i; printf("Copied counter memory block with size of %d bytes..\n",dataBytes); @@ -2936,7 +2934,7 @@ int resetCounterBlock(int startACQ){ #endif - memcpy(counterVals,ptr,dataBytes); + memcpy(counterVals,ptr,dataBytes);/*warning: passing argument 2 of ‘memcpy’ discards qualifiers from pointer target type*/ #ifdef VERBOSE int i; printf("Copied counter memory block with size of %d bytes..\n",(int)sizeof(counterVals)); @@ -3128,7 +3126,7 @@ uint64_t writePatternWord(int addr, uint64_t word) { return readPatternWord(addr); } uint64_t writePatternIOControl(uint64_t word) { - if (word!=0xffffffffffffffff) { + if (word!=0xffffffffffffffff) { /*warning: integer constant is too large for ‘long’ type*/ // printf("%llx %llx %lld",get64BitReg(PATTERN_IOCTRL_REG_LSB,PATTERN_IOCTRL_REG_MSB),word); set64BitReg(word,PATTERN_IOCTRL_REG_LSB,PATTERN_IOCTRL_REG_MSB); // printf("************ write IOCTRL (%x)\n",PATTERN_IOCTRL_REG_MSB); @@ -3137,7 +3135,7 @@ uint64_t writePatternIOControl(uint64_t word) { } uint64_t writePatternClkControl(uint64_t word) { - if (word!=0xffffffffffffffff) set64BitReg(word,PATTERN_IOCLKCTRL_REG_LSB,PATTERN_IOCLKCTRL_REG_MSB); + if (word!=0xffffffffffffffff) set64BitReg(word,PATTERN_IOCLKCTRL_REG_LSB,PATTERN_IOCLKCTRL_REG_MSB);/*warning: integer constant is too large for ‘long’ type*/ return get64BitReg(PATTERN_IOCLKCTRL_REG_LSB,PATTERN_IOCLKCTRL_REG_MSB); } @@ -3282,7 +3280,7 @@ void initDac(int dacnum) { printf("data bit=%d, clkbit=%d, csbit=%d",ddx,cdx,csdx); - codata=((((0x6)<<4)+((0xf))<<16)+((0x0<<4)&0xfff0)); + codata=((((0x6)<<4)+((0xf))<<16)+((0x0<<4)&0xfff0)); /*warning: suggest parentheses around + or - inside shift*/ valw=0xffff; bus_w(offw,(valw)); // start point valw=((valw&(~(0x1<Gd7`)AHR3L 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 DXwJdw delta 60521 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

fI(9p=zs#kj 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

#7l_cPPGW-QJw+0OQ642{Q=Zz}th7xCPc!kk( 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 P8%o`@s<={^gYN$V Date: Wed, 10 Feb 2016 17:03:10 +0100 Subject: [PATCH 30/43] fixed receiver toalso get frames*cycles as number of frames --- .../slsDetector/slsDetector.cpp | 196 +++++++++--------- .../slsDetector/slsDetectorCommand.cpp | 2 +- 2 files changed, 97 insertions(+), 101 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 0d22aaedd..0cc50b0db 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -3864,124 +3864,120 @@ int slsDetector::startAndReadAllNoWait(){ int64_t slsDetector::setTimer(timerIndex index, int64_t t){ - int fnum=F_SET_TIMER,fnum2=F_SET_RECEIVER_TIMER; - int64_t retval = -1; - int64_t ut = -2; - char mess[100]; - int ret=OK; - int n=0; + int fnum=F_SET_TIMER,fnum2=F_SET_RECEIVER_TIMER; + int64_t retval = -1; + int64_t ut = -2; + char mess[100]; + int ret=OK; + int n=0; - if (index!=MEASUREMENTS_NUMBER) { + if (index!=MEASUREMENTS_NUMBER) { #ifdef VERBOSE - std::cout<< "Setting timer "<< index << " to " << t << "ns/value" << std::endl; + std::cout<< "Setting timer "<< index << " to " << t << "ns/value" << std::endl; #endif - if (thisDetector->onlineFlag==ONLINE_FLAG) { - if (connectControl() == OK){ - controlSocket->SendDataOnly(&fnum,sizeof(fnum)); - controlSocket->SendDataOnly(&index,sizeof(index)); - n=controlSocket->SendDataOnly(&t,sizeof(t)); - controlSocket->ReceiveDataOnly(&ret,sizeof(ret)); - if (ret==FAIL) { - controlSocket->ReceiveDataOnly(mess,sizeof(mess)); - std::cout<< "Detector returned error: " << mess << std::endl; - setErrorMask((getErrorMask())|(DETECTOR_TIMER_VALUE_NOT_SET)); + if (thisDetector->onlineFlag==ONLINE_FLAG) { + if (connectControl() == OK){ + controlSocket->SendDataOnly(&fnum,sizeof(fnum)); + controlSocket->SendDataOnly(&index,sizeof(index)); + n=controlSocket->SendDataOnly(&t,sizeof(t)); + controlSocket->ReceiveDataOnly(&ret,sizeof(ret)); + if (ret==FAIL) { + controlSocket->ReceiveDataOnly(mess,sizeof(mess)); + std::cout<< "Detector returned error: " << mess << std::endl; + setErrorMask((getErrorMask())|(DETECTOR_TIMER_VALUE_NOT_SET)); + } else { + controlSocket->ReceiveDataOnly(&retval,sizeof(retval)); + thisDetector->timerValue[index]=retval; + } + disconnectControl(); + if (ret==FORCE_UPDATE) { + updateDetector(); +#ifdef VERBOSE + std::cout<< "Updated!" << std::endl; +#endif + + } + } + } else { + //std::cout<< "offline " << std::endl; + if (t>=0) + thisDetector->timerValue[index]=t; + if((thisDetector->myDetectorType==GOTTHARD)|| + (thisDetector->myDetectorType==PROPIX)|| + (thisDetector->myDetectorType==JUNGFRAU)|| + (thisDetector->myDetectorType==MOENCH)) + thisDetector->timerValue[PROBES_NUMBER]=0; + } } else { - controlSocket->ReceiveDataOnly(&retval,sizeof(retval)); - thisDetector->timerValue[index]=retval; + if (t>=0) + thisDetector->timerValue[index]=t; } - disconnectControl(); - if (ret==FORCE_UPDATE) { - updateDetector(); #ifdef VERBOSE - std::cout<< "Updated!" << std::endl; + std::cout<< "Timer " << index << " set to "<< thisDetector->timerValue[index] << "ns" << std::endl; #endif + if ((thisDetector->myDetectorType==MYTHEN)&&(index==PROBES_NUMBER)) { + setDynamicRange(); + //cout << "Changing probes: data size = " << thisDetector->dataBytes <=0) - thisDetector->timerValue[index]=t; - if((thisDetector->myDetectorType==GOTTHARD)|| - (thisDetector->myDetectorType==PROPIX)|| - (thisDetector->myDetectorType==JUNGFRAU)|| - (thisDetector->myDetectorType==MOENCH)) - thisDetector->timerValue[PROBES_NUMBER]=0; - } - } else { - if (t>=0) - thisDetector->timerValue[index]=t; - } + + /* set progress */ + if ((index==FRAME_NUMBER) || (index==CYCLES_NUMBER)) { + setTotalProgress(); + } + + + + //send acquisiton period/frame number to receiver + if((index==FRAME_NUMBER)||(index==FRAME_PERIOD)||(index==CYCLES_NUMBER)){ + if(ret != FAIL){ + if(setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG){ + int64_t args[2]; + args[1] = retval; + if(t == -1) args[1] = -1; + + if((index==FRAME_NUMBER)||(index==CYCLES_NUMBER)){ #ifdef VERBOSE - std::cout<< "Timer " << index << " set to "<< thisDetector->timerValue[index] << "ns" << std::endl; + std::cout << "Setting/Getting number of frames " << index <<" to/from receiver " << args[1] << std::endl; #endif - - if ((thisDetector->myDetectorType==MYTHEN)&&(index==PROBES_NUMBER)) { - setDynamicRange(); - //cout << "Changing probes: data size = " << thisDetector->dataBytes <timerValue[FRAME_NUMBER]*thisDetector->timerValue[CYCLES_NUMBER]; + if(args[1] != -1) args[1]=retval; + }else{ #ifdef VERBOSE - - std::cout << "Setting/Getting number of frames " << index <<" to/from receiver " << args[1] << std::endl; + std::cout << "Setting/Getting acquisition period " << index << " to/from receiver " << args[1] << std::endl; #endif - args[0] = FRAME_NUMBER; - }else{ -#ifdef VERBOSE - std::cout << "Setting/Getting acquisition period " << index << " to/from receiver " << args[1] << std::endl; -#endif - args[0] = FRAME_PERIOD; - //if acquisition period is zero, then #frames/buffer depends on exposure time and not acq period - if(!retval) - args[1] = timerValue[ACQUISITION_TIME]; - } + args[0] = FRAME_PERIOD; + //if acquisition period is zero, then #frames/buffer depends on exposure time and not acq period + if(!retval) args[1] = timerValue[ACQUISITION_TIME]; + } - if (connectData() == OK) - ret=thisReceiver->sendIntArray(fnum2,ut,args); - disconnectData(); - if((ut != retval)|| (ret==FAIL)){ - ret = FAIL; - if(index==FRAME_PERIOD){ - //exptime sent if acq period = 0 - if(retval){ - cout << "ERROR:Acquisition Period in receiver set incorrectly to " << ut << " instead of " << retval << endl; - setErrorMask((getErrorMask())|(RECEIVER_ACQ_PERIOD_NOT_SET)); - } - }else{ - cout << "ERROR:Number of Frames in receiver set incorrectly to " << ut << " instead of " << retval << endl; - setErrorMask((getErrorMask())|(RECEIVER_FRAME_NUM_NOT_SET)); - } - } - - if(ret==FORCE_UPDATE) - updateReceiver(); - } - } -} - return thisDetector->timerValue[index]; + if (connectData() == OK) + ret=thisReceiver->sendIntArray(fnum2,ut,args); + disconnectData(); + if((ut != retval)|| (ret==FAIL)){ + ret = FAIL; + if(index==FRAME_PERIOD){ + //exptime sent if acq period = 0 + if(retval){ + cout << "ERROR:Acquisition Period in receiver set incorrectly to " << ut << " instead of " << retval << endl; + setErrorMask((getErrorMask())|(RECEIVER_ACQ_PERIOD_NOT_SET)); + } + }else{ + cout << "ERROR:Number of Frames (* Number of cycles) in receiver set incorrectly to " << ut << " instead of " << retval << endl; + setErrorMask((getErrorMask())|(RECEIVER_FRAME_NUM_NOT_SET)); + } + } + if(ret==FORCE_UPDATE) + updateReceiver(); + } + } + } + return thisDetector->timerValue[index]; }; int slsDetector::lockServer(int lock) { diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index af37e8f4d..a0d8c6c52 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -1954,7 +1954,7 @@ string slsDetectorCommand::helpRateCorr(int narg, char *args[], int action){ if (action==GET_ACTION || action==HELP_ACTION) os << string("ratecorr \t returns the dead time used for rate correections in ns \n"); if (action==PUT_ACTION || action==HELP_ACTION) - os << string("ratecorr ns \t sets the deadtime correction constant in ns, -1 in Eiger will set it to default tau of that settings\n"); + os << string("ratecorr ns \t sets the deadtime correction constant in ns, -1 in Eiger will set it to default tau of settings\n"); return os.str(); } From 5d3c427f110fade95a118fab680d58af54556fce Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 11 Feb 2016 10:48:58 +0100 Subject: [PATCH 31/43] changed setctrbit command to resmat --- slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index a0d8c6c52..d2322c301 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -163,7 +163,7 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) { descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdCounter; i++; - descrToFuncMap[i].m_pFuncName="setctrbit"; // + descrToFuncMap[i].m_pFuncName="resmat"; // descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdCounter; i++; @@ -2247,10 +2247,10 @@ string slsDetectorCommand::cmdCounter(int narg, char *args[], int action){ retval=myDet->resetCounterBlock(ival); } - else if (string(args[0])==string("setctrbit")){ + else if (string(args[0])==string("resmat")){ if (action==PUT_ACTION){ if (!sscanf(args[1],"%d",&ival)) - return string("Could not scan resetctrbit input ")+string(args[1]); + return string("Could not scan resmat input ")+string(args[1]); if(ival>=0) sprintf(answer,"%d",myDet->setCounterBit(ival)); }else @@ -2271,12 +2271,12 @@ string slsDetectorCommand::helpCounter(int narg, char *args[], int action){ if (action==PUT_ACTION || action==HELP_ACTION){ os << "readctr \t Cannot put"<< std::endl; os << "resetctr i \t resets counter in detector, restarts acquisition if i=1"<< std::endl; - os << "setctrbit i \t sets/resets counter bit in detector"<< std::endl; + os << "resmat i \t sets/resets counter bit in detector"<< std::endl; } if (action==GET_ACTION || action==HELP_ACTION){ os << "readctr i fname\t reads counter in detector to file fname, restarts acquisition if i=1"<< std::endl; os << "resetctr \t Cannot get"<< std::endl; - os << "setctrbit i \t gets the counter bit in detector"<< std::endl; + os << "resmat i \t gets the counter bit in detector"<< std::endl; } return os.str(); } From a3e2a6c37c5d19785b1114f49e21f117c79cceaf Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 11 Feb 2016 14:24:21 +0100 Subject: [PATCH 32/43] removed unnecessary eiger server executables --- .../eigerDetectorServer/bin/beb_debug | Bin 99812 -> 0 bytes .../bin/eigerDetectorServer_gemma | Bin 238029 -> 0 bytes .../eigerDetectorServer/bin/feb_debug | Bin 152692 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/beb_debug delete mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer_gemma delete mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/feb_debug diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/beb_debug b/slsDetectorSoftware/eigerDetectorServer/bin/beb_debug deleted file mode 100755 index 81a3ceee0fe5c8eda53713cc6d896c4b775d0b7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99812 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 T+(QS|#QHRS_uF2h{4^YA-S75wQG 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 From a0c6aad7c692b2f1f8c10e6325423ce21cc4b6a6 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 12 Feb 2016 15:26:37 +0100 Subject: [PATCH 33/43] renamed eiger server final to reflect the revision --- ...erDetectorServer => eigerDetectorServerv1.11.16} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename slsDetectorSoftware/eigerDetectorServer/bin/{eigerDetectorServer => eigerDetectorServerv1.11.16} (100%) diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.16 similarity index 100% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.16 From db2e75460e8b6e090f788c62d71c3bd225422260 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 12 Feb 2016 17:26:14 +0100 Subject: [PATCH 34/43] fixed bug of wrong number of frames in receiver when server starts --- 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 0cc50b0db..7b5699329 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -3943,7 +3943,7 @@ int64_t slsDetector::setTimer(timerIndex index, int64_t t){ std::cout << "Setting/Getting number of frames " << index <<" to/from receiver " << args[1] << std::endl; #endif args[0] = FRAME_NUMBER; - retval = thisDetector->timerValue[FRAME_NUMBER]*thisDetector->timerValue[CYCLES_NUMBER]; + retval = abs(thisDetector->timerValue[FRAME_NUMBER]*thisDetector->timerValue[CYCLES_NUMBER]); if(args[1] != -1) args[1]=retval; }else{ #ifdef VERBOSE From 764078d465465ab8ccb7ffd1c2427d3d08eb0451 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 16 Feb 2016 11:07:12 +0100 Subject: [PATCH 35/43] something --- .../multiSlsDetector/multiSlsDetector.cpp | 47 +++++++++++++------ .../slsDetector/slsDetector.cpp | 12 +++-- 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 4c72a5293..08e0ad8b3 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -2452,7 +2452,7 @@ int multiSlsDetector::setRateCorrection(double t){ } if (getDetectorsType() != MYTHEN){ - if (ret1<=0) + if (ret1==0) thisMultiDetector->correctionMask&=~(1<correctionMask|=(1<correctionMask&(1<tDead << std::endl; #endif - - if (getDetectorsType() != MYTHEN) - t = getRateCorrectionTau(); - return 1; } else t=0; @@ -2484,20 +2485,36 @@ int multiSlsDetector::getRateCorrection(double &t){ double multiSlsDetector::getRateCorrectionTau(){ double ret1=-100,ret; + for (int idet=0; idetnumberOfDetectors; idet++) { + if (detectors[idet]) { + ret=detectors[idet]->getRateCorrectionTau(); + if (ret1==-100) + ret1=ret; + else if (ret!=ret1){ + std::cout<< "Rate correction is different for different readouts " << std::endl; + if(getDetectorsType() == EIGER) + ret1=-2; + else + ret1=-1; //same settings also return -1 + } + } + } + + if (getDetectorsType() != MYTHEN){ + cout<<"ret1:"<correctionMask&=~(1<correctionMask|=(1<correctionMask&(1<tDead << std::endl; #endif - - for (int idet=0; idetnumberOfDetectors; idet++) { - if (detectors[idet]) { - ret=detectors[idet]->getRateCorrectionTau(); - if (ret1==-100) - ret1=ret; - else if (ret!=ret1) - ret1=-1; - } - } } else { #ifdef VERBOSE std::cout<< "Rate correction is disabled " << std::endl; diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 7b5699329..8cc69de70 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -5017,11 +5017,17 @@ int slsDetector::setRateCorrection(double t){ thisDetector->correctionMask&=~(1<tDead = 0; }else{ - if(retval>0) + if(retval>0){ thisDetector->correctionMask|=(1<tDead = -1; + else + thisDetector->tDead = (double)retval/(double)1e9; + } + else{ thisDetector->correctionMask&=~(1<tDead = (double)retval/(double)1e9; + thisDetector->tDead = (double)retval/(double)1e9; + } } } else { controlSocket->ReceiveDataOnly(mess,sizeof(mess)); From 8d2f54838ab5dfe20af250f357048f64152d9705 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 17 Feb 2016 15:17:40 +0100 Subject: [PATCH 36/43] fixed corrections for rate correction, needed to reset daq completely --- .../eigerDetectorServer/FebControl.c | 41 +++++++++++------- ...erv1.11.16 => eigerDetectorServerv1.11.17} | Bin 268509 -> 268630 bytes .../slsDetectorFunctionList.c | 13 +++++- .../multiSlsDetector/multiSlsDetector.cpp | 1 - .../slsDetector/slsDetector.cpp | 2 +- .../slsDetectorFunctionList.h | 2 + .../slsDetectorServer_funcs.c | 27 +++++++++--- 7 files changed, 63 insertions(+), 23 deletions(-) rename slsDetectorSoftware/eigerDetectorServer/bin/{eigerDetectorServerv1.11.16 => eigerDetectorServerv1.11.17} (63%) diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index ab24d0d6d..851eb5e5d 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -60,7 +60,7 @@ int Feb_Control_module_number; int Feb_Control_current_index; int Feb_Control_counter_bit = 1; - +int Feb_control_master = 0; unsigned int Feb_Control_rate_correction_table[1024]; double Feb_Control_rate_meas[16384]; @@ -138,17 +138,17 @@ unsigned int Module_GetBottomLeftAddress(struct Module* mod) {return mod->botto unsigned int Module_GetBottomRightAddress(struct Module* mod) {return mod->bottom_right_address;} unsigned int Module_SetTopIDelay(struct Module* mod,unsigned int chip,unsigned int value) { return Module_TopAddressIsValid(mod) &&chip<4 ? (mod->idelay_top[chip]=value) : 0;} //chip 0=ll,1=lr,0=rl,1=rr -unsigned int Module_GetTopIDelay(struct Module* mod,unsigned int chip) { return chip<4 ? mod->idelay_top[chip] : 0;} //chip 0=ll,1=lr,0=rl,1=rr +unsigned int Module_GetTopIDelay(struct Module* mod,unsigned int chip) { return chip<4 ? mod->idelay_top[chip] : 0;} //chip 0=ll,1=lr,0=rl,1=rr unsigned int Module_SetBottomIDelay(struct Module* mod,unsigned int chip,unsigned int value) { return Module_BottomAddressIsValid(mod) &&chip<4 ? (mod->idelay_bottom[chip]=value) : 0;} //chip 0=ll,1=lr,0=rl,1=rr -unsigned int Module_GetBottomIDelay(struct Module* mod,unsigned int chip) { return chip<4 ? mod->idelay_bottom[chip] : 0;} //chip 0=ll,1=lr,0=rl,1=rr +unsigned int Module_GetBottomIDelay(struct Module* mod,unsigned int chip) { return chip<4 ? mod->idelay_bottom[chip] : 0;} //chip 0=ll,1=lr,0=rl,1=rr -float Module_SetHighVoltage(struct Module* mod,float value) { return Module_TopAddressIsValid(mod) ? (mod->high_voltage=value) : -1;} -float Module_GetHighVoltage(struct Module* mod) { return mod->high_voltage;} +float Module_SetHighVoltage(struct Module* mod,float value) { return Feb_control_master ? (mod->high_voltage=value) : -1;}// Module_TopAddressIsValid(mod) ? (mod->high_voltage=value) : -1;} +float Module_GetHighVoltage(struct Module* mod) { return mod->high_voltage;} -int Module_SetTopDACValue(struct Module* mod,unsigned int i, int value) { return (itop_dac[i]=value) : -1;} -int Module_GetTopDACValue(struct Module* mod,unsigned int i) { return (itop_dac[i]:-1;} -int Module_SetBottomDACValue(struct Module* mod,unsigned int i, int value) { return (ibottom_dac[i]=value) : -1;} -int Module_GetBottomDACValue(struct Module* mod,unsigned int i) { return (ibottom_dac[i]:-1;} +int Module_SetTopDACValue(struct Module* mod,unsigned int i, int value) { return (itop_dac[i]=value) : -1;} +int Module_GetTopDACValue(struct Module* mod,unsigned int i) { return (itop_dac[i] : -1;} +int Module_SetBottomDACValue(struct Module* mod,unsigned int i, int value) { return (ibottom_dac[i]=value): -1;} +int Module_GetBottomDACValue(struct Module* mod,unsigned int i) { return (ibottom_dac[i] : -1;} @@ -178,6 +178,7 @@ int Feb_Control_Init(int master, int top, int module_num){ unsigned int i; Feb_Control_module_number = 0; Feb_Control_current_index = 0; + Feb_control_master = master; //global send Feb_Control_AddModule1(0,1,0xff,0,1); @@ -534,7 +535,7 @@ int Feb_Control_ReadSetUpFile(unsigned int module_num, char* file_name){ } -int Feb_Control_CheckSetup(){ +int Feb_Control_CheckSetup(int master){ printf("Checking Set up\n"); unsigned int i,j; int ok = 1; @@ -552,7 +553,7 @@ int Feb_Control_CheckSetup(){ ok=0; } } - if(Module_GetHighVoltage(&modules[i])<0){ + if((Feb_control_master) &&(Module_GetHighVoltage(&modules[i])<0)){ cprintf(RED,"Warning: module %d's high voltage not set.\n",Module_GetModuleNumber(&modules[i])); ok=0; } @@ -705,7 +706,7 @@ int Feb_Control_SetHighVoltage1(unsigned int module_num,float value){ unsigned int module_index=0; unsigned int i; - if(Module_TopAddressIsValid(&modules[module_index])){ + if(Feb_control_master){//if(Module_TopAddressIsValid(&modules[module_index])){ if(!Feb_Control_GetModuleIndex(module_num,&module_index)){/*||!Module_TopAddressIsValid(&modules[module_index])){*/ cprintf(RED,"Error could not set high voltage module number %d invalid.\n",module_num); return 0; @@ -958,7 +959,9 @@ int Feb_Control_SetTrimbits(unsigned int module_num, unsigned int *trimbits){ for(l_r=0;l_r<2;l_r++){ // l_r loop //printf("\nl_r:%d\t\t",l_r); unsigned int disable_chip_mask = l_r ? DAQ_CS_BAR_LEFT : DAQ_CS_BAR_RIGHT; - if(!(Feb_Interface_WriteRegister(0xfff,DAQ_REG_STATIC_BITS,disable_chip_mask|DAQ_STATIC_BIT_PROGRAM|DAQ_STATIC_BIT_M8,0,0)&&Feb_Control_SetCommandRegister(DAQ_SET_STATIC_BIT)&&Feb_Control_StartDAQOnlyNWaitForFinish(5000))){ + if(!(Feb_Interface_WriteRegister(0xfff,DAQ_REG_STATIC_BITS,disable_chip_mask|DAQ_STATIC_BIT_PROGRAM|DAQ_STATIC_BIT_M8,0,0) + &&Feb_Control_SetCommandRegister(DAQ_SET_STATIC_BIT) + &&Feb_Control_StartDAQOnlyNWaitForFinish(5000))){ printf("Could not select chips\n"); return 0; } @@ -1183,7 +1186,7 @@ int Feb_Control_WaitForStartedFlag(int sleep_time_us, int prev_flag){ } -int Feb_Control_Reset(){ +int Feb_Control_Reset(){printf("Reset daq\n"); if(!Feb_Interface_WriteRegister(Feb_Control_AddressToAll(),DAQ_REG_CTRL,0,0,0) || !Feb_Interface_WriteRegister(Feb_Control_AddressToAll(),DAQ_REG_CTRL,DAQ_CTRL_RESET,0,0) || !Feb_Interface_WriteRegister(Feb_Control_AddressToAll(),DAQ_REG_CTRL,0,0,0)){ cprintf(RED,"Warning: Could not reset daq, no response.\n"); return 0; @@ -1897,9 +1900,17 @@ int Feb_Control_SetRateCorrectionTable(unsigned int *table){ return 0; } + printf("Setting rate correction table. %d %d %d %d ....\n", table[0],table[1],table[2],table[3]); + //was added otherwise after an acquire, startdaqonlywatiforfinish waits forever + if(!Feb_Control_SetCommandRegister(DAQ_RESET_COMPLETELY)){ + cprintf(RED,"Warning: Could not Feb_Control_SetCommandRegister for loading trim bits.\n"); + return 0; + } + printf("daq reset completely\n"); + if(Module_TopAddressIsValid(&modules[1])){ if(!Feb_Interface_WriteMemoryInLoops(Module_GetTopLeftAddress(&modules[Feb_Control_current_index]),1,0,1024,Feb_Control_rate_correction_table)|| !Feb_Interface_WriteMemoryInLoops(Module_GetTopRightAddress(&modules[Feb_Control_current_index]),1,0,1024,Feb_Control_rate_correction_table)|| @@ -1915,7 +1926,7 @@ int Feb_Control_SetRateCorrectionTable(unsigned int *table){ return 0; } } - +cprintf(BLUE, "done with writing to memory\n"); return 1; } diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.16 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.17 similarity index 63% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.16 rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.17 index 1e728fc0f6ffd1746aa5c3982a07780ee11032ea..5777e04d77688f891000ead7e1a79f1b7d66904b 100755 GIT binary patch delta 36174 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 RIh-0TxcQ|IAFMqV_#YnXM8p69 delta 35174 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 btZi=T$Y`Hy{xudGEB}naQ;lOMTStulS5#y= diff --git a/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c b/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c index cb68c0844..530831068 100644 --- a/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c @@ -522,6 +522,18 @@ int setRateCorrection(int64_t custom_tau_in_nsec){//in nanosec (will never be -1 return Feb_Control_Get_RateTable_Tau_in_nsec(); } +int getRateCorrectionEnable(){ + return Feb_Control_GetRateCorrectionVariable(); +} + +int getDefaultSettingsTau_in_nsec(){ + switch(thisSettings){ + case STANDARD: return STANDARD_TAU; + case HIGHGAIN: return HIGHGAIN_TAU; + case LOWGAIN: return LOWGAIN_TAU; + default: return -1; + } +} int setModule(sls_detector_module myMod, int* gain, int* offset){ @@ -577,7 +589,6 @@ int setModule(sls_detector_module myMod, int* gain, int* offset){ return FAIL; } - return 0; } diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 08e0ad8b3..1a98955c0 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -2501,7 +2501,6 @@ double multiSlsDetector::getRateCorrectionTau(){ } if (getDetectorsType() != MYTHEN){ - cout<<"ret1:"<correctionMask&=~(1<myDetectorType == EIGER && strcasestr(mess,"tau")){ + if(ret == FAIL && thisDetector->myDetectorType == EIGER && strcasestr(mess,"Rate")){ setErrorMask((getErrorMask())|(COULD_NOT_SET_RATE_CORRECTION)); thisDetector->correctionMask&=~(1<tDead = 0; diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h b/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h index e4025db45..62fb82bcd 100644 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h @@ -52,6 +52,8 @@ int pulsePixel(int n, int x, int y); int pulsePixelNMove(int n, int x, int y); int pulseChip(int n); int setRateCorrection(int64_t custom_tau_in_nsec); +int getRateCorrectionEnable(); +int getDefaultSettingsTau_in_nsec(); #endif #if defined(MYTHEND) || defined(GOTTHARDD) diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index 707ee279b..29e13ffeb 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -1899,6 +1899,25 @@ int set_module(int file_des) { } else { #ifdef EIGERD ret=setModule(myModule, myGain, myOffset); + //rate correction + if(getRateCorrectionEnable()){ + int64_t tau_ns = getDefaultSettingsTau_in_nsec(); + if(tau_ns < 0){ + sprintf(mess,"Cannot set Rate correction. Rate correction Deactivated, settings %d not recognized by detector\n",thisSettings); + cprintf(RED,"%s",mess); + ret = FAIL; + setRateCorrection(0); + } + retval = setRateCorrection(tau_ns); //tau_ns will not be -1 here + if(tau_ns != retval){ + if(retval == -1) + strcpy(mess,"Could not set Rate correction. Rate correction Deactivated, (tau/subexptime) must be < 0.0015\n"); + else + strcpy(mess,"Could not set Rate correction. Rate correction Deactivated\n"); + cprintf(RED,"%s",mess); + ret = FAIL; + } + } #else ret=setModule(myModule); #endif @@ -3860,13 +3879,11 @@ int rate_correct(int file_des) { #endif #ifdef SLS_DETECTOR_FUNCTION_LIST + //tau = -1, use default tau of settings if((ret==OK)&&(tau_ns<0)){ - switch(thisSettings){ - case STANDARD: tau_ns = STANDARD_TAU; break; - case HIGHGAIN: tau_ns = HIGHGAIN_TAU; break; - case LOWGAIN: tau_ns = LOWGAIN_TAU; break; - default: + tau_ns = getDefaultSettingsTau_in_nsec(); + if(tau_ns < 0){ ret = FAIL; sprintf(mess,"Cannot set rate correction. Settings %d not recognized by detector\n",thisSettings); cprintf(RED,"%s",mess); From cb1a30c4505259b80dfac54a6aa9284f2b8cad89 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 17 Feb 2016 15:18:39 +0100 Subject: [PATCH 37/43] added the script to change and add server with the version numbering --- slsDetectorSoftware/eigerDetectorServer/renameServer.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 slsDetectorSoftware/eigerDetectorServer/renameServer.sh diff --git a/slsDetectorSoftware/eigerDetectorServer/renameServer.sh b/slsDetectorSoftware/eigerDetectorServer/renameServer.sh new file mode 100644 index 000000000..a3745d4a3 --- /dev/null +++ b/slsDetectorSoftware/eigerDetectorServer/renameServer.sh @@ -0,0 +1,3 @@ +mv bin/eigerDetectorServer bin/$2 +git rm bin/$1 +git add bin/$2 From 4eba07ca907b7efd0c2d915a355ae863fe9f9ef7 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 17 Feb 2016 18:01:58 +0100 Subject: [PATCH 38/43] added error message tau/subexptime to error list --- slsDetectorSoftware/commonFiles/error_defs.h | 7 +++++++ slsDetectorSoftware/eigerDetectorServer/FebControl.c | 1 - slsDetectorSoftware/slsDetector/slsDetector.cpp | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/slsDetectorSoftware/commonFiles/error_defs.h b/slsDetectorSoftware/commonFiles/error_defs.h index c7f2b01b3..2ad16c404 100644 --- a/slsDetectorSoftware/commonFiles/error_defs.h +++ b/slsDetectorSoftware/commonFiles/error_defs.h @@ -57,6 +57,7 @@ using namespace std; #define COULD_NOT_PULSE_PIXEL_NMOVE 0x0000000000080000ULL #define COULD_NOT_PULSE_CHIP 0x0000000000100000ULL #define COULD_NOT_SET_RATE_CORRECTION 0x0000000000200000ULL +#define RATE_CORRECTION_TAU_SUBEXPOSURE 0x0000000000400000ULL // 0x00000000FFFFFFFFULL /** @short class returning all error messages for error mask */ @@ -181,6 +182,12 @@ public: if(slsErrorMask&COULD_NOT_SET_RATE_CORRECTION) retval.append("Could not set rate correction\n"); + if(slsErrorMask&RATE_CORRECTION_TAU_SUBEXPOSURE) + retval.append("Rate Correction Deactivated: (tau/subexptime) must be less than 0.0015\n"); + + + //------------------------------------------------------ length of message + return retval; diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index 851eb5e5d..54ea06559 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -1926,7 +1926,6 @@ int Feb_Control_SetRateCorrectionTable(unsigned int *table){ return 0; } } -cprintf(BLUE, "done with writing to memory\n"); return 1; } diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 85005f155..310bca9f0 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -2773,6 +2773,8 @@ int slsDetector::setModule(sls_detector_module module, int* gainval, int* offset if(ret == FAIL && thisDetector->myDetectorType == EIGER && strcasestr(mess,"Rate")){ setErrorMask((getErrorMask())|(COULD_NOT_SET_RATE_CORRECTION)); + if(strcasestr(mess,"tau/subexptime")) + setErrorMask((getErrorMask())|(RATE_CORRECTION_TAU_SUBEXPOSURE)); thisDetector->correctionMask&=~(1<tDead = 0; } @@ -5033,6 +5035,8 @@ int slsDetector::setRateCorrection(double t){ controlSocket->ReceiveDataOnly(mess,sizeof(mess)); std::cout<< "Detector returned error: " << mess << std::endl; setErrorMask((getErrorMask())|(COULD_NOT_SET_RATE_CORRECTION)); + if(strcasestr(mess,"tau/subexptime")) + setErrorMask((getErrorMask())|(RATE_CORRECTION_TAU_SUBEXPOSURE)); thisDetector->correctionMask&=~(1<tDead = 0; } From 0b1710c267d1d41e67c96bb3251b2c5df0f73e6f Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 17 Feb 2016 18:03:32 +0100 Subject: [PATCH 39/43] updated server bianry --- .../bin/eigerDetectorServerv1.11.17 | Bin 268630 -> 268630 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.17 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.17 index 5777e04d77688f891000ead7e1a79f1b7d66904b..e21545f5db4506ab86c17ba7d3230ecb61f124a5 100755 GIT binary patch delta 16546 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 delta 16608 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 From e7a7dd8c6ba8ea6dd33a2f3b8eace742c026b72f Mon Sep 17 00:00:00 2001 From: Anna Bergamaschi Date: Mon, 22 Feb 2016 15:02:42 +0100 Subject: [PATCH 40/43] Merging with anna's jungfrau detector server version --- .../jungfrauDetectorServer/firmware_funcs.c | 422 ++++++++---------- .../jungfrauDetectorServer/registers_m.h | 152 +++---- .../jungfrauDetectorServer/server_funcs.c | 101 ++--- 3 files changed, 275 insertions(+), 400 deletions(-) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c index 312c9182e..1765f4662 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c @@ -1,6 +1,7 @@ //#define TESTADC #define TESTADC1 + //#define TIMEDBG #include "server_defs.h" #include "firmware_funcs.h" @@ -97,7 +98,11 @@ int phase_shift=0;//DEFAULT_PHASE_SHIFT; int ipPacketSize=DEFAULT_IP_PACKETSIZE; int udpPacketSize=DEFAULT_UDP_PACKETSIZE; +#ifndef NEW_PLL_RECONFIG u_int32_t clkDivider[2]={32,16}; +#else +u_int32_t clkDivider[2]={40,20}; +#endif int32_t clkPhase[2]={0,0}; u_int32_t adcDisableMask=0; @@ -436,10 +441,10 @@ void configurePll(int i) { // printf("PLL reconfig reset\N"); bus_w(PLL_CNTRL_REG,(1<65535 || st<-65535) return clkPhase[0]; - - printf("phase %d\n", st); - - clkPhase[1]=st-clkPhase[0]; - +#ifdef NEW_PLL_RECONFIG + printf("reset pll\n"); + bus_w(PLL_CNTRL_REG,((1<=0) { + + if (val<60) { + dacvalue=0; + val=60; + } else if (val>=200) { + dacvalue=0x1; + val=200; + } else { + dacvalue=1.+(200.-val)/alpha; + val=200.-(dacvalue-1)*alpha; + } + printf ("****************************** setting val %d, dacval %d\n",val, dacvalue); + offw=DAC_REG; + + ddx=8; csdx=10; cdx=9; + codata=((dacvalue)&0xff); + + + + + valw=0xffff; bus_w(offw,(valw)); // start point + valw=((valw&(~(0x1<>(7-i))&0x1)<>32)&0xFFFFFFFF; + vals[IPCHECKSUM_ADDR]=checksum; + vals[GBE_DELAY_ADDR]=0; + vals[GBE_RESERVED1_ADDR]=sourceport; + vals[GBE_RESERVED2_ADDR]=interface; + vals[DETECTOR_MAC_L_ADDR]=(sourcemac)&0xFFFFFFFF; + vals[DETECTOR_MAC_H_ADDR]=(sourcemac>>32)&0xFFFFFFFF; + vals[DETECTOR_IP_ADDR]=sourceip; + + for (ivar=0; ivarmac.mac_dest_mac1 =((macad>>(8*5))&0xFF);// 0x00; //pc7060 */ -/* mac_conf_regs->mac.mac_dest_mac2 =((macad>>(8*4))&0xFF);// 0x19; //pc7060 */ -/* mac_conf_regs->mac.mac_dest_mac3 =((macad>>(8*3))&0xFF);// 0x99; //pc7060 */ -/* mac_conf_regs->mac.mac_dest_mac4 =((macad>>(8*2))&0xFF);// 0x24; //pc7060 */ -/* mac_conf_regs->mac.mac_dest_mac5 =((macad>>(8*1))&0xFF);// 0xEB; //pc7060 */ -/* mac_conf_regs->mac.mac_dest_mac6 =((macad>>(8*0))&0xFF);// 0xEE; //pc7060 */ - -/* /\* */ -/* mac_conf_regs->mac.mac_src_mac1 = 0x00; */ -/* mac_conf_regs->mac.mac_src_mac2 = 0xAA; */ -/* mac_conf_regs->mac.mac_src_mac3 = 0xBB; */ -/* mac_conf_regs->mac.mac_src_mac4 = 0xCC; */ -/* mac_conf_regs->mac.mac_src_mac5 = 0xDD; */ -/* mac_conf_regs->mac.mac_src_mac6 = 0xEE; */ -/* *\/ */ -/* mac_conf_regs->mac.mac_src_mac1 =((detectormacad>>(8*5))&0xFF); */ -/* mac_conf_regs->mac.mac_src_mac2 =((detectormacad>>(8*4))&0xFF); */ -/* mac_conf_regs->mac.mac_src_mac3 =((detectormacad>>(8*3))&0xFF); */ -/* mac_conf_regs->mac.mac_src_mac4 =((detectormacad>>(8*2))&0xFF); */ -/* mac_conf_regs->mac.mac_src_mac5 =((detectormacad>>(8*1))&0xFF); */ -/* mac_conf_regs->mac.mac_src_mac6 =((detectormacad>>(8*0))&0xFF); */ -/* mac_conf_regs->mac.mac_ether_type = 0x0800; //ipv4 */ +} -/* mac_conf_regs->ip.ip_ver = 0x4; */ -/* mac_conf_regs->ip.ip_ihl = 0x5; */ -/* mac_conf_regs->ip.ip_tos = 0x0; */ -/* mac_conf_regs->ip.ip_len = ipPacketSize;//0x0522; // was 0x0526; */ -/* mac_conf_regs->ip.ip_ident = 0x0000; */ -/* mac_conf_regs->ip.ip_flag = 0x2; */ -/* mac_conf_regs->ip.ip_offset = 0x00; */ -/* mac_conf_regs->ip.ip_ttl = 0x70; */ -/* mac_conf_regs->ip.ip_protocol = 0x11; */ -/* mac_conf_regs->ip.ip_chksum = 0x0000 ; //6E42 now is automatically computed */ -/* mac_conf_regs->ip.ip_sourceip = detipad; //0x8181CA2E;129.129.202.46 */ -/* mac_conf_regs->ip.ip_destip = ipad; //CA57 */ - -/* //#ifdef VERBOSE */ -/* printf("mac_dest:%llx %x:%x:%x:%x:%x:%x\n", */ -/* macad, */ -/* mac_conf_regs->mac.mac_dest_mac1, */ -/* mac_conf_regs->mac.mac_dest_mac2, */ -/* mac_conf_regs->mac.mac_dest_mac3, */ -/* mac_conf_regs->mac.mac_dest_mac4, */ -/* mac_conf_regs->mac.mac_dest_mac5, */ -/* mac_conf_regs->mac.mac_dest_mac6); */ -/* printf("mac_src:%llx %x:%x:%x:%x:%x:%x\n", */ -/* detectormacad, */ -/* mac_conf_regs->mac.mac_src_mac1, */ -/* mac_conf_regs->mac.mac_src_mac2, */ -/* mac_conf_regs->mac.mac_src_mac3, */ -/* mac_conf_regs->mac.mac_src_mac4, */ -/* mac_conf_regs->mac.mac_src_mac5, */ -/* mac_conf_regs->mac.mac_src_mac6); */ -/* printf("ip_ttl:%x\n",mac_conf_regs->ip.ip_ttl); */ -/* printf("det_ip: %x %x\n",detipad, mac_conf_regs->ip.ip_sourceip); */ -/* printf("dest_ip: %x %x\n",ipad, mac_conf_regs->ip.ip_destip); */ - -/* //#endif */ - -/* //checksum */ -/* count=sizeof(mac_conf_regs->ip); */ -/* addr=&(mac_conf_regs->ip); */ -/* while( count > 1 ) { */ -/* sum += *addr++; */ -/* count -= 2; */ -/* } */ -/* if( count > 0 ) sum += *addr; // Add left-over byte, if any */ -/* while (sum>>16) sum = (sum & 0xffff) + (sum >> 16);// Fold 32-bit sum to 16 bits */ -/* checksum = (~sum)&0xffff; */ -/* mac_conf_regs->ip.ip_chksum = checksum; */ -/* //#ifdef VERBOSE */ -/* printf("IP header checksum is 0x%x s\n",(unsigned int)(checksum)); */ -/* //#endif */ - -/* mac_conf_regs->udp.udp_srcport = 0xE185; */ -/* mac_conf_regs->udp.udp_destport = udpport;//0xC351; */ -/* mac_conf_regs->udp.udp_len = udpPacketSize;//0x050E; //was 0x0512; */ -/* mac_conf_regs->udp.udp_chksum = 0x0000; */ - -/* #ifdef VERBOSE */ -/* printf("Configuring TSE\n"); */ -/* #endif */ -/* tse_conf_regs->rev = 0xA00; */ -/* tse_conf_regs->scratch = 0xCCCCCCCC; */ -/* tse_conf_regs->command_config = 0xB; */ -/* tse_conf_regs->mac_0 = 0x17231C00; */ -/* tse_conf_regs->mac_1 = 0xCB4A; */ -/* tse_conf_regs->frm_length = 0x5DC; //max frame length (1500 bytes) (was 0x41C) */ -/* tse_conf_regs->pause_quant = 0x0; */ -/* tse_conf_regs->rx_section_empty = 0x7F0; */ -/* tse_conf_regs->rx_section_full = 0x10; */ -/* tse_conf_regs->tx_section_empty = 0x3F8; //was 0x7F0; */ -/* tse_conf_regs->tx_section_full = 0x16; */ -/* tse_conf_regs->rx_almost_empty = 0x8; */ -/* tse_conf_regs->rx_almost_full = 0x8; */ -/* tse_conf_regs->tx_almost_empty = 0x8; */ -/* tse_conf_regs->tx_almost_full = 0x3; */ -/* tse_conf_regs->mdio_addr0 = 0x12; */ -/* tse_conf_regs->mdio_addr1 = 0x0; */ - -/* mac_conf_regs->cdone = 0xFFFFFFFF; */ -/* if(ival) */ -/* bus_w(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.. */ - -/* val=bus_r(addrr); */ -/* #ifdef VERBOSE */ -/* printf("Value read from Multi-purpose Reg:%x\n",val); */ -/* #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.. */ - -/* val=bus_r(addrr); */ -/* #ifdef VERBOSE */ -/* printf("Value read from Multi-purpose Reg:%x\n",val); */ -/* #endif */ -/* // if(val!=0x2820) return -1; */ - -/* return adcConfigured; */ + + + +int configureMAC(uint32_t destip,uint64_t destmac,uint64_t sourcemac,int sourceip,int ival,uint32_t destport) { +//int configureMAC(int ipad,long long int macad,long long int detectormacad, int detipad, int ival, int udpport){ + + uint32_t sourceport = 0x7e9a; // 0xE185; + int interface=0; + int ngb; +volatile u_int32_t conf= bus_r(CONFIG_REG); + + + + + +#ifdef NEW_GBE_INTERFACE + ngb=2; + printf("--------- New XGB interface\n"); +#else + ngb=1; + printf("********* Old XGB interface\n"); +#endif + + for (interface=0; interface 2500) + val=-1; + printf("%d mV is ",val); + if (val>0) + val=4095*val/2500; + printf("%d DACu\n", val); + } else if (val>4095) + val=-1; + + + retval=setDac(ind,val); + /* if(idac==HIGH_VOLTAGE) */ + /* retval=initHighVoltageByModule(val,imod); */ + /* else */ + /* retval=initDACbyIndexDACU(idac,val,imod); */ + } + else if (ind==ADC_VPP) { + printf("Setting ADC VPP to %d\n",val); + if (val>4 || val<0) + printf("Cannot set ADC VPP to %d\n",val); + else { + writeADC(0x18,val); + adcvpp=val; + } + retval=adcvpp;; - if (mV) { - if (val>2500) - val=-1; - printf("%d mV is ",val); - if (val>0) - val=4095*val/2500; - printf("%d DACu\n", val); - } else if (val>4095) - val=-1; - - - retval=setDac(ind,val); - /* if(idac==HIGH_VOLTAGE) */ - /* retval=initHighVoltageByModule(val,imod); */ - /* else */ - /* retval=initDACbyIndexDACU(idac,val,imod); */ - } - else if (ind==ADC_VPP) { - printf("Setting ADC VPP to %d\n",val); - if (val>4 || val<0) - printf("Cannot set ADC VPP to %d\n",val); - else { - writeADC(0x18,val); - adcvpp=val; - } - retval=adcvpp;; - - } + } else if (ind==HV_NEW ) + retval=initHighVoltageByModule(val,imod); + else + printf("**********No dac with index %d\n",ind); } } if(ret==OK){ - /* ret=FAIL; */ - /* if(idac==HIGH_VOLTAGE){ */ - /* if(retval==-2) */ - /* strcpy(mess,"Invalid Voltage.Valid values are 0,90,110,120,150,180,200"); */ - /* else if(retval==-3) */ - /* strcpy(mess,"Weird value read back or it has not been set yet\n"); */ - /* else */ - /* ret=OK; */ - /* }//since v r saving only msb */ - /* else if ((retval-val)<=3 || val==-1) */ - /* ret=OK; */ - if (ind<16) { - if (mV) { + if (ind<16) { + if (mV) { + + printf("%d DACu is ",retval); + retval1=2500*retval/16535; + printf("%d mV \n",retval1); + } else + retval1=retval; + } else + retval1=retval; - printf("%d DACu is ",retval); - retval1=2500*retval/16535; - printf("%d mV \n",retval1); - } else - retval1=retval; - } - } #endif #ifdef VERBOSE @@ -2000,10 +1992,13 @@ int get_run_status(int file_des) { // else if(!(retval&RUNMACHINE_BUSY_BIT)){ //commented by Anna 24.10.2012 else if(!(retval&RUN_BUSY_BIT)){ // by Anna 24.10.2012 + if((retval&STOPPED_BIT) ){ // - //and readbusy=1, its last frame read - if((retval&READMACHINE_BUSY_BIT) ){ // + printf("-----------------------------------STOPPED--------------------------\n"); + s=STOPPED; + } else if((retval&READMACHINE_BUSY_BIT) ){ // ///and readbusy=1, its last frame read + printf("-----------------------------------READ MACHINE BUSY--------------------------\n"); @@ -2034,7 +2029,7 @@ int get_run_status(int file_des) { printf("-----------------------------------RUNNING-----------------------------------\n"); s=RUNNING; } - } + } } From d8007477b536c30bfc270e32d69bc93d21cb0bb2 Mon Sep 17 00:00:00 2001 From: Anna Bergamaschi Date: Mon, 22 Feb 2016 15:11:30 +0100 Subject: [PATCH 41/43] High Voltage index changed for jungfrau --- slsDetectorSoftware/commonFiles/sls_detector_defs.h | 3 ++- slsDetectorSoftware/slsDetector/slsDetector.cpp | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/slsDetectorSoftware/commonFiles/sls_detector_defs.h b/slsDetectorSoftware/commonFiles/sls_detector_defs.h index ab1e24ad6..4d55f5b6b 100755 --- a/slsDetectorSoftware/commonFiles/sls_detector_defs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_defs.h @@ -348,7 +348,8 @@ enum dacIndex { E_Vcn, /**< eiger */ E_Vis, /**< eiger */ IO_DELAY, /**< eiger io delay */ - ADC_VPP /**< adc vpp for jctb */ + ADC_VPP, /**< adc vpp for jctb */ + HV_NEW /**< new hv index for jungfrau & c */ }; /** diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 310bca9f0..8fdc21b87 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -2216,6 +2216,11 @@ dacs_t slsDetector::setDAC(dacs_t val, dacIndex index, int mV, int imod){ int ret=FAIL; char mess[100]; int arg[3]; + + + if ( (thisDetector->myDetectorType != GOTTHARD) && (thisDetector->myDetectorType != PROPIX) && index==HV_POT) + index=HV_NEW; + arg[0]=index; arg[1]=imod; arg[2]=mV; From 5af05c24c1596301d694a5f751ff5e18c7a74db2 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 24 Feb 2016 18:05:17 +0100 Subject: [PATCH 42/43] added iodelay with setttings --- ...erv1.11.17 => eigerDetectorServerv1.11.18} | Bin 268630 -> 268630 bytes .../slsDetectorFunctionList.c | 8 ++- .../slsDetector/slsDetector.cpp | 49 ++++++++++++------ slsDetectorSoftware/slsDetector/slsDetector.h | 6 ++- .../slsDetector/slsDetectorCommand.cpp | 2 +- .../slsDetectorAnalysis/energyConversion.cpp | 8 ++- .../slsDetectorAnalysis/energyConversion.h | 6 ++- .../slsDetectorFunctionList.h | 2 +- .../slsDetectorServer_funcs.c | 5 +- 9 files changed, 60 insertions(+), 26 deletions(-) rename slsDetectorSoftware/eigerDetectorServer/bin/{eigerDetectorServerv1.11.17 => eigerDetectorServerv1.11.18} (71%) diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.17 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.18 similarity index 71% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.17 rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv1.11.18 index e21545f5db4506ab86c17ba7d3230ecb61f124a5..8612c3cb564f69235d1496b7bc8a6f29518b53c4 100755 GIT binary patch delta 28814 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 delta 28406 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 diff --git a/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c b/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c index 530831068..a10cd7e01 100644 --- a/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c @@ -536,7 +536,7 @@ int getDefaultSettingsTau_in_nsec(){ } -int setModule(sls_detector_module myMod, int* gain, int* offset){ +int setModule(sls_detector_module myMod, int* gain, int* offset,int* delay){ int retval[2]; int i; @@ -560,6 +560,12 @@ int setModule(sls_detector_module myMod, int* gain, int* offset){ printf("offset[%d]:%d\n",i,detectorOffset[i]); }else cprintf(RED,"offset not set\n"); } + + if(setIODelay(*delay, -1)!= (*delay)){ + cprintf(RED,"could not set iodelay %d\n",*delay); + return FAIL; + } + //copy module locally if (detectorModules) copyModule(detectorModules,&myMod); diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 310bca9f0..424ce1bf6 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -2658,6 +2658,7 @@ int slsDetector::setModule(int reg, int imod){ sls_detector_module myModule; int* g=0; int* o=0; + int* iod=0; #ifdef VERBOSE std::cout << "slsDetector set module " << std::endl; @@ -2726,14 +2727,14 @@ int slsDetector::setModule(int reg, int imod){ ads[i]=-1; myModule.adcs=ads; } - ret=setModule(myModule,g,o); + ret=setModule(myModule,g,o,iod); } return ret; }; -int slsDetector::setModule(sls_detector_module module, int* gainval, int* offsetval){ +int slsDetector::setModule(sls_detector_module module, int* gainval, int* offsetval, int* iodelay){ int fnum=F_SET_MODULE; int retval; @@ -2757,6 +2758,8 @@ int slsDetector::setModule(sls_detector_module module, int* gainval, int* offset controlSocket->SendDataOnly(gainval,sizeof(int)*thisDetector->nGain); if((thisDetector->nOffset) && (offsetval)) controlSocket->SendDataOnly(offsetval,sizeof(int)*thisDetector->nOffset); + if(thisDetector->myDetectorType == EIGER) + controlSocket->SendDataOnly(iodelay,sizeof(int)); controlSocket->ReceiveDataOnly(&ret,sizeof(ret)); if (ret!=FAIL) { @@ -3116,10 +3119,13 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise string ssettings; int* gainval=0, *offsetval=0; + int* iodelay=0; if(thisDetector->nGain) gainval=new int[thisDetector->nGain]; if(thisDetector->nOffset) offsetval=new int[thisDetector->nOffset]; + if(thisDetector->myDetectorType == EIGER) + iodelay = new int; int ret=0; @@ -3269,7 +3275,7 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise #ifdef VERBOSE cout << "the settings file name is "<myDetectorType, myMod)) { + if (!readSettingsFile(settingsfname,thisDetector->myDetectorType, myMod,iodelay)) { //if it didnt open, try default settings file ostringstream ostfn_default; switch(thisDetector->myDetectorType){ @@ -3289,7 +3295,7 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise #ifdef VERBOSE cout << settingsfname << endl; #endif - if (!readSettingsFile(settingsfname,thisDetector->myDetectorType, myMod)) { + if (!readSettingsFile(settingsfname,thisDetector->myDetectorType, myMod,iodelay)) { //if default doesnt work, return error std::cout << "Could not open settings file" << endl; setErrorMask((getErrorMask())|(SETTINGS_FILE_NOT_OPEN)); @@ -3334,7 +3340,7 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise } //if everything worked, set module**** - setModule(*myMod,gainval,offsetval); + setModule(*myMod,gainval,offsetval,iodelay); } } @@ -6155,9 +6161,9 @@ int slsDetector::writeConfigurationFile(ofstream &outfile, int id){ -int slsDetector::writeSettingsFile(string fname, int imod){ +int slsDetector::writeSettingsFile(string fname, int imod, int* iodelay){ - return writeSettingsFile(fname,thisDetector->myDetectorType, detectorModules[imod]); + return writeSettingsFile(fname,thisDetector->myDetectorType, detectorModules[imod], iodelay); }; @@ -6168,6 +6174,7 @@ int slsDetector::loadSettingsFile(string fname, int imod) { sls_detector_module *myMod=NULL; int* gainval=0; int* offsetval=0; + int *iodelay=0; if(thisDetector->nGain){ gainval=new int[thisDetector->nGain]; for(int i=0;inGain;i++) @@ -6178,6 +6185,8 @@ int slsDetector::loadSettingsFile(string fname, int imod) { for(int i=0;inOffset;i++) offsetval[i] = -1; } + if(thisDetector->myDetectorType == EIGER) + iodelay = new int;*iodelay=0; string fn=fname; fn=fname; int mmin=0, mmax=setNumberOfModules(); @@ -6197,13 +6206,14 @@ int slsDetector::loadSettingsFile(string fname, int imod) { ostfn << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER, im); fn=ostfn.str(); } - myMod=readSettingsFile(fn, thisDetector->myDetectorType); + myMod=readSettingsFile(fn, thisDetector->myDetectorType,myMod,iodelay); + if (myMod) { myMod->module=im; //settings is saved in myMod.reg for all except mythen if(thisDetector->myDetectorType!=MYTHEN) myMod->reg=thisDetector->currentSettings; - setModule(*myMod,gainval,offsetval); + setModule(*myMod,gainval,offsetval,iodelay); deleteModule(myMod); if(gainval) delete[] gainval; if(offsetval) delete[] offsetval; @@ -6216,9 +6226,9 @@ int slsDetector::loadSettingsFile(string fname, int imod) { int slsDetector::saveSettingsFile(string fname, int imod) { - sls_detector_module *myMod=NULL; int ret=FAIL; + int *iod = 0; int mmin=0, mmax=setNumberOfModules(); if (imod>=0) { @@ -6227,13 +6237,18 @@ int slsDetector::saveSettingsFile(string fname, int imod) { } for (int im=mmin; immyDetectorType == EIGER) + if(thisDetector->myDetectorType == EIGER){ ostfn << fname << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER); - else + } else ostfn << fname << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER,im); if ((myMod=getModule(im))) { - ret=writeSettingsFile(ostfn.str(), thisDetector->myDetectorType, *myMod); - deleteModule(myMod); + + if(thisDetector->myDetectorType == EIGER){ + iod = new int; + *iod = (int)setDAC((dacs_t)-1,IO_DELAY,0,-1); + } + ret=writeSettingsFile(ostfn.str(), thisDetector->myDetectorType, *myMod,iod); + deleteModule(myMod); } } return ret; @@ -6284,6 +6299,7 @@ int slsDetector::loadCalibrationFile(string fname, int imod) { string fn=fname; int* gainval=0; int* offsetval=0; + int* iodelay=0; if(thisDetector->nGain){ gainval=new int[thisDetector->nGain]; for(int i=0;inGain;i++) @@ -6315,7 +6331,8 @@ int slsDetector::loadCalibrationFile(string fname, int imod) { } fn=ostfn.str(); if((myMod=getModule(im))){ - + iodelay = new int; + *iodelay = (int)setDAC(-1,IO_DELAY,0); //extra gain and offset if(thisDetector->nGain){ if(readCalibrationFile(fn,gainval, offsetval,thisDetector->myDetectorType)==FAIL) @@ -6325,7 +6342,7 @@ int slsDetector::loadCalibrationFile(string fname, int imod) { if(readCalibrationFile(fn,myMod->gain, myMod->offset)==FAIL) return FAIL; } - setModule(*myMod,gainval,offsetval); + setModule(*myMod,gainval,offsetval,iodelay); deleteModule(myMod); if(gainval) delete[]gainval; diff --git a/slsDetectorSoftware/slsDetector/slsDetector.h b/slsDetectorSoftware/slsDetector/slsDetector.h index 66c08783e..a86c85081 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.h +++ b/slsDetectorSoftware/slsDetector/slsDetector.h @@ -494,11 +494,12 @@ class slsDetector : public slsDetectorUtils, public energyConversion { writes a trim/settings file for module number imod - the values will be read from the current detector structure \param fname name of the file to be written \param imod module number + \param iodelay io delay (detector specific) \returns OK or FAIL if the file could not be written \sa ::sls_detector_module sharedSlsDetector mythenDetector::writeSettingsFile(string, int) */ using energyConversion::writeSettingsFile; - int writeSettingsFile(string fname, int imod); + int writeSettingsFile(string fname, int imod, int* iodelay=0); /** @@ -908,10 +909,11 @@ class slsDetector : public slsDetectorUtils, public energyConversion { \param module module to be set - must contain correct module number and also channel and chip registers \param gainval pointer to extra gain values \param offsetval pointer to extra offset values + \param iodelay iodelay (detector specific) \returns current register value \sa ::sls_detector_module */ - int setModule(sls_detector_module module, int* gainval, int* offsetval); + int setModule(sls_detector_module module, int* gainval, int* offsetval,int* iodelay); //virtual int setModule(sls_detector_module module); /** diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index d2322c301..4591026e2 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -3070,7 +3070,7 @@ string slsDetectorCommand::cmdSettings(int narg, char *args[], int action) { string sval=string(args[1]); #ifdef VERBOSE std::cout<< " trimfile " << sval << std::endl; -#endif +#endif if (action==GET_ACTION) { //create file names myDet->saveSettingsFile(sval, -1); diff --git a/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp b/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp index 2d8be5c56..24537f98f 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp +++ b/slsDetectorSoftware/slsDetectorAnalysis/energyConversion.cpp @@ -163,7 +163,7 @@ int energyConversion::writeCalibrationFile(string fname, int *gain, int *offset, /* I/O */ -slsDetectorDefs::sls_detector_module* energyConversion::readSettingsFile(string fname, detectorType myDetectorType, sls_detector_module *myMod){ +slsDetectorDefs::sls_detector_module* energyConversion::readSettingsFile(string fname, detectorType myDetectorType, sls_detector_module *myMod, int* iodelay){ @@ -353,10 +353,12 @@ slsDetectorDefs::sls_detector_module* energyConversion::readSettingsFile(string infile.open(myfname.c_str(),ifstream::binary); if (infile.is_open()) { infile.read((char*) myMod->dacs,sizeof(dacs_t)*(myMod->ndac)); + infile.read((char*) iodelay,sizeof(iodelay)); 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; #endif if(infile.eof()){ cout< If it is NULL a new module structure will be created + \param iodelay io delay (detector specific) \returns the pointer to myMod or NULL if reading the file failed */ - sls_detector_module* readSettingsFile(string fname, detectorType myDetectorType, sls_detector_module* myMod=NULL); + sls_detector_module* readSettingsFile(string fname, detectorType myDetectorType, sls_detector_module* myMod=NULL, int* iodelay=0); /** writes a trim/settings file \param fname name of the file to be written \param myDetectorType detector type (needed for number of channels, chips, dacs etc.) \param mod module structure which has to be written to file + \param iodelay io delay (detector specific) \returns OK or FAIL if the file could not be written \sa ::sls_detector_module mythenDetector::writeSettingsFile(string, sls_detector_module) */ - int writeSettingsFile(string fname, detectorType myDetectorType, sls_detector_module mod); + int writeSettingsFile(string fname, detectorType myDetectorType, sls_detector_module mod, int* iodelay=0); /** allocates the momery for a detector module structure \param myDetectorType detector type (needed for number of channels, chips, dacs etc.) diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h b/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h index 62fb82bcd..f4313e6b0 100644 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h @@ -70,7 +70,7 @@ int getChip(sls_detector_chip *myChip); #ifdef EIGERD -int setModule(sls_detector_module myMod, int* gain, int* offset); +int setModule(sls_detector_module myMod, int* gain, int* offset,int* delay); int getModule(sls_detector_module *myMod, int* gain, int* offset); #else int setModule(sls_detector_module myMod); diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index 29e13ffeb..0d43281bd 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -1807,6 +1807,7 @@ int set_module(int file_des) { #ifdef EIGERD int *myGain = (int*)malloc(getNumberOfGainsPerModule()*sizeof(int)); int *myOffset = (int*)malloc(getNumberOfOffsetsPerModule()*sizeof(int)); + int *myIODelay = (int*)malloc(sizeof(int)); #endif int *myChip=(int*)malloc(getNumberOfChipsPerModule()*sizeof(int)); int *myChan=(int*)malloc(getNumberOfChannelsPerModule()*sizeof(int)); @@ -1861,6 +1862,7 @@ int set_module(int file_des) { #ifdef EIGERD n = receiveData(file_des,myGain,sizeof(int)*getNumberOfGainsPerModule(),INT32); n = receiveData(file_des,myOffset,sizeof(int)*getNumberOfOffsetsPerModule(),INT32); + n = receiveData(file_des,myIODelay,sizeof(int),INT32); #endif if (ret>=0) ret=OK; @@ -1876,6 +1878,7 @@ int set_module(int file_des) { printf("gain[%d]:%d\t%f\n",i,myGain[i],((double)myGain[i]/1000)); for(i=0;i Date: Thu, 25 Feb 2016 12:12:39 +0100 Subject: [PATCH 43/43] added gotthard server version executable --- .../gotthardDetectorServer | Bin 127524 -> 0 bytes .../gotthardDetectorServerv2.0 | Bin 0 -> 127664 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer create mode 100755 slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv2.0 diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer deleted file mode 100755 index 3bdafcdf32f2117e0039e0704e41d5c50e971069..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127524 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

xjwfB4@qfEe$bZ~5$x+li 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 YoYrQ#7sD{tw0G0n;ZUv;V&r=M2hO-~J^%m! diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv2.0 b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv2.0 new file mode 100755 index 0000000000000000000000000000000000000000..64cc739314954c2fba2c412910e24ca54df8cd86 GIT binary patch literal 127664 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 B)%ySd literal 0 HcmV?d00001

;&W4!HY^0uehTN*6F=kra%eQ`ZDpzF`KUYB6cOR!-Q zXPAT==6sm*g^hN3H=&tep_yRzCW*TRcj9i(x4A0hsxWt(Oy42pkC^t4;bpuUhxuL2 zP2Ei$qf8x@I2Y&RB3yziakbsy4R(hcu^G4HUfi$U-P+x!Jr=2Dk=kM`#Y(Il>tKq5 zYFvZskjAw%ZvE|3drJrFbg%(8qFMTNBYE9OzJFK;M{OUc**Fp(&zC_WN zrs8y*g>!KQu3}nq;X-ra_it0^ZX6c(4`Fc;9>l|O_-iixYc5^FRZF<)4gI{KpEssk z-`=Qkz*KKA)f*@AbR3pu`)=55zqAksAd@cLj>qss9DZN~KQMwH6k#zg#pS4jALwAh zd@oNHQlN?glaK`#-=GME|C+)}22i8~uUg-hT-UK#_zko08!K@&8p#_*vUH3N$9pT| zyvq56Bn?}iCgfrs8tDWhouJ$V5iUU{e3=PfK7;4*2Hw(es)pMkOHE>_NhMf@6qrPT zNo#REZpWQ?1driGyo~ypte@J+nGUjO$mf&!eDVyOiA!)9GU;R{oh+RuOQ*>colMcm z*YTzivB(q_nNo)3I2NmL0WQMTxE8nIHavt!@GQ3G|CE~!ZpYz2W`*z{v-!%%78}{( zp*S2*<5|9&%XjnntUH(W;-UmDN<``OhID#kBQ|lF`b*Vcx(3&Y2@3vzfa9@a1Uc6<^Q@G2eWV;Zopl*7X{-w!MM&y*BR;CX?E<}Bj3Nx_ivYD1y053o@s7- zrnwu3cQZnGw-fU9yL|nw4&T+`yO;2a9e#>8QGEL<4{x<=JeBESw+{9sdKyc%XR+6w z#eO`FC;j5@>=%Dm%)>q^&QftM?!aCC84>q)y1%m!2iP>x@rOG8kOe$=W8S+@gUk8rV{dr5fg&?dOeL`mB>a>z3m3I9yQSg7O!1a6tzb%CH=l zpjf%E5?7-RE?9u?wZNt%#!-reIK@ws`+9ls&c_>g%k|EoHcIL0f(7xug;wx%E4YHa zcY9RW=Mlh)UphaI2DcBX8@fQJ#f2udn+{++XIpM~cCz);WvUqZY46t(T8l z;k#Mqx{a}jSvPZsIQNlRw~NlJoLh){4zIPUjkKbx*hR(c^&!e`h<$n+qQ|W8kNK7M z7zH02j}ukYQErMA(<4TYjn4NuKj?hB^PSFzJJ(*1>&|b-QQMm#YKy~WglL$Rc9;PT zGoWG04O4Dd8=4H8R9EqTM;WzG@%K~w{nR+BQkWwo5hwn`d;of%G8M|U%?2kimD2~DLXhioK z(Y=ds39i9)xCOW2emsaL@ibn>t9Unrl!Q2>w8IYARVt=*chKL3A{>gtaXe1MnK%cR z;4)l?8+^xj)OU=>ogZ+12v6f#ypA`0d}q$M&zx}|3*9#am*Yy0Us5$ys-_;oBR)aP zwG`hkXzn*j+;5V&--zxvqWkyZ0c4r`Stf11-@Xe`P^JmWG$TthvIj={W^D{E#-+Fo zcf_Hcplv5;+bzZAxEuH3MZE0Owj!Ul72_OB@t5W~XuyrWann$H4YfD2_D0tJDqi=a zn}r@MLbKq5X2Az3@*qVz+zg?^ZO@HH+|h__qy!r&p(BgfCkg4X&kB=}CDK_UT@a@W z;)e$K2Cf8ar#q-|um;z~A!E3Y;YK1$WUxd=Gj2yd%;3X^t9%PL$v17mH*GQY!2%Q; zkBE&&DESvTNBQzmzRa>@W?3@7%*S8mvd^4Bqo4HghL}}S|B2GcE z)Kx5X-HENAnsq(z;G&P~5`A2kjAdAkg645SlheURb{RMdD{&dFKn>*VMlQ(Vf^OM9 zy30W^Vfqc-7UE)*4c%lzw`+JK4&A$k(7iiW;0XEOU4z{<*jRxe4UquVxYGe=zRiD`ARSLm0l8d!p>NXrKrO^9p*LSCOn2Ge6+`f zPjF#=l8^LKP{;W?&gYtZuJKzs_$?jsFU$Y@tG?Ew;gd9cayr(aV0=^A%rvU-6~ma^$kU3BKY>#O~M&r{Z*E>Ao!8cRTLHtMb3^ z^*HpSKtBrfYru`jBK=sTfQbv3xL^*>!+m%FX#p)NUU#x>-9Te}vy?7h%+A-43GunBk3Mb*$FFCm4t3DwB7-P8h@zze+S>-~gRzj?SFcM2~?FJSckS@!#~u^cOe(f%)-Si{0zmPp?HbtC|O}@8C1+GrM!~BD~ZUYrL87C&17eNb9u=( zmsfnjxWX5VtDKumN1XGlW8_IjejkNw8i)JTyHCCQPgxJoSm*ArU|`7(n8A`0S#kQ9-qaObD453Q_g2fCho?>-P;&>CsF# zhUvyL-9)CF$#ip=PB0Y704n<%ga51Lvk4%-sa z!7v>RtH2S+1;e;tm?$15itpRcw+CfOk}OF<3Z_!<{)>ElS=JQEnqodr_iU4iT=@W3 zw$ola?X}l&dmTSGN(@wrfiyADUJTUoaXKHTpT@HuA(%9SNgrmBhgl@E*&B!LVj~tC zNq7z~NIMEYO5rT7$>N$X*NB-}sGTosr%R$IfMhX5p==6eufSDS{v%fYV`7R0A7{bZ z$FDiKA-Jjq*9<&{Cj?o4K~{uoalK&EV0R66pM+B_yc;aMje;*l@TFNums?0z3c?@= zV?ij&dyDeC?$*0r*1Ln&yTgKVwV+&Uxk|8HC3>`YQZPIz82T_-A13R!k8ckMN~SMh z`loU&7kTnq!~Hc}bk{17AV^0D(orbL1_-i&6dOpf;tIh!La?&nGc5Rw0X$;>B`j6K zQYCy}!uNx+1#M1i{*QMc+6P_0OQN{5DDH}f@u;bpO9pevb1FWkV!08Q8}ZjE^mPh- zJr&#ekhq->i928>W?>nYqmC zkhja^?XtbNUxjrlY~Zsjd7F(xaky=UeYP16_>69q&*;|pQYpuWNxA5}zV&CxGjR?slmEL`I9TJtIwLt@B=UH}dLwB-BimqP z^`gCAwAT;Ek=TUIcm$6b8O0hX)*wh41Z~51+=<$2(B3=cKB20>sW=@E;32#q|KH*B z#ylqJgDlX<0*z~NJ?_SRHbhixQn6_%E@u%w+{}lY-QVo~W*u$T(dH|7&3;Le{gM=H zkLf<2x#shk8!VH?GVPITTDYdA)(BgSu;mn} zY{KJs5-;ObJ3GpKsN9Dv@*#_S*cH3mNh-9HGyp4cEONzeuBhF;+`&p0G`L%XyD7Ar zLc1xnn?k!UAPeo`vpsyaX8|rk!MH~-?on@#dV46cha!6@vWFsjDYBO$dnvM)B6}&a zmm+W9@$qTEOI&?L{=dx>Z!^V@cltVQH}cJo`R1pI_Oy}}Y;wPuFQs3D^n0h6%Sv$z zZo^%;m#eb5Du;`-*QC8B*PC2#qF58fnhd1LK$Wn|6ZKp7O^Ta*kXem&g@zi(Df&lA>yV^}9NDd*LIULj%iwR zinJc6sWo5ejt>4Es3O%G}4}AlN^#u@<<<2KnlqKQbNj-YNOZ69aNAJWE80+ zV+kc*Gm6)ylIf&|%p!Bie6o-%CQHe3vXZPOYsq@jKsJ&l(oD9Kon#+5Kn{^3wf;Cp zPLNaN9JxR)kt^gHxj}A`J1i4OOp-_nNh9q^I>{v2B!}dZJkp00kO8EGl#y~$K}L|; zQT`a46wOv~wu-Y=oUP()6=$nByOLy)LZXq`8kwz;*&3Oxk=YuVt&Q1-$PsdkoFJ!? zqSsfGCelo{lbvKYSxeTF2L6A2V^Z{HAelr*Z^k5rv?m25mr&@ zWp}WUj38slEHaf$CpDyuj3SdrIjJC(q>2pS|2IpLqDF-p-E4HTQA3RyY#cz`tG|^L zHN+&vvCbNjh{_F=ZfHn~-f6w3Zi9LaI%?2(14SCN)v%PTB&*3dacs=detectorDacs+imod*NDAC; -#ifndef JUNGFRAU_DHANYA - (detectorModules+imod)->adcs=detectorAdcs+imod*NADC; - (detectorModules+imod)->chipregs=detectorChips+imod*NCHIP; - (detectorModules+imod)->chanregs=detectorChans+imod*NCHIP*NCHAN; -#endif + (detectorModules+imod)->adcs=detectorAdcs+imod*NADC; + if(myDetectorType != JUNGFRAU){ + (detectorModules+imod)->chipregs=detectorChips+imod*NCHIP; + (detectorModules+imod)->chanregs=detectorChans+imod*NCHIP*NCHAN; + } (detectorModules+imod)->ndac=NDAC; (detectorModules+imod)->nadc=NADC; (detectorModules+imod)->nchip=NCHIP; @@ -217,28 +221,27 @@ int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod) { // printf("copying gain and offset %f %f to %f %f\n",srcMod->gain,srcMod->offset,destMod->gain,destMod->offset); -#ifndef JUNGFRAU_DHANYA - for (ichip=0; ichip<(srcMod->nchip); ichip++) { - if (*((srcMod->chipregs)+ichip)>=0) - *((destMod->chipregs)+ichip)=*((srcMod->chipregs)+ichip); + if(myDetectorType != JUNGFRAU){ + 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); + } } - for (ichan=0; ichan<(srcMod->nchan); ichan++) { - if (*((srcMod->chanregs)+ichan)>=0) - *((destMod->chanregs)+ichan)=*((srcMod->chanregs)+ichan); - } -#endif for (idac=0; idac<(srcMod->ndac); idac++) { if (*((srcMod->dacs)+idac)>=0) *((destMod->dacs)+idac)=*((srcMod->dacs)+idac); } -#ifndef JUNGFRAU_DHANYA for (iadc=0; iadc<(srcMod->nadc); iadc++) { if (*((srcMod->adcs)+iadc)>=0) *((destMod->adcs)+iadc)=*((srcMod->adcs)+iadc); } -#endif + return ret; } @@ -900,9 +903,9 @@ int setSettings(int i, int imod) { } thisSettings=isett; -#ifdef VERBOSE +//#ifdef VERBOSE printf("detector settings are %d\n",thisSettings); -#endif +//#endif return thisSettings; } diff --git a/slsDetectorSoftware/jungfrauDetectorServer/registers_m.h b/slsDetectorSoftware/jungfrauDetectorServer/registers_m.h index 09ee8d333..96e836710 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/registers_m.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/registers_m.h @@ -19,21 +19,21 @@ #define FPGA_INIT_PAT 0x60008 #define FPGA_INIT_ADDR 0xb0000000 -#ifdef JUNGFRAU_DHANYA -#define POWER_ON_REG 0x5e<<11 -#define ADCREG1 0x08 -#define ADCREG2 0x14 -#define ADCREG3 0x4 -#define ADCREG4 0x5 -#define ADCREG_VREFS 0x18 -#define ADC_PIPELINE_REG 0x42<<11 // adc_offset_reg -#define DBIT_PIPELINE_REG 0x59<<11 -#define MEM_MACHINE_FIFOS_REG 0x4f<<11 -#define CONFGAIN_REG 0x5d<<11 /** was actually GAIN_REG which seems to be set to 0 later in this file*/ -#endif +//#ifdef JUNGFRAU_DHANYA +#define POWER_ON_REG 0x5e<<11 +#define ADCREG1 8 //same as PLL_BANDWIDTH_REG +#define ADCREG2 20 //0x14 +#define ADCREG3 4 //same as PLL_M_COUNTER_REG +#define ADCREG4 5 //same as PLL_C_COUNTER_REG +#define ADCREG_VREFS 24 //0x18 +#define DBIT_PIPELINE_REG 89<<11 //0x59 same PATTERN_N_LOOP2_REG +#define MEM_MACHINE_FIFOS_REG 79<<11 //0x4f same as CONTROL_REG +#define CONFGAIN_REG 93<<11 //0x5d same as DAQ_REG +#define ADC_PIPELINE_REG 66<<11 //0x42 same as ADC_OFFSET_REG +//#endif - -#define ADC_INVERSION_REG 67<<11 /** picked up from after ADC_OFFSET_REG*/ +#define ADC_OFFSET_REG 66<<11 //same as ADC_PIPELINE_REG +#define ADC_INVERSION_REG 67<<11 @@ -131,7 +131,7 @@ //#define ADC_SYNC_REG 66<<11//0x19<<11 //#define HV_REG 67<<11//0x20<<11 -#define ADC_OFFSET_REG 66<<11 + //#define MUTIME_REG 0x1a<<11 diff --git a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c index 02f2fcc2c..16cbea70f 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/server_funcs.c @@ -4,7 +4,6 @@ #include "server_defs.h" #include "firmware_funcs.h" #include "mcb_funcs.h" -#include "trimming_funcs.h" #include "registers_m.h" #include "gitInfoMoench.h" @@ -59,18 +58,15 @@ int adcvpp=0x4; int init_detector(int b, int checkType) { int i; -#ifndef JUNGFRAU_DHANYA - int retvalsize,ret; -#endif if (mapCSP0()==FAIL) { printf("Could not map memory\n"); exit(1); } - // - + //print version printf("v: 0x%x\n",bus_r(FPGA_VERSION_REG)); printf("fp: 0x%x\n",bus_r(FIX_PATT_REG)); + //checktype if (checkType) { printf("Bus test... (checktype is %d; b is %d)",checkType,b ); for (i=0; i<1000000; i++) { @@ -82,7 +78,9 @@ int init_detector(int b, int checkType) { printf("Finished\n"); }else printf("(checktype is %d; b is %d)",checkType,b ); - //confirm if it is really moench + + + //confirm the detector type switch ((bus_r(PCB_REV_REG) & DETECTOR_TYPE_MASK)>>DETECTOR_TYPE_OFFSET) { case MOENCH03_MODULE_ID: myDetectorType=MOENCH; @@ -102,18 +100,14 @@ int init_detector(int b, int checkType) { default: myDetectorType=GENERIC; printf("Unknown detector type %02x\n",(bus_r(PCB_REV_REG) & DETECTOR_TYPE_MASK)>>DETECTOR_TYPE_OFFSET); - + break; } - printf("Detector type is %d\n", myDetectorType); - - // return OK; + //control server only-- if (b) { - - resetPLL(); bus_w16(CONTROL_REG, SYNC_RESET); bus_w16(CONTROL_REG, 0); @@ -122,29 +116,24 @@ int init_detector(int b, int checkType) { #ifdef MCB_FUNCS printf("\nBoard Revision:0x%x\n",(bus_r(PCB_REV_REG)&BOARD_REVISION_MASK)); -#ifdef JUNGFRAU_DHANYA - initDetector(); -#endif + if(myDetectorType == JUNGFRAU) + initDetector(); /*allocating detectorModules, detectorsDacs etc for "settings", also does allocate RAM*/ printf("Initializing Detector\n"); //bus_w16(CONTROL_REG, SYNC_RESET); // reset registers #endif - // testFpga(); // testRAM(); // printf("ADC_SYNC_REG:%x\n",bus_r(ADC_SYNC_REG)); //moench specific - - // setPhaseShiftOnce(); //firmware.h - - prepareADC(); // server_funcs + // setPhaseShiftOnce(); + /*some registers set, which is in common with jungfrau, please check */ + prepareADC(); //setADC(-1); //already does setdaqreg and clean fifo // setSettings(GET_SETTINGS,-1); - + /*some registers set, which is in common with jungfrau, please check */ initDac(0); initDac(8); //initializes the two dacs -#ifdef JUNGFRAU_DHANYA - if(myDetectorType==JUNGFRAU){ //set dacs int retval = -1; @@ -186,7 +175,7 @@ int init_detector(int b, int checkType) { bus_w(ADC_INVERSION_REG,0x453b2a9c); //set adc_pipeline - bus_w(ADC_PIPELINE_REG,0x20); + bus_w(ADC_PIPELINE_REG,0x20); //same as ADC_OFFSET_REG //set dbit_pipeline bus_w(DBIT_PIPELINE_REG,0x100e); @@ -202,13 +191,10 @@ int init_detector(int b, int checkType) { //set default setting setSettings(DYNAMICGAIN,-1); - cprintf(BLUE,"set to dynamic gain\n"); } -#endif - - //Initialization + //Initialization of acquistion parameters setFrames(-1); setTrains(-1); setExposureTime(-1); @@ -220,20 +206,23 @@ int init_detector(int b, int checkType) { setMaster(GET_MASTER); setSynchronization(GET_SYNCHRONIZATION_MODE); startReceiver(0); //firmware - } + }//end of control server only-- else printf("\n\n"); + + //common for both control and stop server strcpy(mess,"dummy message"); strcpy(lastClientIP,"none"); strcpy(thisClientIP,"none1"); lockStatus=0; // getDynamicRange(); -#ifndef JUNGFRAU_DHANYA - setROI(-1,NULL,&retvalsize,&ret); - allocateRAM(); //dhanya - already being done.. and all this should be inside if (b){} ?? -#endif - + /* both these functions setROI and allocateRAM should go into the control server part. */ + if(myDetectorType!=JUNGFRAU){ + int retvalsize,ret; + setROI(-1,NULL,&retvalsize,&ret); + allocateRAM(); + } return OK; } @@ -1505,50 +1494,54 @@ int get_chip(int file_des) { } int set_module(int file_des) { - sls_detector_module myModule; - int *myDac=malloc(NDAC*sizeof(int)); -#ifndef JUNGFRAU_DHANYA - int *myChip=malloc(NCHIP*sizeof(int)); - int *myChan=malloc(NCHIP*NCHAN*sizeof(int)); - int *myAdc=malloc(NADC*sizeof(int)); -#endif + int retval, n; int ret=OK; - int dr;// ow; + int dr; + sls_detector_module myModule; + int *myDac=malloc(NDAC*sizeof(int)); + int *myAdc=malloc(NADC*sizeof(int)); + int *myChip=NULL; + int *myChan=NULL; + /*not required for jungfrau. so save memory*/ + if(myDetectorType != JUNGFRAU){ + myChip=malloc(NCHIP*sizeof(int)); + myChan=malloc(NCHIP*NCHAN*sizeof(int)); + } - dr=setDynamicRange(-1); + dr=setDynamicRange(-1); /* move this down to after initialization?*/ + //initialize myModule values if (myDac) myModule.dacs=myDac; else { sprintf(mess,"could not allocate dacs\n"); ret=FAIL; } - -#ifndef JUNGFRAU_DHANYA if (myAdc) - myModule.adcs=myAdc; - else { - sprintf(mess,"could not allocate adcs\n"); - ret=FAIL; + myModule.adcs=myAdc; + else { + sprintf(mess,"could not allocate adcs\n"); + ret=FAIL; } - if (myChip) - myModule.chipregs=myChip; - else { - sprintf(mess,"could not allocate chips\n"); - ret=FAIL; - } - if (myChan) - myModule.chanregs=myChan; - else { - sprintf(mess,"could not allocate chans\n"); - ret=FAIL; - } -#else - myModule.adcs=NULL; + myModule.chipregs=NULL; myModule.chanregs=NULL; -#endif + /*not required for jungfrau. so save memory*/ + if(myDetectorType != JUNGFRAU){ + if (myChip) + myModule.chipregs=myChip; + else { + sprintf(mess,"could not allocate chips\n"); + ret=FAIL; + } + if (myChan) + myModule.chanregs=myChan; + else { + sprintf(mess,"could not allocate chans\n"); + ret=FAIL; + } +} myModule.ndac=NDAC; myModule.nchip=NCHIP; @@ -1558,7 +1551,11 @@ int set_module(int file_des) { #ifdef VERBOSE printf("Setting module\n"); #endif - ret=receiveModule(file_des, &myModule); + + if(myDetectorType != JUNGFRAU) + ret=receiveModuleGeneral(file_des, &myModule, 1); //1 is to receive everything + else + ret=receiveModuleGeneral(file_des, &myModule, 0); //0 is to receive partially (without trimbits etc.) if (ret>=0) ret=OK; @@ -1609,17 +1606,12 @@ int set_module(int file_des) { } free(myDac); -#ifndef JUNGFRAU_DHANYA - free(myChip); - free(myChan); - free(myAdc); -#endif + if(myAdc != NULL) free(myAdc); + if(myChip != NULL) free(myChip); + if(myChan != NULL) free(myChan); - - - // setDynamicRange(dr); always 16 commented out -printf("freed\n"); + //setDynamicRange(dr); always 16 commented out return ret; } @@ -1629,23 +1621,23 @@ printf("freed\n"); int get_module(int file_des) { - int ret=OK; - - int arg; int imod; int n; - - - sls_detector_module myModule; int *myDac=malloc(NDAC*sizeof(int)); -#ifndef JUNGFRAU_DHANYA - int *myChip=malloc(NCHIP*sizeof(int)); - int *myChan=malloc(NCHIP*NCHAN*sizeof(int)); - int *myAdc=malloc(NADC*sizeof(int)); -#endif + int *myChip=NULL; + int *myChan=NULL; + int *myAdc=NULL; + + /*not required for jungfrau. so save memory*/ + if(myDetectorType != JUNGFRAU){ + myChip=malloc(NCHIP*sizeof(int)); + myChan=malloc(NCHIP*NCHAN*sizeof(int)); + myAdc=malloc(NADC*sizeof(int)); + } + if (myDac) myModule.dacs=myDac; @@ -1654,30 +1646,32 @@ int get_module(int file_des) { ret=FAIL; } -#ifndef JUNGFRAU_DHANYA - if (myAdc) - myModule.adcs=myAdc; - else { - sprintf(mess,"could not allocate adcs\n"); - ret=FAIL; - } - if (myChip) - myModule.chipregs=myChip; - else { - sprintf(mess,"could not allocate chips\n"); - ret=FAIL; - } - if (myChan) - myModule.chanregs=myChan; - else { - sprintf(mess,"could not allocate chans\n"); - ret=FAIL; - } -#else + myModule.adcs=NULL; myModule.chipregs=NULL; myModule.chanregs=NULL; -#endif + /*not required for jungfrau. so save memory*/ + if(myDetectorType != JUNGFRAU){ + if (myAdc) + myModule.adcs=myAdc; + else { + sprintf(mess,"could not allocate adcs\n"); + ret=FAIL; + } + if (myChip) + myModule.chipregs=myChip; + else { + sprintf(mess,"could not allocate chips\n"); + ret=FAIL; + } + if (myChan) + myModule.chanregs=myChan; + else { + sprintf(mess,"could not allocate chans\n"); + ret=FAIL; + } + } + myModule.ndac=NDAC; myModule.nchip=NCHIP; myModule.nchan=NCHAN*NCHIP; @@ -1685,8 +1679,6 @@ int get_module(int file_des) { - - n = receiveDataOnly(file_des,&arg,sizeof(arg)); if (n < 0) { sprintf(mess,"Error reading from socket\n"); @@ -1717,17 +1709,19 @@ int get_module(int file_des) { n = sendDataOnly(file_des,&ret,sizeof(ret)); if (ret!=FAIL) { /* send return argument */ - ret=sendModule(file_des, &myModule); + if(myDetectorType != JUNGFRAU) + ret=sendModuleGeneral(file_des, &myModule,1); //1 is to send everything + else + ret=sendModuleGeneral(file_des, &myModule,0); //0 is to send partially (without trimbits etc.) } else { n += sendDataOnly(file_des,mess,sizeof(mess)); } free(myDac); -#ifndef JUNGFRAU_DHANYA - free(myChip); - free(myChan); - free(myAdc); -#endif + if(myChip != NULL) free(myChip); + if(myChan != NULL) free(myChan); + if(myAdc != NULL) free(myAdc); + /*return ok/fail*/ return ret; @@ -1951,7 +1945,7 @@ int get_run_status(int file_des) { retval= runState(); printf("\n\nSTATUS=%08x\n",retval); -#ifdef JUNGFRAU_DHANYA + if(myDetectorType == JUNGFRAU){ if(!(retval&RUN_BUSY_BIT)){ if((retval&READMACHINE_BUSY_BIT) ){ @@ -1979,7 +1973,7 @@ int get_run_status(int file_des) { s=RUNNING; } } -#else +}else{ //error if(retval&SOME_FIFO_FULL_BIT){ printf("-----------------------------------ERROR--------------------------------------x%0x\n",retval); @@ -2025,7 +2019,7 @@ int get_run_status(int file_des) { } } -#endif +} if (ret!=OK) { @@ -2049,10 +2043,8 @@ int get_run_status(int file_des) { int read_frame(int file_des) { - u_int16_t* p=NULL; - if (differentClients==1 && lockStatus==1) { dataret=FAIL; sprintf(mess,"Detector locked by %s\n",lastClientIP); @@ -2066,28 +2058,6 @@ int read_frame(int file_des) { } - -#ifdef JUNGFRAU_DHANYA1 - while(runBusy()){ - usleep(0); - if (getFrames() <= -1) { - printf("no frames left, but still busy\n"); - } - } - if (getFrames() > -1) { - dataret=FAIL; - sprintf(mess,"no data and run stopped: %d frames left\n",(int)(getFrames())); - printf("Warning: %s\n",mess); - }else{ - dataret = FINISHED; - sprintf(mess,"acquisition successfully finished\n"); - printf("%s\n",mess); - } - sendDataOnly(file_des,&dataret,sizeof(dataret)); - sendDataOnly(file_des,mess,sizeof(mess)); - //dataret is never ok to send databytes for jungfrau (not reading from fifo) -#else - p=fifo_read_frame(); if (p) { nframes++; @@ -2120,7 +2090,7 @@ int read_frame(int file_des) { sendDataOnly(file_des,mess,sizeof(mess)); } -#endif + return dataret; @@ -2441,62 +2411,50 @@ int set_roi(int file_des) { ROI arg[MAX_ROIS]; ROI* retval=0; strcpy(mess,"Could not set/get roi\n"); - - // u_int32_t disable_reg=0; - n = receiveDataOnly(file_des,&nroi,sizeof(nroi)); if (n < 0) { sprintf(mess,"Error reading from socket\n"); ret=FAIL; } -#ifdef JUNGFRAU_DHANYA - ret = FAIL; - strcpy(mess,"Not applicable/implemented for this detector\n"); - printf("Error:Set ROI-%s",mess); -#else + if(myDetectorType == JUNGFRAU){ + ret = FAIL; + strcpy(mess,"Not applicable/implemented for this detector\n"); + printf("Error:Set ROI-%s",mess); + } + else{ - if(nroi>=0){ - n = receiveDataOnly(file_des,arg,nroi*sizeof(ROI)); - if (n != (nroi*sizeof(ROI))) { - sprintf(mess,"Received wrong number of bytes for ROI\n"); + if(nroi>=0){ + n = receiveDataOnly(file_des,arg,nroi*sizeof(ROI)); + if (n != (nroi*sizeof(ROI))) { + sprintf(mess,"Received wrong number of bytes for ROI\n"); + ret=FAIL; + } + + printf("Setting ROI to:"); + for( i=0;i - - - -extern int nModX; -//extern int *values; - -extern const int nChans; -extern const int nChips; -extern const int nDacs; -extern const int nAdcs; - - -int trim_fixed_settings(int countlim, int par2, int im) -{ - - int retval=OK; -#ifdef VERBOSE - printf("Trimming with fixed settings\n"); -#endif -#ifdef VIRTUAL - return OK; -#endif - - if (par2<=0) - retval=trim_with_level(countlim, im); - else - retval=trim_with_median(countlim,im); - - - return retval; -} - - -int trim_with_noise(int countlim, int nsigma, int im) -{ - - - int retval=OK, retval1=OK, retval2=OK; -#ifdef VERBOSE - printf("Trimming using noise\n"); -#endif -#ifdef VIRTUAL - return OK; -#endif - - /* threshold scan */ - -#ifdef VERBOSE - printf("chosing vthresh and vtrim....."); -#endif - retval1=choose_vthresh_and_vtrim(countlim,nsigma, im); - -#ifdef VERBOSE - printf("trimming with noise.....\n"); -#endif - retval2=trim_with_level(countlim, im); - -#ifdef DEBUGOUT - printf("done\n"); -#endif - if (retval1==OK && retval2==OK) - retval=OK; - else - retval=FAIL; - - return retval; - -} - -int trim_with_beam(int countlim, int nsigma, int im) //rpc -{ - - - int retval=OK, retval1=OK, retval2=OK; - - printf("Trimming using beam\n"); - //return OK; -#ifdef VIRTUAL - printf("Trimming using beam\n"); - return OK; -#endif - /* threshold scan */ -#ifdef DEBUGOUT - printf("chosing vthresh and vtrim....."); -#endif - - retval1=choose_vthresh_and_vtrim(countlim,nsigma,im); - retval2=trim_with_median(TRIM_DR, im); - -#ifdef DEBUGOUT - printf("done\n"); -#endif - - if (retval1==OK && retval2==OK) - retval=OK; - else - retval=FAIL; - - return retval; - -} - - -int trim_improve(int maxit, int par2, int im) //rpc -{ - - int retval=OK, retval1=OK, retval2=OK; - - -#ifdef VERBOSE - printf("Improve the trimming\n"); -#endif -#ifdef VIRTUAL - return OK; -#endif - - - if (par2!=0 && im==ALLMOD) - retval1=choose_vthresh(); - - retval2=trim_with_median(2*maxit+1, im); -#ifdef DEBUGOUT - printf("done\n"); -#endif - if (retval1==OK && retval2==OK) - retval=OK; - else - retval=FAIL; - - return retval; - -} - -int calcthr_from_vcal(int vcal) { - int thrmin; - //thrmin=140+3*vcal/5; - thrmin=180+3*vcal/5; - return thrmin; -} - -int calccal_from_vthr(int vthr) { - int vcal; - vcal=5*(vthr-140)/3; - return vcal; -} - -int choose_vthresh_and_vtrim(int countlim, int nsigma, int im) { - int retval=OK; -#ifdef JUNGFRAU_DHANYA - cprintf(RED,"choose_vthresh_and_vtrim Not implemented for JungFrau\n");//did not want to fix warnings -#else - -#ifdef MCB_FUNCS - int modma, modmi, nm; - int thr, thrstep=5, nthr=31; - - int *fifodata; - - double vthreshmean, vthreshSTDev; - int *thrmi, *thrma; - double c; - double b=BVTRIM; - double a=AVTRIM; - int *trim; - int ich, imod, ichan; - int nvalid=0; - u_int32_t *scan; - int ithr; - sls_detector_channel myChan; - - - - setFrames(1); - // setNMod(getNModBoard()); - - if (im==ALLMOD){ - modmi=0; - modma=nModX; - } else { - modmi=im; - modma=im+1; - } - nm=modma-modmi; - - trim=malloc(sizeof(int)*nChans*nChips*nModX); - thrmi=malloc(sizeof(int)*nModX); - thrma=malloc(sizeof(int)*nModX); - - - for (ich=0; ichcountlim && trim[ich]==-1) { -//commented out by dhanya trim[ich]=getDACbyIndexDACU(VTHRESH,imod); -#ifdef VERBOSE - // printf("yes: %d %d %d\n",ich,ithr,scan[ich]); -#endif - } -#ifdef VERBOSE - /* else { - printf("no: %d %d %d\n",ich,ithr,scan[ich]); - }*/ -#endif - } - } - free(scan); - } - - for (imod=modmi; imodthrmi[imod] && trim[ich]0) { - vthreshmean=vthreshmean/nvalid; - //commented out by dhanya vthreshSTDev=sqrt((vthreshSTDev/nvalid)-vthreshmean*vthreshmean); - } else { - vthreshmean=thrmi[imod]; - vthreshSTDev=nthr*thrstep; - printf("No valid channel for module %d\n",imod); - retval=FAIL; - } - -#ifdef DEBUGOUT - printf("module= %d nvalid = %d mean=%f RMS=%f\n",imod, nvalid, vthreshmean,vthreshSTDev); -#endif - // *vthresh=round(vthreshmean-nsigma*vthreshSTDev); - thr=(int)(vthreshmean-nsigma*vthreshSTDev); - if (thr<0 || thr>(DAC_DR-1)) { - thr=thrmi[imod]/2; - printf("Can't find correct threshold for module %d\n",imod); - retval=FAIL; - } -//commented out by dhanya initDACbyIndexDACU(VTHRESH,thr,imod); -#ifdef VERBOSE - printf("vthresh=%d \n",thr); -#endif - c=CVTRIM-2.*nsigma*vthreshSTDev/63.; - //commented out by dhanya thr=(int)((-b-sqrt(b*b-4*a*c))/(2*a)); - if (thr<500 || thr>(DAC_DR-1)) { - thr=750; - printf("Can't find correct trimbit size for module %d\n",imod); - retval=FAIL; - } - - //commented out by dhanya initDACbyIndexDACU(VTRIM,thr,imod); - -#ifdef VERBOSE - printf("vtrim=%d \n",thr); -#endif - - } - free(trim); - free(thrmi); - free(thrma); - -#endif -#endif - return retval; -} - - - - - -int trim_with_level(int countlim, int im) { - int retval=OK; -#ifdef JUNGFRAU_DHANYA - cprintf(RED,"trim_with_level Not implemented for JungFrau\n"); //did not want to fix warnings -#else - int ich, itrim, ichan, ichip, imod; - u_int32_t *scan; - int *inttrim; - int modma, modmi, nm; - int *fifodata; - sls_detector_channel myChan; - printf("trimming module number %d", im); - - -#ifdef MCB_FUNCS - setFrames(1); - // setNMod(getNModBoard()); - - if (im==ALLMOD){ - modmi=0; - modma=nModX; - } else { - modmi=im; - modma=im+1; - } - nm=modma-modmi; - - inttrim=malloc(sizeof(int)*nChips*nChans*nModX); - printf("countlim=%d\n",countlim); - for (ich=0; ichcountlim){ - inttrim[ich]=itrim; - if (scan[ich]>2*countlim && itrim>0) { - //if (scan[ich]>2*countlim || itrim==0) { - inttrim[ich]=itrim-1; - } -#ifdef VERBOSE - printf("Channel %d trimbit %d counted %d (%08x) countlim %d\n",ich,itrim,scan[ich],fifodata[ich],countlim); -#endif - } - } -#ifdef VERBOSE - /* else - printf("Channel %d trimbit %d counted %d countlim %d\n",ich,itrim,scan[ich],countlim);*/ -#endif - } - } - free(scan); - } - - for (imod=modmi; imod0) - direction[ichan]=1; - else - direction[ichan]=-1; - } - //commented out by dhanya vthresh=getDACbyIndexDACU(VTHRESH,imod); - if ( direction[ichan]!=-3) { - if (abs(diff)>abs(olddiff[ichan])) { - vthresh=vthresh-direction[ichan]; - if (vthresh>(DAC_DR-1)) { - vthresh=(DAC_DR-1); - printf("can't equalize threshold for module %d\n", ichan); - retval=FAIL; - } - if (vthresh<0) { - vthresh=0; - printf("can't equalize threshold for module %d\n", ichan); - retval=FAIL; - } - direction[ichan]=-3; - } else { - vthresh=vthresh+direction[ichan]; - olddiff[ichan]=diff; - change_flag=1; - } -//commented out by dhanya initDACbyIndex(VTHRESH,vthresh, ichan); - } - } - iteration++; - free(scan); - free(scan1); - } -#endif -#endif - return retval; -} - - - - - -int trim_with_median(int stop, int im) { - - - int retval=OK; -#ifdef JUNGFRAU_DHANYA - cprintf(RED,"trim_with_median Not implemented for JungFrau\n"); //did not want to fix warnings -#else -#ifdef MCB_FUNCS - int ichan, imod, ichip, ich; - u_int32_t *scan, *scan1; - int *olddiff, *direction; - int med, diff; - int change_flag=1; - int iteration=0; - int me[nModX], me1[nModX]; - int modma, modmi, nm; - int trim; - int *fifodata; - - setFrames(1); - // setNMod(getNModBoard()); - - if (im==ALLMOD){ - modmi=0; - modma=nModX; - } else { - modmi=im; - modma=im+1; - } - nm=modma-modmi; - - olddiff=malloc(4*nModX*nChips*nChans); - direction=malloc(4*nModX*nChips*nChans); - for (imod=modmi; imod0) { - direction[ichan]=1; - } else { - direction[ichan]=-1; - } - } - if ( direction[ichan]!=-3) { - if (abs(diff)>abs(olddiff[ichan])) { - trim=getTrimbit(imod,ichip,ich)+direction[ichan]; - printf("%d old diff %d < new diff %d %d - trimbit %d\n",ichan, olddiff[ichan], diff, direction[ichan], trim); - direction[ichan]=-3; - } else { - trim=getTrimbit(imod,ichip,ich)-direction[ichan]; - olddiff[ichan]=diff; - change_flag=1; - } - if (trim>TRIM_DR) { - trim=63; - printf("can't trim channel %d chip %d module %d to trim %d\n",ich, ichip, imod, trim); - retval=FAIL; - } - if (trim<0) { - printf("can't trim channel %d chip %d module %d to trim %d\n",ich, ichip, imod, trim); - trim=0; - retval=FAIL; - } - initChannel(trim,0,0,1,0,0,imod); - } - } - } - } - iteration++; - free(scan); - free(scan1); - } - free(olddiff); - free(direction); -#endif -#endif - return retval; -} diff --git a/slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.h b/slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.h deleted file mode 100755 index 42ecea24a..000000000 --- a/slsDetectorSoftware/jungfrauDetectorServer/trimming_funcs.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef TRIMMING_FUNCS_H -#define TRIMMING_FUNCS_H - -#include "sls_detector_defs.h" - -int trim_fixed_settings(int countlim, int par2, int imod); -int trim_with_noise(int countlim, int nsigma, int imod); -int trim_with_beam(int countlim, int nsigma, int imod); -int trim_improve(int maxit, int par2, int imod); -int calcthr_from_vcal(int vcal); -int calccal_from_vthr(int vthr); -int choose_vthresh_and_vtrim(int countlim, int nsigma, int imod); - -int choose_vthresh(); -int trim_with_level(int countlim, int imod); -int trim_with_median(int stop, int imod); -int calcthr_from_vcal(int vcal); -int calccal_from_vthr(int vthr); - -#endif diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 23581e43c..ceea9dac6 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -1083,18 +1083,18 @@ int slsDetector::sendModule(sls_detector_module *myMod) { ts+=controlSocket->SendDataOnly(&(myMod->nadc),sizeof(myMod->nadc)); ts+=controlSocket->SendDataOnly(&(myMod->reg),sizeof(myMod->reg)); ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(myMod->ndac)); + ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(myMod->nadc)); if(thisDetector->myDetectorType != JUNGFRAU){ - ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(myMod->nadc)); ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(myMod->nchip)); ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(myMod->nchan)); } ts+=controlSocket->SendDataOnly(&(myMod->gain),sizeof(myMod->gain)); ts+=controlSocket->SendDataOnly(&(myMod->offset), sizeof(myMod->offset)); ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(dacs_t)*(myMod->ndac)); + ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); if(thisDetector->myDetectorType != JUNGFRAU){ - ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip)); ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(int)*(myMod->nchan)); } @@ -1151,8 +1151,9 @@ int slsDetector::receiveModule(sls_detector_module* myMod) { ts+=controlSocket->ReceiveDataOnly(&(myMod->nadc),sizeof(myMod->nadc)); ts+=controlSocket->ReceiveDataOnly(&(myMod->reg),sizeof(myMod->reg)); ts+=controlSocket->ReceiveDataOnly(myMod->dacs,sizeof(myMod->ndac)); + ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(myMod->nadc)); + if(thisDetector->myDetectorType != JUNGFRAU){ - ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(myMod->nadc)); ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(myMod->nchip)); ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(myMod->nchan)); } @@ -1172,12 +1173,12 @@ int slsDetector::receiveModule(sls_detector_module* myMod) { #ifdef VERBOSE std::cout<< "received dacs " << myMod->module << " of size "<< ts << std::endl; #endif + ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); +#ifdef VERBOSE + std::cout<< "received adcs " << myMod->module << " of size "<< ts << std::endl; +#endif if(thisDetector->myDetectorType != JUNGFRAU){ - ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc)); -#ifdef VERBOSE - std::cout<< "received adcs " << myMod->module << " of size "<< ts << std::endl; -#endif ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip)); #ifdef VERBOSE std::cout<< "received chips " << myMod->module << " of size "<< ts << std::endl; From 03fc676b7e3268200e0e736551f1508bbc4ab625 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 4 Feb 2016 17:26:05 +0100 Subject: [PATCH 21/43] removed JUNGFRAU_DHANYA completely from Makefile, used N_CHAN instead of NCHAN macro since it isnot constant, and corrected registerdefs --- .../jungfrauDetectorServer/Makefile | 2 +- .../jungfrauDetectorServer/firmware_funcs.c | 38 ++- .../jungfrauDetectorServerTest | Bin 127828 -> 130872 bytes .../jungfrauDetectorServer/mcb_funcs.c | 224 ++++++++++-------- .../jungfrauDetectorServer/server_defs.h | 25 +- .../jungfrauDetectorServer/server_funcs.c | 71 +++--- 6 files changed, 196 insertions(+), 164 deletions(-) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/Makefile b/slsDetectorSoftware/jungfrauDetectorServer/Makefile index 2a3101d1f..6b3fc4bd4 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/Makefile +++ b/slsDetectorSoftware/jungfrauDetectorServer/Makefile @@ -6,7 +6,7 @@ CROSS = bfin-uclinux- CC = $(CROSS)gcc -CFLAGS += -Wall -DMOENCHD -DMCB_FUNCS -DDACS_INT -DDEBUG -DV1 -DJUNGFRAU_DHANYA #-DVERBOSE #-DVERYVERBOSE #-DVIRTUAL #-DDACS_INT_CSERVER +CFLAGS += -Wall -DMOENCHD -DMCB_FUNCS -DDACS_INT -DDEBUG -DV1 #-DVERBOSE #-DVERYVERBOSE #-DVIRTUAL #-DDACS_INT_CSERVER PROGS= jungfrauDetectorServerTest diff --git a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c index c4494ece4..312c9182e 100755 --- a/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/firmware_funcs.c @@ -110,22 +110,20 @@ enum externalSignalFlag signals[4]={EXT_SIG_OFF, EXT_SIG_OFF, EXT_SIG_OFF, EXT_ int withGotthard = 0; -#ifdef MCB_FUNCS -extern const int nChans; -extern const int nChips; -//extern const int nDacs; -//extern const int nAdcs; -#endif -#ifndef MCB_FUNCS - -const int nChans=NCHAN; -const int nChips=NCHIP; -const int nDacs=NDAC; -const int nAdcs=NADC; -#endif +/**is not const because this value will change after initDetector, is removed from mcb_funcs.c cuz its not used anywhere + * why is this used anywhere instead of macro*/ +int nChans=NCHAN; +int nChips=NCHIP; +int nDacs=NDAC; +int nAdcs=NADC; extern enum detectorType myDetectorType; - +/** for jungfrau reinitializing macro later in server_funcs.c in initDetector*/ +extern int N_CHAN; +extern int N_CHIP; +extern int N_DAC; +extern int N_ADC; +extern int N_CHANS; int mapCSP0(void) { printf("Mapping memory\n"); @@ -1360,7 +1358,7 @@ ROI *setROI(int nroi,ROI* arg,int *retvalsize, int *ret) { for (i=0; i=0 && ich=0 && ichW_W!*FN?Hn}rIgSXNK1iI3WQprV8yh6l=5g`%R?6-KzYa(C{N4t1_UgK znsAXKBBqG0@?+f;5E_FT5ZS7zMRAvP{jIs&T2VoRqFY#{|L?gsH}@tjto!@>ap;|y zGiT16IdkUBnMW=(w5_?-Hgop<aIEg$qX+gksZpq4>CdQhWUCI5r^iB2q6NbzB}`xOg;An0B0EEdI`B#t6lW zq7e82Y)-`X?fe3EKyT+FR&Xw2MCNHGW}x2Z)|sM8YMiXDo!%@QUc^uk?c4d2Y$A6K zpyw9l3ww@7ATZ)i2NN?IV08dP5SML_vJP!n+w?D^&%Noaep91UXVGWr9eIKuCH;VS zdlwTkAgq!`ltvJLw_Rt=LFtPqtt$yFpS+kAl9LuQ;tN2~TF+Sho_0pFkhz$lAP(Nn zmqqlBE(cUOqPAVUGa^1mCU>eSbv`5Z0;$xZ%_xB&wh2_W-N;y-9*5g3xR8S&=4|J$ zM5J;);PNdt3RP|Wu6z?C4%@Cb-aH)V$PoO$Rz8>~Tu1(OO@799LXy0Mp&+*1F2hmD zjeB&cLI;wa?rUyF9K+b%-h4((N%wjRg%$2-1g~4qdy#iO9b_8Jg5?1qvH;Nw+iuJu zmZlpS@#_e^Q7NEzFyi~^b)GsDdLhCk{k0+Y6j?a;dAkNvQv!XxuF!=YCK{}IJxQ-kIarZW(z~~rpzm&?9F#>}4__mxX zCT1cijX_FG+0d$+PVjvjKfQH#-Mm4BX7wQ6+1e0MI*8xbI=S$nL3$v~25@#+M=)i~ zHtJ-b$LG!yIx?(qU%oEt?Ig2M3N3==h%8o}1Wyf=@ zdfqIo1JJs%p~%#48vq8$d1fhZAM*B<};%bu|V}WXU z;2Sw$WT_@+o{6eDWzv}%=a_{iCa)L_T?&RSWyC|l3Ne7JI$bM0BaWO{C>W}v1nIfB@flyOchs77MTJ5RVmZ~sku;z{5XV$7;)|oG3TA>C|Nc5&X@iW?r&n<3thORO zFC#Zp6YmOzWZ+A#wn^Vcd>gBYH-$o4b#!O^qqFWok;XZGk69>%u#_(0izBB;d^3SR z5?R3IE@g$>rGB^H#hTig81Y|^DgFJhRTp(UseG2TC<-JA1I^a1_`7nX*-E@xI?`!P z5zGwuG}35Yjg$o=)2%mVF=EL`uQe8N>qw(80({OB?is}j`!X2ut${jVV*&H}K%?*g z^#Lbz0K1MN8g;L!h!I_t!Ok%=;vbPtT}2gE1-|8O+pEdhHPB$aF^3UjrZ&!@znh23 ze_i*;fAeZDGF^twK@bN%25s~Pw9y-R z!U}L}#nNSfsecOGJOyr^$`dvtb@S2;r2ZYL@uwMtJYfe?cP!09>W5Di3Oi0kBgh>i z3%=B~Lv=BRsip(-N1JT({jSD2)Y5DBFyhz|jFr92Fga~7BVBIG)VN456`88$*EmxF zlh>C&qDzn5>_*LQ-lsEgyFf02`0G}`+w1YVsWi%>G|P}0jy3u*gyjPIA{P1{+N(X3 zS9?A0#}M~>{7_0wj4tX*QX$}?5zN9tKpbqZZ^&fSv__;gqLi9q>Bw+`rK8=YCe?Rj zg!+zknv|SaM#zcPSF14bao|*(MUyhJ6C;f5WY?rLBBilYohD^uXTWsUA5rm?7#M*o zG1!l)NxyVugkQSWX;Na6FkF-Lnv|2>pjWzCG%1bUQCW9=L!73yr77s-6n#TyOgj^$opl|4;CJMPdk=9e+kf2F3_F)8LAALhtP1?S`P=9^(4au4`Lk1%l zGV~4IG-HY2ByP@xz-HswrdDlH$>miSCf`J3FdxpQ=U*#8L@72kx2;Xp^LqtQ{I3QYWD^dlK{h4{HQm-rhWIpZ}o<~37v!> z{?BHmbe`Y?PT$fsz-fFUP&Qcf#oqjf?FVqr_9kUyi|MFWi}_K^zw|Q{^Y0+@GwN1O zebg-`#)7F))~&F#VswT=;o#|L1SzJ^5cI!PKA4Yr?bDrP!!R*@k(S;_hGEPy79rpC zAaI`Dp<>Z-F@u0qL8FVw2o^D*h+$bilzs#Pp}l`|l2JiuLaqr2^MP=GfXJ9&ZVqyD zkb4ukPwmJM(m+Iwv(QA^yfYdsW1*DZG9TNuz=df*GHuyu6j{83H+D1*S0<)1WRxwt zgp6V|MVVlH9&I~X=?&I8%^dPUFMdNuLw9d4oe2|w#qa504DXO5z4&9AT6Un89m~E! zEzvuQOtT;Z)K+INGH*k>>o6b>FZ&oquj5fZPT!kT2t9|4bIUFvW5uIpqlW7-$stVd ztoOTfV&Y)9DkVdikA^;~v)Vn~F|C2!*-kVyvpO0f*5P-vy4D6N-ySOvJ29b+BozEf zePWgo5HmDK8+#3E)8;cu>~@4|KhFU2Jl&0gY%thrXb{v|kVpGE4iaEL+AaUorI z6xD%VsST$BB)pP#`+j^jm{+GU45BgMX;r22IC(jiZ_6Xlxa-^14&I(t=Sij>ZnQDxxBqfs53ZLyrBWtF$T-IJv0c_t>_KnpLGitwJkcT+1c$BAVb zgT;`xhE@gx(xrYJBH2ZWAk`UQOiF+;dNlraog0zH$9FOYJ2w~Y&s{zY?SByMS2*kM zd8f`Dg%v6pTue+PTF8ix4yf}Gy)@Jm@i+wx-T+xu0kTf?4E9&2W&`h)p8VNPnZe;* z0=i0;Z^vN!_crR6oGMZqjyuxTu#GpxcTckns`Ch*A&|9dEbSspEC>@IJOWn!%#)Eo z^V}eQS^Th)^5u+xAokoy?a{%?CqR|kIub+VP^;wnlS5jSQ$@-kPHk1NQGk|ahSoiK zedo*|vv;9UyOzI)LQ~KvHo%rEsj@a{S=REf{&jh5?lR9(_n;1$u}j^tMP}hLNWZ+C zY}!eVNsKzI&$fh%3(h1-K<4!@2-;S5)yycmm^eLEczfA=+V+#t=~i`5g{~u{+2uI^ z<5|&ME;Q5y&T_Ud0E+u!4Zq7Is^X7 ziiQMwI|wA*NUB*GI<}PCkKScc9!GlH70_$tZJ5jLnZ_`^)_Mgiv|d4?_WoleYK_vw zH7kW|g4?OJ!l=O9Pm#5kd1+AlLizYNxl^P^P*I817)$V+VRs_Nb!MLIo!e3Cz?;2Dc zfhBwwSS1%W&=_cxG@{q&3u?q!fwbdBoe9f)i?6e0z5}>4N?$hewOx(HittVc>!zR%_=W)@bgU=Yruebx`)9z2uLw>iZnl(k6I-!q_tY<{s zKz?76ahTH0x|rs=$9@Oh^Za`L=cH8b3Ydlt#o%oS1Pd}sAy>XUK*GEq!TCZd%hk3>F#$gXc?bh(|tql<|J5i|hC zt&Bi;+x<5;rza#=9U3MjAo<^P_ep3Hpkb8J;Oib34S-Wd&0m9Qs!^;AklJ9L zos6cNOOz^yQT2-R4nIr{a262kX zG%GN?2Y1&c$r_@Cp_Ja8ukGG_p3>xVpy=Gny=dk}EDVX!aK!~iP-_EY^-0zcF@U7t z1n3#n|1n)F%#u{E;>wJ5R0Ps!3XvVAl*SM5kvQ#61H^ZS0rKA3c93Yls}AGN?yhnl zLFKQHwFNaR@9L4rJ>Sg_+T=-x4T#Cp-Ga7R(27yI|FK}6PnvUN7oA?RrCl0geBg^u z;*0N52;00GNw=&*ZGP>X(-Ce(b#eRtqx^%$RL+q}BFSQaGSGT1a8562$U2m4hczzw zmdUkT=LXj>S!iLr0T_jc-Vm5L{b-YS9wXYvx`J$=wQ?jDCDKBJv@Czs7**T~l#+(k zVW^w}^-$p5TrG&h_sI&clsTATXcq2_S-6Aeev=jT$h35F@b(J{DSbSB+&8E8@oYMq zzB$gLcc-}Zo)k~xoLF~Wajd7@n#wShg(DM2-fwc2SfF(&MPEdEPk?z>79>CqW#q%Gq=@Mo-OD^>U>AvL znIxtZXJQQcKXN20{bV^UgPa0LZxfoDNDHa_mt~eJxRZ#MX`~{2Z8L67a}l)^**p)c zD5-OZDl)&zK)ZlximauSWIw1472Gbt&SEsLuRL!#(|DBfG-9k1aaHP;(x zuDsg79FFE5Nb*Z-D3V7(lE-_Jy)DS&lSzDS&ty*77tuTP*jL!Tg-ly{cSKIvxTOxV z;Y08vNAZ}@22R)D0Fxn0xA*{|3^_%ZX*Y*3KeWXUsbs|O?{Y~kZ%xE|I&j!QP&DLq zXoBl2$@=^w)>byK1$(20I*5G-4U~QrE9h4d)Gi5%u^K^~DU7&22GXOg@vkwYbS6q? zuKF0IS4yQhzXayTsL@tZ0I&iHY_>btcS_7Nxu%oNxy*yd&VmH&`^mbC38YZPTAFXRaN;ySLzkQU1Sm`_x+)Izr zcp~!fZ-|hn@@le?8H-&jgqEanm_cdOZDg4fJ4z@Nrrb_wf5D2-E|~}<+P9P0uO%pz zOaEDBhlLBR>S&nRm1fP`t^SU2{GmRHy*H#&$FouGFhkfqPPhGaS)j@Hn=?t#(fl`k z61jNbBMY?~I;N$8L9Sg43^6j%?lA<$1*Orr_@%2|BU#XQ(n{=GgU*B**di$wvGh@e ziHtb!QD0E7tdB~4z)@F-4?Zf{q_p#QITBJuMwY6GHe>W}UKIiNmWfmM63-fB-5=AU z?=lIHrvhf-3xEuF5kCVW{UDNW-PbTf(RgY_KVT_JR^@E8vf_>v{VyPuisrUZ(eDlX zn!dfc$%Z>QF%E5zSDs|$lU`S+WpXbo&PZKMXT4o=FB7!NpYX}K$EqIiXb9kI*(k5) zl-uuS`5qZv9zF;@9$a}KbIzm)D7B}HD5Gp`#ii&&Xui=jM$?;8RR-R$ko<2 z0)L}4H~g?(vx?%+kL{FP) z90C5`&FDOsa64vJg3cZ$WfYYINBJWMfWyBI?w3qIM0Lj_@Q^%m4I(*jg`#J8OMheZ zK4c(>?N{(?`X_Q%5JeFGy`21;TVZG9mSZovoJtN_LB<(*sMpY;0IRMTf{UG&eSkm^ zh2?tWm!ixSq#%eFm!~6T4xl#*jE&&w@Kf$;U|dZYbrQzkAwNpOmcwC58fA491yKj6 zJGR^iME6O68|7R`pdE-1#22Mp6LN9xN;>zXG-Hp{jGiIQ_;9(>j4mh<+6)V|V}sNV zI-jJpW2MxNItS3m4fggI|tOotikbxHA=NGnwRIH z9E%`Z$0Ir`dCKfDtaAW6=bq$v&+`HVbrwX(kH!zf6jhFj%iS=8N`l{T+El=ITX9_P zz_B!Zt&qI9GKq9_CA7+DR3Jlj0=#^xDHdPZSe$0#v{S6Lh4PNtQz2FIyOX)-SQ~>CLHHnzc`ma^t=Py(B z4inQBO_j?UP*fT1ay3 z8fCM_D|xPV_H=rxp%&!WD^e^c5Sx}pd4mG6&b=s>5r}0NL{66--?z0~uL z)ztG?d7xY$l=I8>YoB0iR8P`6wBF?r(9%XQ96|iCj31DVjpVgBtGQO;zgaLKjv($W zgPu?Idd_>yM)>G@($_usN=>7$!T5Sj`Wl3tdchazH*a$bA(`C+X^AV zdG?JySqNlA7XRGY<>g$lkDrVINox1JU3T@pbn5+d4cnGG;NxNU7!F# zY*VIo$IEM3;pMetg1la?4nzyE1iGVz-gvQ`<|^6s<)&WAE68^9}^2 zRuw*;x|g-Vp=&slGwP(Zn<|QV!WoctW-WODmXxdP;?0BO`(2IoORkgV!stT|31d~j z;=IUngZl+ljt?k(YhMS-erV~efZ&~qC9~{y3#WuYOSMa&u97!MZB`@jHm+R;#ohD> zdU+jsd7Yw((R=I?K4VB?_M@mraJ$^bB39QSIOg(%+;!NbUzd;4e|Y>_v_3`;O=m()qyYZbb`B!LtZK@i_xtX&q6DXl8GIE`@}-V^PX zP}P~nYIlb4@{P&|r<(Euhd5cjD5nkgOi!8RNx)Hyx@t8IJiqv;+v!#soG)Bh7lA-0 zaOI`M|1S1o0O&QeFfmbJK=OKQx?tOA>0)IcUe*LB^uDm}ZR{No@k7Y!ASoLe^nl(8 ze(Fuv+~lTzmcNlRaDqdBC&_JCMGaLYWX&C+KU&4F8rprr4TH-w(^!Wk)^yCjDo4W? zVRgSj=I>t2UmBW?^PMgn_NjyL55+>eE57Jh@&iciB&F(*N;<_GqEj;0W4Qp9{d?|*&I$~`XZT--_24Qys)MBrO(W z0$shNqr4v>ANtivi+`;y*#$hi*3;RRbHJn2H@lGtmI^k&Vn!7c zN-b#8^H@OD!L30MR#c84_9}HrmtMw4%bnRCjxTa7%3~PrMBEF4B~*vKVk)dfz5>Ws z0EMxXHh1wQ#eV&R-(5XNr|T3#$PU2n0Bp1bi!Ukm)gM%8`o6uq)(YvJyQO*i60!`M zG4mPXv_CaCCge6vFvjm4o){@NfUg@H-^taU+*qaP+){MzCUD}9yfC~6r%iFRuLDeG zHPlD7EC3Z!%DOFBb8V4RI4K3Qj9?1Dtddf4kdhNfS%eh%+QGSDT3664r2E{ocFyf) z_f$bpQn-LYSRBk6uVe*sMhA0#4$B!9%=uII0J=b#{=u9#!^#+gIsJN28Ix?i=7S%d zkQE$P=yJM|rHnsiTy|N(4={IUukqu}eS;RmLGJC}+R|gSH5|LtPV8`yf!=)EtE=g4b0_KG`}K|^byY^ zDEbJB8aL0zuIf^^)w2{OXQAXQlw2n5ZtKE!x2+{MET!e$ZJTE!cDDmv!eP7CVq+1= z;~0;1sA8-i3h42ck5e|4k-;Qj4wcC@X`XmP%cseeC zSnGb5mx;3AG)hx=7qp86kd7Bt1r{^yqm|PO%{R=OqLe(Z`&IXFb<0k=kkvTHC&>(T z0i>C(hpj_P*V#^^3yQG^hQ-3ub5wm0)fJb@gtKu-n8-6BCMmqOaY%+t11Zs;yFbeAmx5^E6snu zT^DdEPyUt>-LfvI#6Y?^wNlarn=rl|ZtROg7i@$s*a%&)^ESG`iS>-E3!EIz%LSDI z1o0U9=a}s?2wxofXJbItU)J485Pw}v1|1eyF}?o7@N8~-a;lNNYF;EfZZtms)|=4b z{<3BXC=W`qiS(so@7T%%mgPwEw0fmW5y%P$12kX^sWCh(u@@ySn zq?&)ShE{OVk$9E0;q4tfm-pVb;@qjX$8`DVkODmB>5EYu=*& zriT>Ph7jEC6nuCkZ6L4kB}s}itcQ#Wmwp~QGRUQoAa>+N@``;@st&G)LF_54d!}z> zD2Ss|4Y$Zs7tvPVoh4fKvU;$IB{dPy-loGTwx ze4hV$T#{0M^!UDL)ywN7(Jk^Ed>q9H^Q-Oj1=Qi?6 zSGAb<)8kj9?E)zX;)8R@biw()bgX&cQpM>}guXgkC3A0UT9*aJLqm~zQ$#(! z|J6eI>|Q>&zaHTJ+xj6tUP%6BySolrl8(Np@*8%1AB$;M%QGuSYaX$1whQX1ouN)r zYOi&7!JP~>27fIb34qTO6~JX7ojN$s#6Z7F6Rp>=UlTjv*7%1(m0rh7aR3e{*6cmj?e$+G+W! zd7R_CyV06gtg}{_H%-YyI^}IT+sQ`mw>WG(DrjgsGVqO5`>ALIoRkYf#5wMHF;8f{ z3HLcR)oG4j44jqoVj;LAafrwL{dR(36E-$BVFP0p@0wJ=?K%Z%hhIsqJ5{hTc=6$3 zv#^I@1l#U1%=tF-p7A=Oljnh?bKAo(ri z(4w^zX$ay&NP7)8kBSqy+($vsqlzQcEI0vzAhOokMr>~(h9KUY`Fq4pB8DLTII|eB zbBG~`S7we!>;hs4;+He;N9=RN5X67ZybrN@#1O>4&CEgU3StOi-ONEodZYtU1o7RO z8OUTn4uW`kChhmfAci1%W+o#Rj~Ie@Y-VS~k`Y4?|1^`%IHno%Sq%4Pg^psTnsTT6n!^a3UBRDo3jq{c7qwA&| zh=>^Q5N~`St^4JT(Zc18v5uUowr5zg4}-taSzx(@Ljt%iIGvyUKyS11KE*l++B)dB z^Yfbfc2>`WYzNIYI-SrqcpK+v?E}kNM_<^CzTS)rtiR_+&d7?GF`qA=ksonn{?U^& zF0m6Dk&7TUJaF@{-AR}AY;G1OF*mx)pf726*{}tJa|`Ze143U#_dQ&I@M4F?8Gy(I z1cG?x0se~B5Ir4H1o7wte1}=t5sh>Ck+bq6#?9j^W|<=1n9IM8SnNFh)~sO>>*w;r zX6HwopUZEUoe?o=E`JEIXXf(X%{Fj0pg|CiOvAAgeA~CA2oZW3)7z%X3krH}XCHD9 z#OJ4xO}rf9bPOp7;%=n)T{xmxZ4_Ac<)Sh?wi0EnDoO-~+^L1anbXk-q^|;BjvPsg zo%UmUbeA*9_>5`xHL2oufsHnpWUJnzYBCAi2pl zp|lU&+jo4T(=7N=5J4O=MM2~l;g(q_Kq`V*HJR=QH;I2inu_PIK|D_&eTstO@gRy#8WgqwikEH~1$`g9{4(W`CrMg3&RD2`Qg;~wj=zYu>^o6kKJ&RxNM)y`yQUuUE7~= zd?OChJb$Y(*w4IW;ox~POX;)?O)oa!usue-mN8jjZma{OOj2SNOcPDwoLfq~#z~`F z#p2g&iZP6m!(Un0JyNFTsQwQfSnk+yh|_Ud(i(xH(Me-ts=m=lFQ~ya3qp20rcA$j3W_U4$ z{6Tjhbl$BYzm3pAu<`V`z5vmKXpX&=+(NNXKJh!s{(q@fs%v$Nj&FuCn%tHxuoFaT zI%QBm`sH5n{rVfIp1rhpR;WnKZ=vpRUh}UnO%54vzlppM>Q?@m)%cUk0gY)}JsM+IF*==-4GqsN{{BOX1x26$|` zOjGh{mDd&deoPPFcOn>Uv2_;gC~U6?ypt&Hv2B~e?_8M^y$6&ah?XM$!b)S}%ZMU~ zYm1_Bc^$X-5l0Z07x5idO^Wvcjj!Sd&05S{#IIPD9iO}nhdH-tGm?w=ldDWI)3?Et z+eUkzw+=?*^6)1)v=1$;$dBmA|aC?Ms zaQoUSTBqX*RW+SUEUT`@1^b~@ba^{z0{>?Df_Pt{$u!hd2n!;btO)4NwuSty)yeU1 z-XClF!KF7vO2^So+>h0DA-`~SVtjS85*NovC7uc?VHkn4bA^2E>eToR%}Tr|mzW+> z;>&!vqsH(9)|A9&G%GPtDv_%TDZzp&ZcKT#yLxTa$*O2;r{V}}ak1XCeM$tjAk2an zEb(q%UG;huj?awaZ>>ovtVdFPAnEIIQJ6ljBjtJ^#W&6<%*TA~ca>MUtM<;C4a=bCk-Aw>M>jM7V`n2S=Edu;(##!mne9VRcT>RrO;U1T- zaZecw-vQ#ej|*-(o<3nLiDf{Facc2tw#IeCHLO|@cKPkdw&+SLN+F1Mj}5-|1^8Cj z+PUGvG6=Z{Vnd-e7Z=m4Ebrbh)96CJ>v1xXE*IXMbHp>z2>WGxqpQZ*6@&14&e0rh z0h`?Fez~n|Yp15I`|o4Kb))!`w#4XKpg|Dd8^il-_j8+JZ)`qJr^;z*DaUA`*(CP; z0jn6~o{_yuuw@D`z6!A5N^L`?*Eqz+A=Uvg3v6N|TsgRdi4{RNV7fi5dXo`$bQC?0 ziJ*7z&W)LOZ@Tuf)e3ptb&dQc%nn#NI~Z}}m_i{JV7b+@(ITr&jj*v+ovFZDhPp2LZ#a#@XbJLT z|LeirbUc#TB);ok4LoC{+_(KMtnO@^$`5$+^DG7_-|hFiPv!5iE&%LN4iyF7G}SeU zhyC}^o-I#i4x`bNuWW35eM zEeg}ZqJxH8Z+=fRB^^LMh!O{-ZjCJP<3v>nqtlUp;2hEsM9*m2gXmx+0v>J>nGgc5 zj%KX_wvg1;D_ptqy}~$|k@bjUP5%Ve^iRMc6CiIJ$XgvC@2#mSCzkNDwoLAJ0A&o; z@*=ia#osE>F}wIrw)En9evi%km|=R1eySxw^R?(N7%_LT>Zy@JkV&MHt13_ytG|*b@M_r; z>RwN4%)XI~BCh4wac>RnQig$F234OYt&Aj098lRX7bs|Hu|5#8CKGV=O0W{15ph&2 z`0$^q;fI?3V#eMc(-`vNvV!5<6&ze0Xa40oO0@F>yh79UNn-w^>{*e zE<4twGqEQ96zt1l#9ajXi%)EH@5Jo!yODg>j_FA@@Wggp@w>_~nksSAiGO8BPwpV{ z4}xbbZsO5}>Bjj!h_Eb~%BcmC%rBF)>L-$c;)EYVmL=^~En)#Y*1&29R`PJsyYko2 z_RAm+K|F^CiG7&*CCTQbJ7PN14*)Pe33uX?xb6v)HGzfri+{r#*MXsf9#jSq6Vnef zxe`-HWAMviK%dA1jfNE+;WIzUBFHNU@^x+>;m1)W`*DLrCtL(R4;i5gKmvkz&j|jr zC$a{65%oTK(@7S~??)K1aH5kEr}B-MImlbs^o`f;9TA%L(>Hwnlf7AifB4CJ+0*4a|eBf)I%1C?}z4EeTD3Sh**DOnU|IYaQxj_wPX#Z`} z4s?)QfP{w%4AT@)R;=W#>8CG*zlVH2&^MXZ0pE25;7~N8?|0Go8iTL2@91H&2k_NH zQ^`9?_XjJX`*^>xl7HGWvoBwzN}_;Jyh@dH#n(TtQYG~D_p6F7Hne{SnpkcJKittf zIn*UXZL6q)!Y@VhOSqVC^WC7Q1%WsZ_NWhH{&+dObV$+;TUgoB=EC$8Amr42xADd zqNOQ$^%X@be4cF~OpB88ALifP)#o?j%D*B@k{(KDQVY1U_#sdCDfn%4wY&0wB$Wo> zqNh-mPS#^SAgTTLxBN>_59gE}Bo>~aCh_vmxDy0pYvjN1CX*!ScVkMt&SJF*rS^B^ z-sr@Dqw~I^Z30=x!%b*vbduBQqtSJ+{A0%v#C>1Ezm01eP2#1Wo5YhSNw#k5r(k|Q zg?--Pw3(9p6w{Xe5q})cFWjBTDfs9`3Pvm*M`z@`2sCwuZ#)sTj|Hd|f0n6r;x3^~ zZQ}&YnL%pXfLe(%EI!f31})|CG0z1=ITs-PVuM2ZT97_DjC5WhU7~!)a4#N>a|Z11 zdYBvCqH~U5(+dqn5Z4Vi3*+#OAg&sYE4O}nhpI_z{euZFP30WWnQn}45^0GPb#Ggf zWW&zow^feKxcj>%vFp#}`={=VF*{7m=Ax~JL-bx-k$ zds8FE+{+K&o7M5h`laqoZaZ9G)Ic52?d`_hs6UmTFT~g*5SF_ilXBJfCZq3l!uTLw z!%f**7iCDo{<|If@Ag?B?%%mq{QGf^LfZ#9TG~pp$Qr_i6W|fV`dpl9$2WqwKUeQg z!FZ_c{GAC8fHjGGzE``?p39q_&Ed)bTV|)Z{?*(Xr>)5Ex#ljAR>=G6jnZ|Iz2l&M z3$f~!QXPTRr^aDHh_VRc#9aDaji^~PkVbt+&)(vM8}c^W&$};y_KmqRrj_Fq+>7gB z76QWF2F0^-`76)n8ur**3482~&Y@Lu`&vnxh6TC2d0*<#b5}!&OAC;Z3gVa`aa{wc zU4j+q`Dgcy?YRBwMOsn`ix?vDkNi*j26bF`wFV7J5tc}4kMVau=ZJsV4x7_1-+XjC z$y2%Z9{#iEj3ria&7Wwm_8e$N5NF@x13UkKR6QS>Gx?sIhdVij{VC3YJQ(rKQI5Qa zbkumU4qUnbd>6na+{(L$pRqq7+J^)LvF|>;0HawHmc7Rx--)xj^I*@52)Df1Cp&`~v^EGnYNj zcdbf^^$MYdYWT5LOL`?c;N5YM&uz=l8`!Ul+NiVW#?z9hoMA1~iio7e{1;XI*+qQ& z14%JCfX|WOCk*AY4{SBal%95rZta<+rX2p`18EVLe7yICcs}NZ7$V|@KI|KO-V67! z&+!{y7|3qnt6#X6ormwv1Tk{5j|jYuR$XthQLB7#sGz!HhrAD3ltY_?P2y9xzJi;s zr?9Wdpu2=c#tOi!aL_Orp2HU(EQ|Q}7fP)W-+aL*zR;WfE8p?O``F`r(TfAw{XF;L zy%F3Oy#EDb>f$d#>zwyRXq^j&?0hMaJ93%U5VCXKFP+%ZuI$EOdX`rv|K(5E1b@Ls zDNm16$ctSvlnvF<2uS0U6*Ur-SF{QRE3&Q9bEL}CSA{|e(n^qa4ez8H@lGl|hLt>` zP^g79Tr0hJA(y9Bi2TM|d*og~?gc4V#-!%n$}bcy9_OO*4^eaufafH8y-=vbcU|E7 zBEByMzO|g`g@u6J3Kiw2Kq=!<+eo?OEReaVI19XhlxpEnIW35EDN0M?973>#n=H|A zw#aRW0|S*7`lJ>{SZb?pUrHvNN+~T@O6iWM%Xf~}@AslDG8>y$F1Lr!D6Lh{6adZb zO354yEfvm%2usBg^#AQpDAJ(2LmL(8D7XWRB5Jj+mdH($S*)~8+fNn20{nM>Oo)`} zWAma(X?Y2;#PEdUQ52W!Rq_ zPCDAfM$yAT3hosgi+}-09i;xI^P2e$3?e z9!gCVGHrNuWZ0i9FF0NR>`}*2MYN9o_0VvZTLGLaa2TgajQbqhb%<3+v34P`)`+Q) zzy3qZJC#o|cgUq*Qh)S`Y&G6PnDzxkQA6Mpu<$|PKiKOL-soW_=wSmec z*$A&VP;b}U4i)~;pND11rR0q=nNf|PxA6`mj8AY4<77enZ;GjsNG{|yxU@C2I;RT1 zKZD6fHb3b6YlW_@erOe)0Q;=L=SjusIlm{)Nbg=WiRT+~uq-C$?YX`UZSh+%bi<8) zAWin5DoDtKdO1l3tZCrOsuTDQ)w&0jY;7HhUxn8Z`;}5h%vZmyibkr!$SLT{(F7fu zutsXcH)upJsS)wUp;bRf&G4Za)I>Ve_*t+WaV@r^AxVLJ2bg59u=3mu2{A3J$r){F z2O+UQNN_sb#3vrfiMB`yjJV6hPd}0q=|j}V^LvjBiz&uuu>?BF#QTnHA8bd09d;GY zL70>&Og_9XPiM3OIRh93@#ldG1n)eW7_HmI2neEcAb;lQlO6TgTu}V;WbV&8)~SQ6 zMM+^}Tj_87reoxOlimi!oC*)VZCZ)I%zxM&CAHr9KWee`v{8rm^^mL$oIc z6LRks+f(Bt6RYL+G&-q0C>v-`x8nv5Dw^Iums=!{{hR}OKIg!lW>-b$NPBmIxtGQ6 zs{GRzik0i~WEr)PijBkS$bl~F9F9;Z1=uJZCUZrd+2A%MgpG6PsTMWe=~2IRB`(Bd zJ=B~SFY**l)JepskO5*i>^2fLYKBrkCPq%j!dD{33u5XdVw7~MLiv{O4#+%gPK*zb zvVPDz{GMzyh#+Ac5NIfCR1``9nHV{ph|z&FJ`jWJzgCmy!&Dg=%ti-Qqrk~3Q5DmP z*lsHG6ygxE4G)Dm-FDAl`W>(4gQDyXgTf{a3VU!+++8z>t4*>&|I)SgI`>B1n@MGe z(TK&MEU)tb5@SEV8jF*UE0cCn$^-Ga#hTqBc|qkdO=T^i`CL^hhRP#g88*D%zp~O{89+!=P&T~*9{tGJQ0F; zYY1X44Dll&h|59{KYW29k~x*+sUesxA(+R6Va^M|JS+tBT^Gum2}j=$_*4}>3&NEo zAy*0Mgltt5V-QpG+FUS(k^SQ*TIef?snB13655CVi(Iu2|B9H}haY`X6ChhH|4s<* zH&xt&K=z3+EGYC)wXWRCydpaBdrJaV36*ShVi&htSD^tSn1I(X+5B_V>k+!@S_sa zSpdM-cyda9nL1qQ*)8|>#=?Ts%{+&1baDjGKHHi;?OwX3nIw`;xq**?;gD>=y zWf)(Om;W(zXZzi%?nGM7$3YQ9Y!G4r5kf3O!rxU@B}g-J013z;qFoVF35p9=?m(w} z3FBJVK0(#AfM-KW-#o7^{o{EoDZ=2t283GMCB!uC{|5>f!U~)ZDezuM1#bf$$GM|I zNva7cQ5{m^(D@q7HZ)lTxx$G~fCR=kTJ#KJ!Ax=IdCjOr?)DJmkA@&$7ZO`}UYV71 zs$g7I-OjjzIiTkii=w#=@f!@9|37<%bNpWo8Zz}%yXC*NXUNhcd&c6ItSiNUX>QD@ z12z-Jj1%iBx)DVivCT&(4vv`l?x$1Z#Uv+&4P8_ugXHf?*oYPR;?pnXs#;}q9b+|X zM;p}Ly>*HT3ma|78(7B=etUpMZ^qRHpG3xAorJ#f^v`8Pl&06eD{%3 zX)KJUlW>KodA^Sn9tTWx?zYSNJ4q2tz@S-dYuPORjZ(zPW^oyM&K6=8Qx&RNYzx|? z%|+UdJjKd&O2qsZQZ!#$FeuU@6JrN4&JZc0DijzJ14UM7?U`w?yDgBSGCbncvJ_cJ zicIg26j>le^vguffE4{%;OD)Q7VvN0fOF!<56!}1%wmUkQS3@c>`TOC*COTp^Fz`- z^fIUy@Lmc2!iOX#YW!SCiFXiF^WIeRIG{W6q0+?v_tZG+g550pEtD#6r)yNsh%i)UCUG3+;CP{d>OqyNQ8` zpB%*TA1Hp!h^$bK$rE zKRHm~uXjLJ8$@OYGP{KA&6bb_aJkO$G4C1D4+8k$(=_P!pECUg;ARUZ=$+Z@{RTH{Vw%)$NAF?xqU-?<<`mw?$zM zm3`aQi0Xi-@NWQXH`(?C!soy(qv7f_nS z4(H_O-|ok2ba*IHuS|#ZqkOeyKKfkh0CE<}o*+3*LyJb=*gvIZF-vuo6+p=W2tO_eV z1kgcj9l(!)DyR7G&-LMk)0rEfH|@RwAIqOp>D<>JjHmFM6>PD21QU}Lw0-63Z@s6O zEpq&4#ARbxj(-;xZwQ0`XK0)g|N0&t2?iJ+z7u$EC<)pzbO;O~+%q#OY?u zN>8Vvr|SS)7Z9|kfvz6$`at}Nu=p0lweaiTO$i%SD*%zq0fi#FrIetFmmnULP6+4p zcb#AooirnlKs6fJ23O zPuwTaV!vy!rt1zFdDHnE?)CsSJjt&s@zJwQ7-cT0<6Z(~+IDDPT zaX+~7lAF3=Dn0U#gZ=bd6|Hb;+2OJCU!Cv5l>(-;l6vl5quf!au8>x`2lsN7PD(^4 z*#T#-l*d8^a34hcU?6ToT$^8xAA43d1LYD+03mM`%JKP#OPhs7yqqwzR+drK8$oL6 zEi_77Y+Nmo_Hr2VyxK-5of&Ns?X~>bkBcK~!1$U<-uOvE)C)ai7M|y;KkUmd_#|J+ zbbXS*{XUQ>^IFxD$@Snr_6Vd+Or`O*tJx(@#qoxTUcyk}_DO?1+$-Q`Zo&Ot~BZ}wXFpr0ceah@}p9(sSXs0w32|e2|ZV!uqj>4fjx_5D3 zcbT7lNkORukfG;JQhG#nO;zX)V&)=VMq3Ynmu;aK0fO4WP=N`G#U2-W7KypIAvpTE% zweE&2bgD4B(5k;D$>jX{O(^1yXK^$0Q~AnZRew4koBmf=n}735mceZ4l0dPhi)bgU zPIA%_cR1>RTKMf0I{*xo`VDd2V60q7ji~GmEi8AQH>C4ghLCLx8MpKb2fFjv9!yGH zpg+fV^P(y*s#5xltc{m~)`lWrG_3a|`LQ~Budkw!oFQWazXfnPPTKmT=hNh!HZyMA z_&t~!&;j*(ZaS&EHnoeK&bs4hD zG(Ay<+_wWFksKiPuV06vzkH@iJa9o4jWwAh8tkWJQqbvo8o!r6r8Dzoo;8rwm}l^) z*)!5MEIdXIV>)pTK5XfNmBM}M+_IqT$lcGU|2>mSH`qX*4eCkuMBJ%>74m|Y&7Q#? z*)untWtiLO?W#JwW}uvx?V4-_9;?a>hZU`TCCLfOI~ekW1t`1VnPoU};CDGumK`UZ zYrYlOpi{+_n6xbkI#k@6ZbM=EiMV}e=sr}u(R~doKt>dkD2H@xo+L+Rp8c#(W-Y3y z1yoLz^3>9sNhB{#;@J;mF*z9cTlW!P{MpF3E|+CN=oaXUxBkT+`Ye&Vb|th+&c7{# z9labXP5pk9)Bkum6yE(dW{ABE0?o0L;NvU(MDEa${is9V|AeM4>QI`%j$EJ>K$&Nm z(xDuBv@uZ!(cA__V3#^{OqenV?@%jN1T@jms=y~{13lcQr`#@R1f`$t=pVaA8e0+! z>Sr!b(Cx(wu6yN<_M)>~nvVW9v89f#PO=9&+Jdr{y>dsBX(~T@RhQV(U~owNNIkq6 z{Mw8f(Zih7#WjgOh``uBN=HwWI@*Gtk5+Demf_frp2@+>X+Ee4KZ6Iba7`Rt0aUKN zWB~0>lshQ#t5Earo72Sb7%*I3ipwhei_W){XGP%YmD|Ucr(#6F~vb413?LH0_Y3<=%h-(3MoF-FCYtB9j2(6j8 z7IAI<@*q)U?w$rwvO`!VxdhPKl@&J~30i<+iRxrjs%^^{Kxr2hd5CNChXyO%3r<|Z zNG$UVP3?-7vy*g1vP#37>sS(@dFZmby)rr71^|&Zp>tTgJ;)(;BkT7@ z2=#k;`xo&M%ewN1gbYo}jH0d>5<$ya)if?>8Yh@xd=__4pOtHW=2U1LhE7QSwo^9X zQmg;;6mRy8)6^Dm)ev6)dxksLpN;yn1NFzFK5aZEEZ#b-eoM3Z7c{GX)PJbI0QDCH z>VL|MHH0SqSXi9%hPMBGZ&>?Tk$*+#r(p=^?Q-YlYlS8n)oFz)0r&9~$+TIM#i zkBEP#KLi!TPJdQj@H~#1)N%v&w#0(Y<; zawvtXfW2lY{~uAVc&Vmh`38w>FJdLq$*ebpQk8Gv-)u7i~MpgsEU^s z+g{Lv7i9$ccZPH~>%MDFD^_&9uHl(k>{$6J)~c6WdkUzKU6{&JqYgNpO&V>o&TA6a z;nsoQ^N>V$k!mU3p?F9Mnx8IYH9PcS#z`!kADgJ8DI=4JD-xp*78RVyS z%pV~&^rf)6}vqu0CZwNd)62cIo%Bl!d+S1kzK)k?urx;jN^rWy4oYGgkmd$%cZQkivvrw zCVduOwx5?Om>KLxigD4V>O8^c`q|aiG}(mr3tfyjO?sK;HT*8r)i!j#l)7Ro zj&#%F1CcSEb6Alk46iyDY&5y>vEMi?uv)eIvqF_i{Q#AgqoTO(nG6*2b zN+7eDwkBfOpMV?nH;KY)(YN$)j~1pXZNNvmBB5 z1=3d5FX!lmlSeD3C$T#t$L+@}c>61_C$U>2ucOB6&sExzSp&YYxB6V={$#c{m%Tqq z$lk9rF-*ZTtS&nq?z7H$5 zob9rpazr<_e?sy8c0%#~KbYPrxnC&V&n#$@9f`juwsvE4+5f~~Uw1Y^!{FUL*z^bQ z+$Xb{pH8;HGmFJ=Tl<+DQ)En3{AlO`wU?CPco4(!r;w3exv2+h3Xnu1Y@6Q&1C)lK zDzcSzJ=jzYNhf~k!4|fTtk~aPsMudQE{z==S-zhY%J)}Rq_I;voHC30-s=tJW-dRXj`{K3B~%)3SK!|+V0S4?TiSB%c&E82%CRx3eY`>?X+VY2%H#|- zW7rB%z2XR+B?^4uph(B~@xag?A;XbxiY}tJ<_54GvlcogPJbBP7-*X2x>IuYqz7i{qT2>}pm%Kj9npA9fm3Snwiw!9yko7KE*nT2Y7O{x`7Ff^<4L_w_0UenKpp6Ldx;$ zBS&SqC0WGpkQ|j|5!Y>zu1p8Jj*@hm(dB0MBu9QstK_z(*^Dgl1W&qYHWc@-fZCjh zCpQx-|2cr29$A1A1@05(f$WoPhl@vXWAiABfE%4hD?c}}#smuhEE39yWU8VV@nUyn z+#oiGo8~6viX`M`RFe&&5oCsGS zUM)n=js*UZ?#36WtXx+OzEiT|vNEy?K&lQQrgZjRQFWI3pjo zmus3jK=clSLx+#*9D07dW0ds3)-j|UJ35)yIabeN#D8?aBk4$S9hH0yC3-%>I2qMh z+~qG&WA*%4G`}4Jv4dDK)}))%X2GVj{*G;o|1)EfqkZXYW|XP2AdBr_`Yn((Q8# zaCyW?A%qAR5g9~`m{O!EWe_PMrIb<{86FG|h6nvVKmM5M^!}KC?jNhKbI#|Sz1MoL zwfEUM=U^*pH?LT;V)Nn68JkCJrl~huBkD3nP`}^6g6$_mMb_VZc}3;sBzN;KTpMTLxU;h-h4#f=+{98hG~vv3S;K#H-IyB^ z{^aFFm#;~=v?+bN{~pMus($%VQF2;s$|q^HRg3bY9NX8~-nKVC8l9B9jdLaeX{(qtkiL{)6&{>`lL2w{%FZJC)5sb*5_xgzdsuI)m7*2kLteK zUOymO`(NF^#y^l)pKS>Zliy59+_|eCi1sA!*z)=Il!4KeFSoZ%{bp1i{l#6S>dYWF zl2Y!K)^6+eV3ZLhj}XL&+Nwc=qs7UiY>%p~Iy~4NWR#O^UmhHF89cdm{+8=LnOqw} z(x#MGZgS7>Z7!T#YZ+X7)1d#B_3$V2T{*ut$vrydm22GNhuBMHHw}6$`{7TP_;pEb z)wqYE5uMi5?%I_4$(q_*vS*LX``s`9{PJ)A{O7{7yV8e#Qfq--TU&MXp{RXwt*dKm zw_ULveHBcHhyP=zDt}0npT6A{+iS12IDgaDo3&L7hD4o`-*W9+wN)F3M3*Z5qgX1x zT>buau_Ov5Q80;8`1dML8!W!B>NMPNf5sQ9-hqj-`LdnL&HuYHdhCbSPMG&eR^{02 zn>#)K-&3l(7Dabg?C29dUnD1H%tW(6xf=k9$?VHvb?K?}AN}=eA~B)WTT6U;ZD#gY zRhszQ;qjE@j4u8gs1K$sY?IU}9`m45y_VgaU6D2a-^WK{R3wI>S-V2HCkD)hK8ZzY zB3}Pj#{b@RVninjKT+|Ck@#e|Is1!2R{41YUksbXI^l~UleqSaAv64kU!0#j=I-nP zokGZXIjgW=2UFpf!!|wbh7LdQr%l=y;(d{Ts!>Cuy!QWb%5@$7bKF%Mheox@GmXxf zo41WCj#95lDSF@C`jevftEN2`ZEdw%9>uYzc3axx(dsCx+`XaPy=H87l-8<4 zN+&h#$mGwDB-Q#+L~Z%!W-L;ltoGZ<@9>_iD>p;j=6awqJl36^cR0DCGz5L zJ3{{ZpLQokL?c`?;LAU_whj7kQP~a2O-5bQmZ~-5qkgy4KkUQoKPQU9UwiIt{wqrl zf4;ZvU&lvJC*QK;X7|5#A&g*S*aSA2P2cwX_oDZb+c(`C!Vz|wU1V`i2(4MKoT{-? zqgmOb?h9cGo5|*}C2S>I$F{TGY$H3wnm)H}t^dDhYt(I4{}8tRl`XKpgso)j*oOYw z&P|KP$E~*(hcN2V5b}p&il)2Y*+j*o&VJd|4)C<{i{Grp71yDUv@a?e>vel|NfWf{-3t5{$CVG`|I{^ z{i_2tUtZka@v5KBiZZs9&x+P06{P-M2vaA0Ve2trhrhJMZ~r&DJgI8d^HFY9qC=6==ro8$`lQ-jn8b``+PL`x@{f)Au3Jk)^BSF6aUHv+8@G7*hn^Z>$c@DMgvnS z+Qw1Hza|RRtd;EqFaE`T;+n!h+4Q+Fi88AdF{Y!SL`e{w{wQB|ta9d4u+nt@hJpR@1^_!z`f#uXi;j3+| z`tye9ma3Wm7^PLEzZPZOma;7hDcf0se_@GBld7WEqFbxRycVV0_W3z)e0gr-{4Xuh z{Fmpg@psuZ3${etp8iLV5E9L&B|5tP^R4zN8vM#G)kNWQ`x*YMD*I?5EvSm9)wEMSok>Yg5$u+LM19g;Sq5 zSyjF%N=a%OS2b-@)GcYvcdJ%!iZUy%D+=MdVR5)l30^k^XX89vhAVJA*5G#Bf%|Yj z9>wE$4$sFSm9MEWw#K&D1v4=h`(Ys#;Yb{f%WP<21~22)I9%Tb{rCB?oVM-ioU!|vD*3$PeVa4e3;X*dHH;$mElYq1Wu;$GZ`NAMV)!wS;f zkQBlV$=DX#V|VO@1voIxn24jkafte+#8IBTyf}{T8x^Aa#>7#_l_Bc5I*!_I4^i8_ zxF4J2sNI1OwL69_cp;8%X%nJbI$(Fq!rj;yM-{i6vT-(!+V2Wcdkx$=F+{gc$4ZB$GAiVjaxRFk@a8iz(zcc7fIHEWE?3NMWTtQgMtPM z9iY&mIC^AUh#o1YOg3c(;2}Ip36TvK+3;NKhtrV~rI{fr&7zF!Mr-do&ijt@zEc#g zkG@0V@9cD7Z&hJ^^pDrNt0hmZYN?MVRwSEKlFcc9(;;JAG?%29OHvH+ z6hr(Q2Ff=E+MjBFx;ZJsoYcVp@_!$3!vx%cyYK)u$HC*K&?+YmHyN=v8L_QPEab}K z@HJD!*Gv&@28Gb3(A;$M;t+0L8i$(=*_#d7cFRL(w=xbH>#WtQ#z`R zEk#5BRzv@`t08nWb#$5$LZ?}AxPv2ia3r(ZGHgQ}?$X{}+Us5xLidr#!R{QqSH$GdJBQlKVuGYwpN3cl0?KLZ8!d=*Po;g=li?H!TkNXDtX@;=q?skb)E`pvVJT zLwKMe4uj2MgWKX@91@3zmWJ@q@;DT7u#kg8+FBU2kHaG-(??9ELj^vxLgXdoRtu9! zHk)MgupYO^A$?^C>8nZCNV=vtwB=}9j+%EuI}&G{qR^Q*I21Z?==O~v++G)l&NU%) z-WZ2&hGn+_ap>Xq9)9m>4(w?T?71Hg#^G-5SKO_GteGKXRmLHEvS+nZN#lom9q&V` zKBVf~GlafblsHU@qavRx@&zK@Dbn2{Jt)#cB5e@qPLYy)2+1EAE7I|CC=z**$cql) z5s`CXCJit_a)UFf7H@xK=T8=vEHhYX4UI9rC0iA4lU@T!PDR1JSCN~~LS}*ef%Y%jzZ{2(yEJf@2D)>kJ4bprp@$QC zG~ofo;&@NTd#=D$cnPm49uD5k!MpchV;p*ACH_dmL0E{>ab_IuaihJbm;F`t*VtDR z_o#_p8|~K_|MyIFV7dbb9B6jJa{DXopRj+*ezpA#Xrj8uM0HOg7U53Zjg-5Ga#>3h z@v=DdUJyd>MYt6k6!lR>eLN019YV`!mLW&SD3as(KCHtHGRe_Rl*( zib32+RI@>R{FIBlZ%++D82y;c)C)=pWMWdmQ(U8|VguJ%c3A-TW z@+g-#4J&5YIBer6UNOvq;Wh!wQNw*T+*gYFN>LHdi+DaX&G1Q&L;unc`j5c9xDO}e zR1;N}i7E%BAYTgdFXL5HxOTsx-2x63aHv3g6$KhBkc)ykY{aHG+^_2ISM~R2Und+pO>NJVhk+_<~ax_$qiZxWM zq2dL&C=QRV4&l+YaTum1hN+2RBpycM$Bu>Y*a_!VJ8wfAzEvK=wmyx(^1dhTbxD0h%rsFb^mWi}Xag`~qvPNve zLwE!QQYMhH^LQ~1{xA+t7&T9{!q#XMJYf_((H(mk|4-!E$ajGBPmulzIebD6%Scy7 zy2R^~F~;lIz5bNlho|vu9R4;nguiWtJuxc|18@L7*(-!6v#}o*p!S~B-jm~TBCf|8 z+>Sep|0hZDBq^S}fS2MhUIXJbFwY6|cEn*m2j_EeyavZ>@F~OQDWm48OL!#?6WV%; z)IJXXV?+r5V-)Ve#yCtA=|quE9D>C-3uogxti}^~%J`pnHH7ab#o@ay_^u1SI}RtH z4!^6z@6NdEl<$heB#}-M>E8+D?*#I9XR##?lcj31 zR82b&!nEc%d_OmY?^hUB-!HH+5GUd!T!@R2RNp7n_vP~YaygxY(>XYu)YC~leE}{) z4NlkKvu#3nHUl~OEJvT^__G{;b{Vcf=RfQGXSZTQ9A>mP{%3TwL9!VndoCk{=Q?0M z4!~k8i9@9ts8j=$Q*atq;|AP|`{MBYfDoP^6o=WAoI}aE=^@N*6NkU=9Kzps!&7)h zN=HiRXgr9Aq*ncf`6)I;Hop^2#;I{wK*9wiTreBw#o@)I5ME41Ie$^k7n61|X%|nx z@;JOSBZQY`;YwVM7x8i&mS}g0c9*D)C2He`9QYvzR;&(T#o9Q$Qf~aeGTDI*4%9lJ zp;t8YiiTd%&`(7C6A`~66|YFe$~;dC^W*Si5&l?&KNjJSMfhV5{g^|m#)PnH9G=7T zu5a)9j;IKKq6mLdh9gn!{6y{iq@u;fg*dEE3t@FSYG}2FR!_z0aahwjgf(r^a9lGN zi?IYnzDDG0M6yOCYp#Uw(-4QBI{&AM^LIJE2an^)IILA;Yt`8QOb+3Hrp93%uEUCT zI$Ecr^`u`<`f4XuJ8`|DS+8hnTZK^D8mHk5T!ZW4uvuiAMYdT{ZB|rul&GUb-4a}e z4Y)H7Te3sgl8YSO!qNIv?+aSRp`m*S4ZV#2hC&-f4m9K8IJ`L~gg3{<;aw-b>%@06 zu_xB!_Bb@=gwU9WC0K^X@I)N;%?n}QLNvbjRmb6j#t=Se!c%xA4jZIwgOqLPf|)3l z8}g0+4MjGFp^i7`c+<%cHk}sPC6Ot%hAAAIhF3Y3#KDDVc)rVlcRBDb2j1mC<4lfJ z#^L>x5Z+JY$bOC-j6;)-n-U${-(de|l=vAXepZPUb8YOfu?vsjF%BrkO^R{TAv{9z zERyHoNF0rOun~{rNgbZi;W-_)(P0J-#vwQs$7@F_Hc7=Mifp1tZGr0sqQEO^MP56> zfpQURXtRduX3O0?{{aIfNmPpC*6 zBPZ{O{2h_M!?Qg++tVI9VlT|bAy|xRWRDuzBiDN>QR?>W!ozqJPoZLaZ(s=T4Mq;X z$Km(<{+{38yMUL}ikfIt6F;x04&mn;Y&hZPPWZ)$5PmT#4hL2FK~;Wm5EkN8oQ`vG z0j|aMxE*)Ip;^&2E4pUVHyFi;O)gg6yXUGewyzyivj5OPyPNo zHSs$&@w+2n0(6&sLZJ1O?IT)!>XZ%fhJQuMX}-xlE8I(%DyZ*%x< z4)01f{&%I?7;G2~!Lc|V>v20Cz-FUjjL|U;XJVx)U!uyFp-A?KZ!A5L~!-pLC zkRuV{j2J z;XoG-WTHTJ31rtfJkOyDp1i}8cU0>;s&!8q&(bj;2Oy94Bs|`S`+0nd!)G`uvV$T! zI1VSo;g_dF_~ls?`7cHOX^{Yi8Gf$&o$G$TLLjS*u0cjup&2sI44H5IzeBorNcUcu zhDVwQvdsgz#-LIVgE9d`eB#w^5Cq~aFM$d^}0?WomY%=~& zoVG!_(}P7i1ZUtZlC>dO2IgQM9>mFB&)IPVwhuo_$N0!5_oLn-`lAP%O?Mao>Jgw*{?>JIt+P$I>LjsFuzMMm=9ll%`! zB1v{(oeQ@rCdYs2_%G{myM}T#)DNfQOw@6+j+>kDum+cld?jwh1`3>@z$xu(_xIXu z)=qPxojus-y!FQai5e%Kcj84J=I}5NH()JK15aa=>qByVNC$^>aA+s)#$$K__v1lR z^mbG94pVfYDY^(7(D43e0sXUpjx6$Z!4kZp$b({^VEliiIzN_+kEP=1}%fK zwD)GE{WM&J%g_s!_Fk~G_kyK;OB~(q`0Y#L=(gez-RAvA=c^&QBPovV(D5Cea1E~a zZt9K&HWs0mR(E)5b;nX%j)ho+BXKl(HFSqJG@W(aS;u!=uzx9zx_Hyl#haEM$sy{I z8b{stg{b@fIP(9%9o_AE9|S}Ly;6FxIz$g{h@-(>LNquN%dujzS3V9rlsKS)!5a8x zYKXqs3I}0f96howM2}R*QIXeyMSJ6DXjzDcjzq71hI;igbS?UQ=yuf6&^_3QUKtHN zg5FsT^$x6fK!}RHvnm!)v4D!b+o~w`@@m+X5Iq*+=rImF#(~FrVpbe|YhZ}JH3S#p z;yCj7Jo5NFYRiGP9B5mK3*+dPSs}WGf;p7SS#5u|ebVPFx4+i@Jo{3Vv(oX9`{&$kH_MTXdHJij;}o(!nJ4PkSzDfa(}zgaJ$ja>8z*UEphnz%n-g_ z=}kvxZ#uep`n}ZC@8zCq8x>uRiaYU6%$(q9x8ePu;(IX1b3gOT!{(QlwEL2Fs}~sm z)r)L2VpAMmZ3^Ml197N15JHVn@S3WAO;v9{=r5r|cn;6U;SE*&hN^z!Fdp@{;YfcY zj>d(!*m@z|dZ7*KXorq=E9%{fdiNnbVxlsve{EPFt}rniHZdGg{YO;)k=?l0%w$x2 zWK?`~5igsNvQ0?2Sc)T1M@Mz^vElcz;dgADiD?3I>=?(6oyUtNB!L_k$R`;lo(@=y zC5EYh{ve==vm!hz!n2ETNgV#zHiSR6$08ht%Wy7U2f0l}c0ewWjD~6IHT_>UIv?&Vf!8@6=@ccjiE64&1TP`@1^1oF-iEQs2p;J2{j&N{+|i6r3j4I(kq?4;RSwz&OmI=p2f^IMuVG z=~6AAY5`Rr#pCY(udb2vbtp%#%2CZCxnF`Vta0IM1J%G_9FG&#z;QKjQttQ3{eC$= zCFf^67ogmml-to!&O6Jsc6V!c_Zd9rIRVGs<=DFddRIVu1+uq7B#m;{D0hv^aD}DT zTuZG5)&bM417>0kZbXtDP^1T>;6o`mETY3AI(!i?tDT-|M+%OR_y~!QQ1%FAk8D7x z_~@isI<0m(shut;u!^H1JId3eJpEX%K9;LvC5opEb$m?6zsYoW>#3M1beuw;BrBp+ zDa-?{#Gu0K0VZOukScUIB;krIET#2+WP|NpVv#vuoe zD5g}!)Cx!ASX8}#QoVn=s+f`#l?z*3m^@f94N)WZyV&pQd>>APJ1KA{1u}=Jg;F_Q zE63}x1usZ(mK5hmZMxL9!OO;f%~h*WQZ|vY={#Q40R@sN(4|NR!*sA%2TOIZPzQ^3 zP^p8t8dkK`iuTo5!zoDmS4m&P!5R*})=|xL)*c6wIXGv(Vm#=&2G{NMUZ7%z7X!1r z5KwHTiY45egt9SH>mgF-?zOY*e3%kc*QL7LZwZ@4!Np<6kSY58+ z$sV)idd$`jwO_COdXCm}v|fPq0(@OcUzgH~*QeN+rmBaj>QYr~|4sXElI~5??H;ds zC#u@Ls&*eLws#d^MqEhd&E6HGGh!~JqDC4Z8VmgRE3k`e`!7)SwJh>KQh{FpFA-u5Db(CJT%lKa;vPB|W#N$OgesPowO(-vo zaFZBi1{3kMBJM3Ey%Q;+)Bs8i?&jrEcQ29Fd52WZu||$H#o-@%h42sAH~|&+qLbP^ ztzEVAqS|?>Si2>jIZM?F_y4fsfQ@DknR)mM59fC9_`DO6ZZ7Hm{;J32Ns31<=g8%p z^;m-oa1qwyc5gmTc=K_}i-?h4M2tqMESJjfWry&++&KK8EQBA7MCbp&`7_%a|1&$< zP<%5L-*Y;6P6y8&!xM3sH6(;t#aN9S6iX`?v=(W)NZW{zV*fy~MWrGfq4*9ezC(W3 z@Ivh_lF~&|x@a_x^}E`rRvXoq@v70%%J_d(gHOrPQ|GTk+g#33jXF1y)K0RzfAqd@QrV$1&}F9Mcik zV~vkwtb|IfgxXv3wO{G{g%vKavMI1KDX?-Wu_P*)i&i`(jt{qp9B$<@oFl{6xNxlt zHPqkdLj7l;l}-PpcoNSd2lG?3H$r>kaWYz>mGshHJ`ToW?O7WRFTx5Z4i`y5juQtu zVC^>C+O0H$ryX>dt;1ZOcv))QvjETH1=LZNh_fc5HDuO4+>gz8*cVz#>1(2}k9 zF+3SZ*;d2ZrLGsiJp!n>$C}OS_UN7?NSdrx8fc3pI2IS9-+PbLfc@Tk@gSbViyF++ z;2<1@0=X|OMEAAFE|?WZ-gZacc1L+6&$CAK);r46@z**0^<(j)Q6WzYyT?&s3ySRF z^C5az!;ebIqf#=g!T-tZ&Nv!T8=?_%J(8p&N!nwq<@O|tQ<8p5gx~8JqVILCI@}y} z?$yV7zmG*~A5Qlfty4?yybY+0ym~x>$M6K6s>=LTG^8Tgs7p5LQWpEbX=xm8oEE~3 zGu#5ky9G>i3sB5m6?4~>xZ172;JDM^xN|=q^u3Xyze~~gD)HSynb-fOjXtK0XZ`-H z-~Gq`LggycfKmOTQC&UVAed7Fq<4jU)<&bZusW2WqFrtEE=>202A zciLw^XYo8<^!D6&1D!Vr2VrR|w~*F26Dx56F2dEgHVz|}`s{u=+8<$mvC+ENXkC09 zPnrnl6q`p%&;&SVj4vugkR^h76qrYW7b?x1b5R2?XyAn-c+7;h$b_~8Yq1_1a3?lm zlecb%ymdQ*Cc+<@2!AMm9|~aJWbID%md|+$DxA1LhYNK0g8AhI^UDhzu`_b)1&+Ny zp%*ChLN#vCfe2m_!AnQ+IG)C{I=C9b(j;%|26q5jUt&Sl8L*~#5l1T51Uapno;Y}J*wP2s{Ak>MID#xxcmZM zGUH0c_oU(_fxIM;rM)mQ}Jm%#$r6yDAY1cpPdLo1=9G>F$DSm&Zg5=MTe9~YS4Dr@{FHbo%*}Y}*2%L^H zHISr%WE_Ztks?o1yQFZQ{ZV1Jk5bA89MBMS(t-`SmfR|MWjlQbTnlJuELF2hv)D-Pm?*Cika9G3veKE^cjvmGYN(F3`L%y$TNGe5f$k(iu4)9 zIaP5^ZG#!u9TP7?rw+1F=)g!EjdD0u4yUfdHF756r6OKB8|TScD=BM@l=~6omW`IW zu~L;QRsB$EUY44db^Nl9m%Dzs>zD7xgK8pQO$@*q+?W{uhQl1g;ni+tr0yu&a{7jxzOfMHbhn6hi|7Lme!#&G`eA`b$4MR?Cu3V|j~f2DhJQX4 z74xeCdo>YQJ#ObX1#2j{dxZ8z;d0}D_ey_~<@%GXA97$X2i_lJaXSuY;4BTOjaSvi ztHH2ggafowVDHlI=#x8(AFA!8+V(F@4Hn`iyl=vUN?W4x4m*Ks!?Ys+89x z8~-(acy+7;<8dx7@Pi!H$We<_v`9tECA<=c&(cEpEFDSx8L2-L$!8+@Or)P#4z#lj zXmqZ z7y9<{t$ns-hwFUZ7iCq)*4kfU zf0=y^=4r6ce*1^w=;nhVx*5M+9HMVq4t!fc-xkofo%e0$eVZfS9u$Xbr2HBwuNwJr zlwNWFVqdr|^`)CJcfT>0b=)oRB%Z|@5$yC*xXN zj|!%@g6Vw*&-o}({<7uIswrfTLHW*JU=qk)Z==R4n0p60cK< z*Db;&xEj}DE!N|1+>6b47*F9DR5;fuoK%jca@6D3;PGon?Su-Dz?XtsH5w3bp1dajAb|y zC*mZWg%z`HEVZ#5*JBMf;7;6+2k``+!i#v>Kk*PznuyXmVrR_8TpWx;a3qe#NjL>( z<2+oBE3pPQ;!cx5+HM;M9XN!i@C;tYtG;Y+<;(Wg*crQFF7}fu(xs@R8|3l^xx8Tt zPQ!(`7)=T{m=tcH&{Z*O&!qeag*8OCXwAFvYXE1#W=L?!|t8ficB7+jQC}Piv!!3vLsIRIkQhZjOW+NMO@eH1e!>yFK zl@hlWViC%re>f9vz2bRs@b&ZxUr(>XCOm*@A{%hm&nRoNSL8yhDRs()>}7j*7F3;_Px9 zPx|A4qg^@LRpebo-Yv%`_<2aNZWOz-+8+xWP+)foER%wn6wFjhnTe+%nQLsU^VdX) zzb4Ai1$VjNE)CqJfxAR@m&m%yWp}ykUW_Hk@$MY&UXR<6GCe5MgHk;x)ngAfqGIl$ zn0vaur|Wx;#qqcV{Y#zDbFYnk*n$^)-`&gi-PtJeyG4HYQe2KZa2IOuZVmRz^k+{` zpJPkGJyMXBYG!POQ*k;Qc@XM?A`dD>gUy)~RY!Higr zPRw>f_+Kfm-Kxn<5Z+XUrO|CHvapHtY3Zz{RZGfoP-Ck+4tQd>@ULp9O=)I z{ygu`^L!oT>mYv!7NdsqHJo3A8}THb_Wk!5-+zz8YTSTVeC{25_O18|`r%CDzo62F z;Zb0C+@Itwn2c)Rel>9aIGo`7?peO?o{c1YfP{m(`wO%e9>SZHIhjeWS^_u8#|uiY98u?SUp;WQ+5A*l(xWse*;{);qFq=6z57Ll-M z6|TYkc+hv@S-uO;!BIE{=ix%!i~D^4o#FfM4ro{v8&;1h&PNsJqa1vcgTu5pOnZ-| z`(C^aD%QuAVO(-y+4gM6n%JY{xxrrN96RJkUk4Whx$0 z4<_|PN7TqMHLzO^?3Lruay(WpC(7j{Dbqob4vLQ92`S>Rx1pc^yX+DHeru0U^c#Kf zKFJ5~Q|xay{=c<@gtJLFkAy`e9ENh#N{-Tbn9jl0=7ZMegVr0d&fV}TNs~xQxpo@P zXd>wWH>WdhQs*e@{M()1c?m_AQM5BfyP2X-nyODz_B3VBQncRq@420%l_Z@@QdOFz zO0$beT0+utl1?@Osf}E<(U&rPDbtVV{W$)ObP~3~VOWYgaW_RNQb3Uh+ETDR1=mrq znu1dNP+}CVq~K}_<{SS*29U6jghhBBFOtxSMNS-APeKlQyc#@S4W*PRrOe}l{o{op zr1bj}et&|rPb8#m#>0MBbdM{#$4hYpO5x*D_;?Fm@NW&&NSPW*sSsg`2*1&d=iPbS zlgC+dQ!7{XNZN0awzPweJ0WFCDN`!KQV~9$sllE)o~Pr5s0g1>gd=n?LI)$XH$rptTNK%Ux@^Ya^F! z9ueImqO2lCILz(%fZK7iVjQ3t z2PsAp-b=z9(&vyqH(61pBFA$%-e;h3KUk3}y1t68uT=DvihebUb)yu|lw#5saIk=b z1(YnPAm#l#jQd?~CJk;TJ5}p))w&WzHdtg2sosaGRqY~GyF}IYQncBq!66!aq@SWK zKuSJBN&bhT7z=P9?!rBIRWTpOo|3YsIP?^UR%Cho zlY{4t{}mh<-`_c zyaOig|Ftfxt-*~ViA9ovJl)LG%{thugUw5ExleROQYVtSo|uK}up0MZBLzB8pc9I4 ziwL(Yz(rV%8;~MfC{o|XTTv;gXt2>>qag?LNK!_Tkx1${N&TjrzbWT$)?z(2;Q>61 zM}4NL!95y$S3B=&=UsukE0A}a@i3mn77v&NwpU<#Ik=aDdo!`8@!v@LM$$Jbjz-1N z=)y)9HeU4vD#?>5!|8p)>3y~EzFK&HFb=^IEc5zxve&OuQHu6S(Y}?q8Y!}mBKwZw zapdSej($MF4=DJ76nxOZ`2T>%AMp5tt=NDE@esQ30~awPgP6Tx# z*rMYtI^NP6+u}^DlqyO!P^w`9mZMZPNL7PWHAq#1R5eId!w%f#5gErn$*adcpUEye8F-u`-ES*l*|{yO=e-)LhIt7aORuaWs0nXi%g8kw(=`5IY} z!}3@@8^8voL_a#tF0f1NN=mdWu-NuVcAA}KEh*8eA~u1Qvteum8^h+x|ElS1CaYwl z*ko49#<8iakS$!e>sUQo!B(+qCXiK&*pifJi}SZQe~a_CxPFUv zw)lNZg^M=xY_pCw&tyE@%%RQAj3aezSmHMqZ+7A4M%Kg*FpX`#;`f-Pur!v=f`(gC tqWTW3kZGrW6?1<5*_7yY=e^#O4NHmIzV64@moY!SeljK6s-dk}|39FVnr8q2 delta 62382 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ËSHJIlUY4T7ObR8(u*ea~|%PC3) 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 - (detectorModules+imod)->adcs=detectorAdcs+imod*NADC; + (detectorModules+imod)->dacs=detectorDacs+imod*N_DAC; + (detectorModules+imod)->adcs=detectorAdcs+imod*N_ADC; if(myDetectorType != JUNGFRAU){ - (detectorModules+imod)->chipregs=detectorChips+imod*NCHIP; - (detectorModules+imod)->chanregs=detectorChans+imod*NCHIP*NCHAN; + (detectorModules+imod)->chipregs=detectorChips+imod*N_CHIP; + (detectorModules+imod)->chanregs=detectorChans+imod*N_CHIP*N_CHAN; } - (detectorModules+imod)->ndac=NDAC; - (detectorModules+imod)->nadc=NADC; - (detectorModules+imod)->nchip=NCHIP; - (detectorModules+imod)->nchan=NCHIP*NCHAN; + (detectorModules+imod)->ndac=N_DAC; + (detectorModules+imod)->nadc=N_ADC; + (detectorModules+imod)->nchip=N_CHIP; + (detectorModules+imod)->nchan=N_CHIP*N_CHAN; (detectorModules+imod)->module=imod; (detectorModules+imod)->gain=0; (detectorModules+imod)->offset=0; @@ -495,15 +515,15 @@ int selChip(const int chip,int imod) { /* sMod=allSelected; */ /* if (imod>=0 && imod=0 && imod0 && myo>0) { */ -/* //ethr=(myo-detectorDacs[VTHRESH+imod*NDAC])*1000/myg; */ +/* //ethr=(myo-detectorDacs[VTHRESH+imod*N_DAC])*1000/myg; */ /* ethr=(myo-setDACRegister(VDAC0,-1,imod))*1000/myg;//edited by dhanya */ /* // else */ @@ -659,7 +679,7 @@ int selChip(const int chip,int imod) { /* } */ /* #ifdef VERBOSE */ -/* //printf("module=%d gain=%f, offset=%f, dacu=%f\n",imod, myg, myo, detectorDacs[VTHRESH+imod*NDAC]); */ +/* //printf("module=%d gain=%f, offset=%f, dacu=%f\n",imod, myg, myo, detectorDacs[VTHRESH+imod*N_DAC]); */ /* printf("module=%d gain=%f, offset=%f, dacu=%d\n",imod, myg, myo,(int)(setDACRegister(VDAC0,-1,imod)));//edited by dhanya */ /* printf("Threshold energy of module %d is %d eV\n", imod, ethr); */ /* #endif */ @@ -737,7 +757,7 @@ int selChip(const int chip,int imod) { /* if (detectorDacs) { */ /* if (imodndac) */ -/* return (detectorDacs[ind+imod*NDAC]); */ +/* return (detectorDacs[ind+imod*N_DAC]); */ /* } */ /* return FAIL; */ /* *\/ */ @@ -958,7 +978,7 @@ int getChannelbyNumber(sls_detector_channel* myChan) { if (detectorChans) { if (imod=0) { if (ichip<(detectorModules+imod)->nchip && ichan<(detectorModules+imod)->nchan/(detectorModules+imod)->nchip) - myChan->reg=detectorChans[imod*NCHAN*NCHIP+ichip*NCHAN+ichan]; + myChan->reg=detectorChans[imod*N_CHAN*N_CHIP+ichip*N_CHAN+ichan]; return OK; } } @@ -970,7 +990,7 @@ int getTrimbit(int imod, int ichip, int ichan) { if (detectorChans) { if (imod=0) if (ichip<(detectorModules+imod)->nchip && ichan<(detectorModules+imod)->nchan/(detectorModules+imod)->nchip) - return (detectorChans[imod*NCHAN*NCHIP+ichip*NCHAN+ichan] & TRIM_DR); + return (detectorChans[imod*N_CHAN*N_CHIP+ichip*N_CHAN+ichan] & TRIM_DR); } return -1; @@ -994,8 +1014,8 @@ int initChannel(int ft,int cae, int ae, int coe, int ocoe, int counts, int imod) if (sChan==allSelected) { // printf("initializing all channels ft=%d coe=%d\n",ft,coe); chanmi=0; - chanma=NCHAN; - } else if (sChan==noneSelected || sChan>NCHAN || sChan<0) { + chanma=N_CHAN; + } else if (sChan==noneSelected || sChan>N_CHAN || sChan<0) { // printf("initializing no channels ft=%d coe=%d\n",ft,coe); chanmi=0; chanma=-1; @@ -1008,8 +1028,8 @@ int initChannel(int ft,int cae, int ae, int coe, int ocoe, int counts, int imod) if (sChip==allSelected) { // printf("initializing all chips\n"); chipmi=0; - chipma=NCHIP; - } else if (sChip==noneSelected || sChip>NCHIP || sChip<0) { + chipma=N_CHIP; + } else if (sChip==noneSelected || sChip>N_CHIP || sChip<0) { // printf("initializing no chips\n"); chipmi=0; chipma=-1; @@ -1037,12 +1057,12 @@ int initChannel(int ft,int cae, int ae, int coe, int ocoe, int counts, int imod) for (ichip=chipmi; ichipnchip) { - myChip->reg=detectorChips[ichip+imod*NCHIP]; - myChip->nchan=NCHAN; - myChip->chanregs=detectorChans+imod*NCHAN*NCHIP+ichip*NCHIP; + myChip->reg=detectorChips[ichip+imod*N_CHIP]; + myChip->nchan=N_CHAN; + myChip->chanregs=detectorChans+imod*N_CHAN*N_CHIP+ichip*N_CHIP; return OK; } } @@ -1350,8 +1370,8 @@ int initChip(int obe, int ow,int imod){ if (sChip==allSelected) { chipmi=0; - chipma=NCHIP; - } else if (sChip==noneSelected || sChip>NCHIP || sChip<0) { + chipma=N_CHIP; + } else if (sChip==noneSelected || sChip>N_CHIP || sChip<0) { chipmi=0; chipma=-1; } else { @@ -1375,9 +1395,9 @@ int initChip(int obe, int ow,int imod){ for (im=modmi; imNCHIP || sChip<0) { + chipma=N_CHIP; + } else if (sChip==noneSelected || sChip>N_CHIP || sChip<0) { chipmi=0; chipma=-1; } else { @@ -1475,9 +1495,9 @@ int initChipWithProbes(int obe, int ow,int nprobes, int imod){ for (im=modmi; im0 && i%2==0) { printf("Shift stsel: module %d chip %i bit %d read %d instead of %d \n",k,j,i,val & 1<< j, i%2); result++; @@ -1958,7 +1978,7 @@ int testShiftStSel(int imod) { int testDataInOut(int num, int imod) { - int val[NCHIP*nModX], result=OK; + int val[N_CHIP*nModX], result=OK; int ich, ichip; setCSregister(ALLMOD); printf("Testing data in out for module %d pattern 0x%x\n", imod, num); @@ -1968,14 +1988,14 @@ int testDataInOut(int num, int imod) { setCSregister(ALLMOD); initChip(0, 0,ALLMOD); clearSSregister(ALLMOD); - for (ich=0; ich=getNModBoard()) ret=FAIL; - if (myChan.chip>=NCHIP) + if (myChan.chip>=N_CHIP) ret=FAIL; - if (myChan.chan>=NCHAN) + if (myChan.chan>=N_CHAN) ret=FAIL; if (myChan.module<0) myChan.module=ALLMOD; @@ -1322,13 +1339,13 @@ int get_channel(int file_des) { } if (ret==OK) { ret=FAIL; - if (ichip>=0 && ichip=0 && ichip=0 && ichan=0 && ichan=NCHIP) + if (myChip.chip>=N_CHIP) ret=FAIL; } if (differentClients==1 && lockStatus==1) { @@ -1456,7 +1473,7 @@ int get_chip(int file_des) { } if (ret==OK) { ret=FAIL; - if (ichip>=0 && ichip=0 && ichip Date: Fri, 5 Feb 2016 11:29:02 +0100 Subject: [PATCH 22/43] fixed measurement progress bar bug that kepts getting reset for each measurement --- slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp index 72222b3b3..d390c8398 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp @@ -169,7 +169,10 @@ int slsDetectorUtils::acquire(int delflag){ cout << " starting thread " << endl; #endif - + //resets frames caught in receiver + if(receiver){ + resetFramesCaught(); + } for(int im=0;im Date: Mon, 8 Feb 2016 10:40:54 +0100 Subject: [PATCH 23/43] mid way, had to change to fix bug --- .../commonFiles/sls_detector_funcs.h | 4 +- .../eigerDetectorServer/FebControl.c | 167 ++++++++++++++++-- .../eigerDetectorServer/FebInterface.h | 2 +- .../slsDetectorFunctionList.c | 9 + .../multiSlsDetector/multiSlsDetector.cpp | 40 +++-- .../slsDetectorAnalysis/postProcessing.cpp | 2 +- .../slsDetectorFunctionList.h | 1 + .../slsDetectorServer_funcs.c | 57 ++++++ .../slsDetectorServer_funcs.h | 1 + 9 files changed, 251 insertions(+), 32 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/sls_detector_funcs.h b/slsDetectorSoftware/commonFiles/sls_detector_funcs.h index e61b5cf9c..8c4612339 100644 --- a/slsDetectorSoftware/commonFiles/sls_detector_funcs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_funcs.h @@ -98,7 +98,9 @@ enum { F_SET_COUNTER_BIT, /** < set/reset counter bit in detector for eiger */ F_PULSE_PIXEL, /** < pulse pixel n number of times in eiger at (x,y) */ F_PULSE_PIXEL_AND_MOVE, /** < pulse pixel n number of times and move relatively by x and y */ - F_PULSE_CHIP /** < pulse chip n number of times */ + F_PULSE_CHIP, /** < pulse chip n number of times */ + + F_SET_RATE_CORRECT /** < set/reset rate correction tau */ /* Always append functions hereafter!!! */ diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index b4f505486..74b4dd047 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -55,7 +55,11 @@ unsigned int* Feb_Control_last_downloaded_trimbits; int Feb_Control_module_number; int Feb_Control_current_index; -int counter_bit = 1; +int Feb_Control_counter_bit = 1; + + +unsigned int Feb_Control_rate_correction_table[1024]; +double Feb_Control_rate_meas[16384]; void Module_Module(struct Module* mod,unsigned int number, unsigned int address_top){ @@ -1545,7 +1549,7 @@ int Feb_Control_PrepareForAcquisition(){//return 1; } int ret=0; - if(counter_bit) + if(Feb_Control_counter_bit) ret = Feb_Control_ResetChipCompletely(); else ret = Feb_Control_ResetChipPartially(); @@ -1648,11 +1652,11 @@ int Feb_Control_SaveAllTrimbitsTo(int value){ void Feb_Control_Set_Counter_Bit(int value){ - counter_bit = value; + Feb_Control_counter_bit = value; } int Feb_Control_Get_Counter_Bit(){ - return counter_bit; + return Feb_Control_counter_bit; } int Feb_Control_Pulse_Pixel(int npulses, int x, int y){ @@ -1777,8 +1781,8 @@ int Feb_Control_PulseChip(int npulses){ cprintf(RED,"some wait error\n"); } Feb_Control_SetExternalEnableMode(on,1); - counter_bit = (on?0:1); - printf("counter_bit:%d\n",counter_bit); + Feb_Control_counter_bit = (on?0:1); + printf("Feb_Control_counter_bit:%d\n",Feb_Control_counter_bit); if(on) printf("Pulse chip success\n\n"); @@ -1788,10 +1792,153 @@ int Feb_Control_PulseChip(int npulses){ } - - - - +int Feb_Control_PrintCorrectedValues(){ + int i; + int delta, slope, base, lsb, corr; + for (i=0; i < 4096; i++) + { + lsb = i&3; + base = Feb_Control_rate_correction_table[i>>2] & 0x3fff; + slope = ((Feb_Control_rate_correction_table[i>>2] & 0x3c000) >> 14); + delta = slope*lsb; + corr = delta+base; + printf("Readout Input: %d,\tBase:%d,\tSlope:%d,\tLSB:%d,\tDelta:%d\tResult:%d\tReal:%f\n", + i, base, slope, lsb, delta, corr, Feb_Control_rate_meas[i]); + } + return 1; +} + + + +void Feb_Control_SetRateCorrectionVariable(int activate_rate_correction){ + if(activate_rate_correction){ + Feb_Control_subFrameMode |= DAQ_NEXPOSURERS_ACTIVATE_RATE_CORRECTION; + printf("Rate correction activated.\n"); + printf("Note, the rate correction will only be applied when the detector is run in auto summing 12 bit mode.\n"); + }else{ + Feb_Control_subFrameMode &= ~DAQ_NEXPOSURERS_ACTIVATE_RATE_CORRECTION; + printf("Rate correction deactivated.\n"); + } +} + + +int Feb_Control_SetRateCorrectionTable(unsigned int *table){ + if(!table){ + printf("Error: could not set rate correction table, point is zero.\n"); + Feb_Control_SetRateCorrectionVariable(0); + return 0; + } + + printf("Setting rate correction table. %d %d %d %d ....\n", + table[0],table[1],table[2],table[3]); + + if(Module_TopAddressIsValid(&modules[1])){ + if(!Feb_Interface_WriteMemoryInLoops(Module_GetTopLeftAddress(&modules[Feb_Control_current_index]),1,0,1024,Feb_Control_rate_correction_table)|| + !Feb_Interface_WriteMemoryInLoops(Module_GetTopRightAddress(&modules[Feb_Control_current_index]),1,0,1024,Feb_Control_rate_correction_table)|| + !Feb_Control_StartDAQOnlyNWaitForFinish(5000)){ + printf(" some errror!\n"); + return 0; + } + }else{ + if(!Feb_Interface_WriteMemoryInLoops(Module_GetBottomLeftAddress(&modules[Feb_Control_current_index]),1,0,1024,Feb_Control_rate_correction_table)|| + !Feb_Interface_WriteMemoryInLoops(Module_GetBottomRightAddress(&modules[Feb_Control_current_index]),1,0,1024,Feb_Control_rate_correction_table)|| + !Feb_Control_StartDAQOnlyNWaitForFinish(5000)){ + printf(" some errror!\n"); + return 0; + } + } + + + SetRateCorrectionVariable(1,print_info); + return 1; +} + + +int Feb_Control_SetRateCorrectionTau(double tau){ + //sub_expure_time should be known + + unsigned int np = 16384; //max slope 16 * 1024 + double b0[1024]; + double m[1024]; + + if(tau<0||sub_expure_time<0) + { + printf("Error tau %f and sub_expure_time %f must be greater than 0.\n", tau, sub_expure_time); + return 0; + } + + printf("\tCalculating table for tau of %f ns.\n", tau*1e9); + + // Basic rate correction table + for(int i=0;i memory address --> memory + // data_in( 1..0) -> lsb + // + // mem_data_out(13.. 0) -> base + // mem_data_out(17..14) -> slope + // + // delta = slope*lsb + // corr = base+delta + + int next_i=0; + + b0[0] = 0; + m[0] = 1; + + for(int b=1;b<1024;b++) + { + if(m[b-1]<14.5) + { + double s=0,sx=0,sy=0,sxx=0,sxy=0; + for(;;next_i++) + { + if(next_i>=np) + { + printf("Error bin problem ???????\n"); + return 0; + } + + double x = meas[next_i] - b*4; + double y = next_i; + printf("Start Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t next_i: %d,\t b: %d,\t meas[next_i]: %f\n", x, y, s, sx, sy, sxx, sxy, next_i, b, meas[next_i]); + + if(x < -0.5) continue; + if(x > 3.5) break; + s += 1; + sx += x; + sy += y; + sxx += x*x; + sxy += x*y; + printf("End Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t next_i: %d,\t b: %d,\t meas[next_i]: %f\n", x, y, s, sx, sy, sxx, sxy, next_i, b, meas[next_i]); + } + double delta = s*sxx - sx*sx; + b0[b] = (sxx*sy - sx*sxy)/delta; + m[b] = (s*sxy - sx*sy) /delta; + + if(m[b]<0||m[b]>15) + m[b]=15; + printf("After Loop s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t next_i: %d,\t b: %d,\t meas[next_i]: %f\n", s, sx, sy, sxx, sxy, next_i, b, meas[next_i]); + // cout<=0){ +; + Feb_Control_PrintCorrectedValues(); + } + + return 0; +} + int setModule(sls_detector_module myMod, int* gain, int* offset){ diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index bfc2bd293..9b081ac12 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -2414,26 +2414,30 @@ int multiSlsDetector::flatFieldCorrect(double* datain, double *errin, double* da int multiSlsDetector::setRateCorrection(double t){ - // double tdead[]=defaultTDead; + // double tdead[]=defaultTDead; - if (t==0) { - thisMultiDetector->correctionMask&=~(1<correctionMask|=(1<numberOfDetectors; idet++) { - - if (detectors[idet]) { - detectors[idet]->setRateCorrection(t); - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<correctionMask&=~(1<correctionMask&(1<correctionMask|=(1<numberOfDetectors; idet++) { + + if (detectors[idet]) { + detectors[idet]->setRateCorrection(t); + if(detectors[idet]->getErrorMask()) + setErrorMask(getErrorMask()|(1<tDead << std::endl; + std::cout<< "Setting rate correction with dead time "<< thisMultiDetector->tDead << std::endl; #endif - } - return thisMultiDetector->correctionMask&(1<correctionMask&(1<tDead << std::endl; #endif - //which t should we return if they are all different? return 1; } else t=0; @@ -2460,7 +2463,6 @@ double multiSlsDetector::getRateCorrectionTau(){ #ifdef VERBOSE std::cout<< "Rate correction is enabled with dead time "<< thisMultiDetector->tDead << std::endl; #endif - //which t should we return if they are all different? for (int idet=0; idetnumberOfDetectors; idet++) { if (detectors[idet]) { diff --git a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp index b066f9435..8dbc0195e 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp +++ b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp @@ -811,7 +811,7 @@ void postProcessing::initDataset(int r) { } double tdead; - if (*correctionMask&(1<= 0) && (retval != tau_ns)){ + cprintf(RED,"%s",mess); + ret=FAIL; + } + } + } +#endif + if ((ret==OK) && (differentClients)) + ret=FORCE_UPDATE; + + + //ret could be swapped during sendData + ret1 = ret; + n = sendData(file_des,&ret1,sizeof(ret),INT32); + if (ret==FAIL) { + n = sendData(file_des,mess,sizeof(mess),OTHER); + } else { + n = sendData(file_des,&retval,sizeof(retval),INT64); + } + + return ret; +} diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.h b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.h index c45da8b56..c2fa38438 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.h +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.h @@ -87,6 +87,7 @@ int set_counter_bit(int); int pulse_pixel(int); int pulse_pixel_and_move(int); int pulse_chip(int); +int rate_correct(int); #endif From 23058987a44c37ee702f0500ed3bdbdc49af3160 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 8 Feb 2016 11:11:36 +0100 Subject: [PATCH 24/43] mid way, had to change to fix bug --- slsDetectorSoftware/eigerDetectorServer/FebControl.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.h b/slsDetectorSoftware/eigerDetectorServer/FebControl.h index dfaf15969..35cfeab57 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.h +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.h @@ -184,5 +184,11 @@ int Feb_Control_GetModuleNumber(); int Feb_Control_ClockRowClock(unsigned int ntimes); int Feb_Control_PulseChip(int npulses); + int Feb_Control_PrintCorrectedValues(); + void Feb_Control_SetRateCorrectionVariable(int activate_rate_correction); + int Feb_Control_SetRateCorrectionTable(unsigned int *table); + int Feb_Control_SetRateCorrectionTau(double tau); + + #endif From cf3e736d7e7364783a3e8bc84e2e3263669c449f Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 8 Feb 2016 11:25:10 +0100 Subject: [PATCH 25/43] fixed bug that still reads hostname and expects a 0XX format, also prints revision number in decimal and not hex --- .../eigerDetectorServer/FebControl.c | 16 ++-------------- .../eigerDetectorServer/FebControl.h | 2 +- .../bin/eigerDetectorServer | Bin 260064 -> 260144 bytes .../slsDetectorFunctionList.c | 4 ++-- .../slsDetectorServer_funcs.c | 2 +- 5 files changed, 6 insertions(+), 18 deletions(-) diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index b4f505486..fc30fa5ce 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -166,7 +166,7 @@ void Feb_Control_FebControl(){ -int Feb_Control_Init(int master, int top){ +int Feb_Control_Init(int master, int top, int module_num){ unsigned int i; Feb_Control_module_number = 0; Feb_Control_current_index = 0; @@ -174,19 +174,7 @@ int Feb_Control_Init(int master, int top){ //global send Feb_Control_AddModule1(0,1,0xff,0,1); Feb_Control_PrintModuleList(); - - //get module nummber - int res=0; - char hostname[100]; - if (gethostname(hostname, sizeof hostname) == 0) - puts(hostname); - else - perror("gethostname"); - char *pch; - pch = strtok(hostname,"0"); - pch = strtok(NULL,"0"); - sscanf(pch,"%d",&res); - Feb_Control_module_number = (res & 0xFF); + Feb_Control_module_number = (module_num & 0xFF); int serial = !top; diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.h b/slsDetectorSoftware/eigerDetectorServer/FebControl.h index dfaf15969..14c81a61c 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.h +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.h @@ -111,7 +111,7 @@ int Feb_Control_GetModuleNumber(); void Feb_Control_FebControl(); - int Feb_Control_Init(int master, int top); + int Feb_Control_Init(int master, int top, int module_num); int Feb_Control_ReadSetUpFileToAddModules(char* file_name); int Feb_Control_ReadSetUpFile(unsigned int module_num, char* file_name); int Feb_Control_CheckSetup(); diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer index 1b41fd96645fb442eea09a648595c28ef73ee339..a55086f53de0379a2088474a972ea8056bc91a4a 100755 GIT binary patch delta 53412 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 wab3-~R#&gBtND7(tu)M$A0&s;(AOHXW delta 53275 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 Date: Mon, 8 Feb 2016 15:20:19 +0100 Subject: [PATCH 26/43] almost done --- slsDetectorSoftware/commonFiles/error_defs.h | 5 + .../eigerDetectorServer/FebControl.c | 242 ++++++++++-------- .../eigerDetectorServer/FebControl.h | 10 +- .../slsDetectorFunctionList.c | 33 ++- .../multiSlsDetector/multiSlsDetector.cpp | 35 ++- .../slsDetector/slsDetector.cpp | 74 ++++-- 6 files changed, 250 insertions(+), 149 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/error_defs.h b/slsDetectorSoftware/commonFiles/error_defs.h index c3509a44a..c7f2b01b3 100644 --- a/slsDetectorSoftware/commonFiles/error_defs.h +++ b/slsDetectorSoftware/commonFiles/error_defs.h @@ -56,6 +56,7 @@ using namespace std; #define COULD_NOT_PULSE_PIXEL 0x0000000000040000ULL #define COULD_NOT_PULSE_PIXEL_NMOVE 0x0000000000080000ULL #define COULD_NOT_PULSE_CHIP 0x0000000000100000ULL +#define COULD_NOT_SET_RATE_CORRECTION 0x0000000000200000ULL // 0x00000000FFFFFFFFULL /** @short class returning all error messages for error mask */ @@ -177,6 +178,10 @@ public: if(slsErrorMask&COULD_NOT_PULSE_CHIP) retval.append("Could not pulse chip\n"); + if(slsErrorMask&COULD_NOT_SET_RATE_CORRECTION) + retval.append("Could not set rate correction\n"); + + return retval; } diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index 74b4dd047..958b692c7 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -43,11 +43,15 @@ unsigned int Feb_Control_triggerMode; //internal timer, external start, unsigned int Feb_Control_externalEnableMode; //external enabling engaged and it's polarity unsigned int Feb_Control_subFrameMode; + unsigned int Feb_Control_nimages; double Feb_Control_exposure_time_in_sec; int Feb_Control_subframe_exposure_time_in_10nsec; double Feb_Control_exposure_period_in_sec; +int Feb_Control_RateTable_Tau_in_nsec = -1; +int Feb_Control_RateTable_Subexptime_in_nsec = -1; + unsigned int Feb_Control_trimbit_size; unsigned int* Feb_Control_last_downloaded_trimbits; @@ -1382,7 +1386,7 @@ int Feb_Control_SetSubFrameExposureTime(int the_subframe_exposure_time_in_10nsec printf("Sub Frame Exposure time set to: %d\n",Feb_Control_subframe_exposure_time_in_10nsec); return 1; } -int Feb_Control_GetSubFrameExposureTime(){return Feb_Control_subframe_exposure_time_in_10nsec;} +int Feb_Control_GetSubFrameExposureTime(){return Feb_Control_subframe_exposure_time_in_10nsec*10;} int Feb_Control_SetExposurePeriod(double the_exposure_period_in_sec){ Feb_Control_exposure_period_in_sec = the_exposure_period_in_sec; @@ -1792,35 +1796,110 @@ int Feb_Control_PulseChip(int npulses){ } -int Feb_Control_PrintCorrectedValues(){ - int i; - int delta, slope, base, lsb, corr; - for (i=0; i < 4096; i++) - { - lsb = i&3; - base = Feb_Control_rate_correction_table[i>>2] & 0x3fff; - slope = ((Feb_Control_rate_correction_table[i>>2] & 0x3c000) >> 14); - delta = slope*lsb; - corr = delta+base; - printf("Readout Input: %d,\tBase:%d,\tSlope:%d,\tLSB:%d,\tDelta:%d\tResult:%d\tReal:%f\n", - i, base, slope, lsb, delta, corr, Feb_Control_rate_meas[i]); + +int Feb_Control_Get_RateTable_Tau_in_nsec(){ return Feb_Control_RateTable_Tau_in_nsec;} +int Feb_Control_Get_RateTable_Subexptime_in_nsec(){ return Feb_Control_RateTable_Subexptime_in_nsec;} + +int Feb_Control_SetRateCorrectionTau(int tau_in_Nsec){ + + double sub_expure_time_in_sec = (double)(Feb_Control_GetSubFrameExposureTime())/(double)1e9; + double tau_in_sec = (double)tau_in_Nsec/(double)1e9; + unsigned int np = 16384; //max slope 16 * 1024 + double b0[1024]; + double m[1024]; + + + if(tau_in_sec<0||sub_expure_time_in_sec<0){ + printf("Error tau %f and sub_expure_time %f must be greater than 0.\n", tau_in_sec, sub_expure_time_in_sec); + return 0; } - return 1; + + printf("\tCalculating table for tau of %f ns.\n", tau_in_Nsec); + + for(int i=0;i memory address --> memory + data_in( 1..0) -> lsb + + mem_data_out(13.. 0) -> base + mem_data_out(17..14) -> slope + + delta = slope*lsb + corr = base+delta + */ + + int next_i=0; + + b0[0] = 0; + m[0] = 1; + + for(int b=1;b<1024;b++){ + if(m[b-1]<14.5){ + double s=0,sx=0,sy=0,sxx=0,sxy=0; + for(;;next_i++){ + if(next_i>=np){ + cprintf(BG_RED,"Error bin problem ???\n"); + return 0; + } + + double x = Feb_Control_rate_meas[next_i] - b*4; + double y = next_i; + printf("Start Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " + "next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n", + x, y, s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]); + + if(x < -0.5) continue; + if(x > 3.5) break; + s += 1; + sx += x; + sy += y; + sxx += x*x; + sxy += x*y; + printf("End Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " + "next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n", + x, y, s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]); + } + double delta = s*sxx - sx*sx; + b0[b] = (sxx*sy - sx*sxy)/delta; + m[b] = (s*sxy - sx*sy) /delta; + + if(m[b]<0||m[b]>15) + m[b]=15; + printf("After Loop s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " + "next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n", + s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]); + // cout<>2] & 0x3fff; + slope = ((Feb_Control_rate_correction_table[i>>2] & 0x3c000) >> 14); + delta = slope*lsb; + corr = delta+base; + printf("Readout Input: %d,\tBase:%d,\tSlope:%d,\tLSB:%d,\tDelta:%d\tResult:%d\tReal:%f\n", + i, base, slope, lsb, delta, corr, Feb_Control_rate_meas[i]); } - - printf("\tCalculating table for tau of %f ns.\n", tau*1e9); - - // Basic rate correction table - for(int i=0;i memory address --> memory - // data_in( 1..0) -> lsb - // - // mem_data_out(13.. 0) -> base - // mem_data_out(17..14) -> slope - // - // delta = slope*lsb - // corr = base+delta - - int next_i=0; - - b0[0] = 0; - m[0] = 1; - - for(int b=1;b<1024;b++) - { - if(m[b-1]<14.5) - { - double s=0,sx=0,sy=0,sxx=0,sxy=0; - for(;;next_i++) - { - if(next_i>=np) - { - printf("Error bin problem ???????\n"); - return 0; - } - - double x = meas[next_i] - b*4; - double y = next_i; - printf("Start Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t next_i: %d,\t b: %d,\t meas[next_i]: %f\n", x, y, s, sx, sy, sxx, sxy, next_i, b, meas[next_i]); - - if(x < -0.5) continue; - if(x > 3.5) break; - s += 1; - sx += x; - sy += y; - sxx += x*x; - sxy += x*y; - printf("End Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t next_i: %d,\t b: %d,\t meas[next_i]: %f\n", x, y, s, sx, sy, sxx, sxy, next_i, b, meas[next_i]); - } - double delta = s*sxx - sx*sx; - b0[b] = (sxx*sy - sx*sxy)/delta; - m[b] = (s*sxy - sx*sy) /delta; - - if(m[b]<0||m[b]>15) - m[b]=15; - printf("After Loop s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t next_i: %d,\t b: %d,\t meas[next_i]: %f\n", s, sx, sy, sxx, sxy, next_i, b, meas[next_i]); - // cout<=0){ -; - Feb_Control_PrintCorrectedValues(); + if(n>0){ + int tau_in_nsec = Feb_Control_Get_RateTable_Tau_in_nsec(); + int subexp_in_nsec = Feb_Control_Get_RateTable_Subexptime_in_nsec(); + //same setting + if(tau_in_nsec == n) && (subexp_in_nsec == Feb_Control_GetSubFrameExposureTime()){ + printf("Same Tau %dns, Same subexptime %dns = Same setting, not rewriting rate correction table\n"); + } + //different setting, calculate table + else if(!Feb_Control_SetRateCorrectionTau(n)){ + cprintf(RED,"Rate correction failed. Deactivating rate correction\n"); + SetRateCorrectionVariable(0); + return 0; + } + //activating rate correction + SetRateCorrectionVariable(1); + Feb_Control_PrintCorrectedValues(); + }else{ + //deactivating rate correction + SetRateCorrectionVariable(0); + } } - return 0; + //return tau if it is a valid value (written to memory properly) + int tau_in_nsec = Feb_Control_GetTau_in_nsec(); + if(tau_in_nsec>=0) + return tau_in_nsec; + else + return 0; } @@ -788,7 +811,7 @@ int64_t setTimer(enum timerIndex ind, int64_t val){ printf(" Setting sub exp time: %dns\n",(int)val/10); Feb_Control_SetSubFrameExposureTime(val/10); } - return (Feb_Control_GetSubFrameExposureTime()*10); + return (Feb_Control_GetSubFrameExposureTime()); case FRAME_PERIOD: diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 9b081ac12..1c25da38c 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -2416,27 +2416,44 @@ int multiSlsDetector::flatFieldCorrect(double* datain, double *errin, double* da int multiSlsDetector::setRateCorrection(double t){ // double tdead[]=defaultTDead; - if (t==0) { - thisMultiDetector->correctionMask&=~(1<correctionMask&=~(1<correctionMask&(1<correctionMask|=(1<correctionMask|=(1<numberOfDetectors; idet++) { - if (detectors[idet]) { - detectors[idet]->setRateCorrection(t); + ret=detectors[idet]->setRateCorrection(t); if(detectors[idet]->getErrorMask()) setErrorMask(getErrorMask()|(1<tDead << std::endl; + if(getDetectorsType() == MYTHEN) + std::cout<< "Setting rate correction with dead time "<< thisMultiDetector->tDead << std::endl; #endif + //mismatch between detectors + if(ret1 == -1) + return ret1; + + if (getDetectorsType() != MYTHEN){ + if (ret1==0) { + thisMultiDetector->correctionMask&=~(1<correctionMask&(1<correctionMask|=(1<correctionMask&(1<correctionMask&=~(1<correctionMask|=(1<0) - thisDetector->tDead=t; - else { - if (thisDetector->currentSettings<3 && thisDetector->currentSettings>-1) - thisDetector->tDead=tdead[thisDetector->currentSettings]; - else - thisDetector->tDead=0; - } + thisDetector->correctionMask&=~(1<correctionMask|=(1<0) + thisDetector->tDead=t; + else { + if (thisDetector->currentSettings<3 && thisDetector->currentSettings>-1) + thisDetector->tDead=tdead[thisDetector->currentSettings]; + else + thisDetector->tDead=0; + } #ifdef VERBOSE - std::cout<< "Setting rate correction with dead time "<< thisDetector->tDead << std::endl; + std::cout<< "Setting rate correction with dead time "<< thisDetector->tDead << std::endl; #endif - } - return thisDetector->correctionMask&(1<correctionMask&(1<onlineFlag==ONLINE_FLAG) { + if (connectControl() == OK){ + controlSocket->SendDataOnly(&fnum,sizeof(fnum)); + controlSocket->SendDataOnly(&arg,sizeof(arg)); + controlSocket->ReceiveDataOnly(&ret,sizeof(ret)); + if (ret!=FAIL) { + controlSocket->ReceiveDataOnly(&retval,sizeof(retval)); + if(retval<0) + thisDetector->correctionMask&=~(1<0) + thisDetector->correctionMask|=(1<correctionMask&=~(1<tDead = (double)retval/(double)1e9; + + } else { + controlSocket->ReceiveDataOnly(mess,sizeof(mess)); + std::cout<< "Detector returned error: " << mess << std::endl; + thisDetector->correctionMask&=~(1<tDead = 0; + } + disconnectControl(); + if (ret==FORCE_UPDATE) + updateDetector(); + } + } + return thisDetector->correctionMask&(1< Date: Mon, 8 Feb 2016 15:25:28 +0100 Subject: [PATCH 27/43] bug fixed maximum sub exposure time is in 10 ns and not ns --- .../commonFiles/sls_detector_defs.h | 2 +- .../bin/eigerDetectorServer | Bin 260144 -> 260144 bytes .../slsDetectorServer_funcs.c | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/sls_detector_defs.h b/slsDetectorSoftware/commonFiles/sls_detector_defs.h index 3198f89e2..ab1e24ad6 100755 --- a/slsDetectorSoftware/commonFiles/sls_detector_defs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_defs.h @@ -22,7 +22,7 @@ #define HEADERLENGTH 12 #define DEFAULT_SUBFRAME_EXPOSURE_VAL 2621440 /** default value for sub frame value 2.6ms*/ -#define MAX_SUBFRAME_EXPOSURE_VAL 0x1FFFFFFF /** 29 bit register for max subframe exposure value */ +#define MAX_SUBFRAME_EXPOSURE_VAL_IN_10NS 0x1FFFFFFF /** 29 bit register for max subframe exposure value */ /** maximum rois */ #define MAX_ROIS 100 diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer index a55086f53de0379a2088474a972ea8056bc91a4a..96d274a2b676038bec2d8d2ecafed1fc53a72d20 100755 GIT binary patch delta 33 mcmdn+fqw%KrA=kC|DV9{|66m;)b^aIj6lq^J!dNOkt6^hVh|eu delta 33 mcmdn+fqw%KrA=j%|DV9{|9^AN)b^aIj6lq^J!dNOkt6^fBoG7u diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index 78c164015..e2c0f9c8a 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -2518,7 +2518,7 @@ int set_timer(int file_des) { switch(ind) { #ifdef EIGERD case SUBFRAME_ACQUISITION_TIME: - if (tns > MAX_SUBFRAME_EXPOSURE_VAL ){ + if (tns > (MAX_SUBFRAME_EXPOSURE_VAL_IN_10NS*10) ){ ret=FAIL; strcpy(mess,"Sub Frame exposure time should not exceed 5.368 seconds\n"); break; From 9067da5e88e3fe601bf85b0d557846fe12c62504 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 10 Feb 2016 11:22:59 +0100 Subject: [PATCH 28/43] rate correction for eiger implemented --- .../eigerDetectorServer/FebControl.c | 48 ++++++++------- .../eigerDetectorServer/FebControl.h | 9 +-- .../bin/eigerDetectorServer | Bin 260064 -> 0 bytes .../slsDetectorFunctionList.c | 58 +++++++++--------- .../slsDetectorServer_defs.h | 8 +++ .../multiSlsDetector/multiSlsDetector.cpp | 32 ++++++---- .../slsDetector/slsDetector.cpp | 26 +++++--- .../slsDetector/slsDetectorCommand.cpp | 6 +- .../slsDetectorFunctionList.h | 2 +- .../slsDetectorServer_funcs.c | 50 ++++++++++++--- 10 files changed, 151 insertions(+), 88 deletions(-) delete mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer diff --git a/slsDetectorSoftware/eigerDetectorServer/FebControl.c b/slsDetectorSoftware/eigerDetectorServer/FebControl.c index 958b692c7..930689f78 100644 --- a/slsDetectorSoftware/eigerDetectorServer/FebControl.c +++ b/slsDetectorSoftware/eigerDetectorServer/FebControl.c @@ -49,8 +49,8 @@ double Feb_Control_exposure_time_in_sec; int Feb_Control_subframe_exposure_time_in_10nsec; double Feb_Control_exposure_period_in_sec; -int Feb_Control_RateTable_Tau_in_nsec = -1; -int Feb_Control_RateTable_Subexptime_in_nsec = -1; +int64_t Feb_Control_RateTable_Tau_in_nsec = -1; +int64_t Feb_Control_RateTable_Subexptime_in_nsec = -1; unsigned int Feb_Control_trimbit_size; unsigned int* Feb_Control_last_downloaded_trimbits; @@ -1797,10 +1797,11 @@ int Feb_Control_PulseChip(int npulses){ -int Feb_Control_Get_RateTable_Tau_in_nsec(){ return Feb_Control_RateTable_Tau_in_nsec;} -int Feb_Control_Get_RateTable_Subexptime_in_nsec(){ return Feb_Control_RateTable_Subexptime_in_nsec;} +int64_t Feb_Control_Get_RateTable_Tau_in_nsec(){ return Feb_Control_RateTable_Tau_in_nsec;} +int64_t Feb_Control_Get_RateTable_Subexptime_in_nsec(){ return Feb_Control_RateTable_Subexptime_in_nsec;} -int Feb_Control_SetRateCorrectionTau(int tau_in_Nsec){ +//returns -1 if slope is too high +int Feb_Control_SetRateCorrectionTau(int64_t tau_in_Nsec){ double sub_expure_time_in_sec = (double)(Feb_Control_GetSubFrameExposureTime())/(double)1e9; double tau_in_sec = (double)tau_in_Nsec/(double)1e9; @@ -1814,9 +1815,9 @@ int Feb_Control_SetRateCorrectionTau(int tau_in_Nsec){ return 0; } - printf("\tCalculating table for tau of %f ns.\n", tau_in_Nsec); - - for(int i=0;i=np){ - cprintf(BG_RED,"Error bin problem ???\n"); - return 0; + cprintf(RED,"Error: (tau/subexptime) must be < 0.0015 \n"); + return -1; } double x = Feb_Control_rate_meas[next_i] - b*4; double y = next_i; - printf("Start Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " + /*printf("Start Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " "next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n", - x, y, s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]); + x, y, s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]);*/ if(x < -0.5) continue; if(x > 3.5) break; @@ -1862,9 +1863,9 @@ int Feb_Control_SetRateCorrectionTau(int tau_in_Nsec){ sy += y; sxx += x*x; sxy += x*y; - printf("End Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " + /*printf("End Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " "next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n", - x, y, s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]); + x, y, s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]);*/ } double delta = s*sxx - sx*sx; b0[b] = (sxx*sy - sx*sxy)/delta; @@ -1872,20 +1873,20 @@ int Feb_Control_SetRateCorrectionTau(int tau_in_Nsec){ if(m[b]<0||m[b]>15) m[b]=15; - printf("After Loop s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " + /*printf("After Loop s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t " "next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n", - s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]); + s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]);*/ // cout<f3IwdMWXXw1){#j}DyOD_cpXc`!Zrvj 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%0D4T-H3Cpp)m;Ln1FW}-76W|^RQw3Q{}S*? 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 diff --git a/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c b/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c index 760ade216..d13279fbd 100644 --- a/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorSoftware/eigerDetectorServer/slsDetectorFunctionList.c @@ -489,36 +489,37 @@ int pulseChip(int n){ return OK; } -int setRateCorrection(int n){ - if(n>=0){ - if(n>0){ - int tau_in_nsec = Feb_Control_Get_RateTable_Tau_in_nsec(); - int subexp_in_nsec = Feb_Control_Get_RateTable_Subexptime_in_nsec(); - //same setting - if(tau_in_nsec == n) && (subexp_in_nsec == Feb_Control_GetSubFrameExposureTime()){ - printf("Same Tau %dns, Same subexptime %dns = Same setting, not rewriting rate correction table\n"); - } - //different setting, calculate table - else if(!Feb_Control_SetRateCorrectionTau(n)){ - cprintf(RED,"Rate correction failed. Deactivating rate correction\n"); - SetRateCorrectionVariable(0); - return 0; - } - //activating rate correction - SetRateCorrectionVariable(1); - Feb_Control_PrintCorrectedValues(); - }else{ - //deactivating rate correction - SetRateCorrectionVariable(0); - } +int setRateCorrection(int64_t custom_tau_in_nsec){//in nanosec (will never be -1) + + //deactivating rate correction + if(custom_tau_in_nsec==0){ + Feb_Control_SetRateCorrectionVariable(0); + return 0; } - //return tau if it is a valid value (written to memory properly) - int tau_in_nsec = Feb_Control_GetTau_in_nsec(); - if(tau_in_nsec>=0) - return tau_in_nsec; - else - return 0; + int64_t tau_in_nsec = Feb_Control_Get_RateTable_Tau_in_nsec(); + int64_t subexp_in_nsec = Feb_Control_Get_RateTable_Subexptime_in_nsec(); + //same setting + if((tau_in_nsec == custom_tau_in_nsec) && (subexp_in_nsec == Feb_Control_GetSubFrameExposureTime())){ + printf("Rate Table already created before: Same Tau %lldns, Same subexptime %lldns\n", + tau_in_nsec,subexp_in_nsec); + } + //different setting, calculate table + else{ + int ret = Feb_Control_SetRateCorrectionTau(custom_tau_in_nsec); + if(ret<=0){ + cprintf(RED,"Rate correction failed. Deactivating rate correction\n"); + Feb_Control_SetRateCorrectionVariable(0); + return ret;//-1 is for tau/subexptime error, 0 for all other errors + } + } + //activating rate correction + Feb_Control_SetRateCorrectionVariable(1); +#ifdef VERBOSE + Feb_Control_PrintCorrectedValues(); +#endif + + return Feb_Control_Get_RateTable_Tau_in_nsec(); } @@ -576,6 +577,7 @@ int setModule(sls_detector_module myMod, int* gain, int* offset){ return FAIL; } + return 0; } diff --git a/slsDetectorSoftware/eigerDetectorServer/slsDetectorServer_defs.h b/slsDetectorSoftware/eigerDetectorServer/slsDetectorServer_defs.h index efed927c6..c41e5cdbf 100644 --- a/slsDetectorSoftware/eigerDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorSoftware/eigerDetectorServer/slsDetectorServer_defs.h @@ -40,4 +40,12 @@ enum detDacIndex{SVP,VTR,VRF,VRS,SVN,VTGSTV,VCMP_LL,VCMP_LR,CAL,VCMP_RL,RXB_RB,RXB_LB,VCMP_RR,VCP,VCN,VIS,VTHRESHOLD}; +enum defaultTauValues{ + HIGHGAIN_TAU=410, + STANDARD_TAU=290, + LOWGAIN_TAU=180}; + + + + #endif /* SLSDETECTORSERVER_DEFS_H_ */ diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 1c25da38c..4c72a5293 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -1143,6 +1143,7 @@ slsDetectorDefs::detectorSettings multiSlsDetector::setSettings(detectorSettings } thisMultiDetector->currentSettings=ret1; + return ret1; } @@ -1629,6 +1630,15 @@ int64_t multiSlsDetector::setTimer(timerIndex index, int64_t t){ thisMultiDetector->timerValue[index]=ret1; + + if (getDetectorsType() == EIGER) { + //if subexptime set, update rate correction in server and update result in multi client + double r; + if((index == SUBFRAME_ACQUISITION_TIME) && (t>=0) && getRateCorrection(r)){ + setRateCorrection(r); + } + } + return ret1; }; @@ -2417,6 +2427,9 @@ int multiSlsDetector::setRateCorrection(double t){ // double tdead[]=defaultTDead; if (getDetectorsType() == MYTHEN){ +#ifdef VERBOSE + std::cout<< "Setting rate correction with dead time "<< thisMultiDetector->tDead << std::endl; +#endif if (t==0) { thisMultiDetector->correctionMask&=~(1<correctionMask&(1<tDead << std::endl; -#endif - - //mismatch between detectors - if(ret1 == -1) - return ret1; - if (getDetectorsType() != MYTHEN){ - if (ret1==0) { + if (ret1<=0) thisMultiDetector->correctionMask&=~(1<correctionMask&(1<correctionMask|=(1<correctionMask&(1<tDead << std::endl; #endif + + if (getDetectorsType() != MYTHEN) + t = getRateCorrectionTau(); + return 1; } else t=0; diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 4f28e5e9c..0d22aaedd 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -2771,6 +2771,11 @@ int slsDetector::setModule(sls_detector_module module, int* gainval, int* offset } } + if(ret == FAIL && thisDetector->myDetectorType == EIGER && strcasestr(mess,"tau")){ + setErrorMask((getErrorMask())|(COULD_NOT_SET_RATE_CORRECTION)); + thisDetector->correctionMask&=~(1<tDead = 0; + } if (ret!=FAIL) { if (detectorModules) { @@ -5005,25 +5010,27 @@ int slsDetector::setRateCorrection(double t){ #ifdef VERBOSE std::cout<< "Setting Rate Correction to " << arg << endl; #endif - if (thisDetector->onlineFlag==ONLINE_FLAG) { + if (setOnline(ONLINE_FLAG)==ONLINE_FLAG) { if (connectControl() == OK){ controlSocket->SendDataOnly(&fnum,sizeof(fnum)); controlSocket->SendDataOnly(&arg,sizeof(arg)); controlSocket->ReceiveDataOnly(&ret,sizeof(ret)); if (ret!=FAIL) { controlSocket->ReceiveDataOnly(&retval,sizeof(retval)); - if(retval<0) + if(retval<0){ thisDetector->correctionMask&=~(1<0) - thisDetector->correctionMask|=(1<correctionMask&=~(1<tDead = (double)retval/(double)1e9; - + thisDetector->tDead = 0; + }else{ + if(retval>0) + thisDetector->correctionMask|=(1<correctionMask&=~(1<tDead = (double)retval/(double)1e9; + } } else { controlSocket->ReceiveDataOnly(mess,sizeof(mess)); std::cout<< "Detector returned error: " << mess << std::endl; + setErrorMask((getErrorMask())|(COULD_NOT_SET_RATE_CORRECTION)); thisDetector->correctionMask&=~(1<tDead = 0; } @@ -5032,6 +5039,7 @@ int slsDetector::setRateCorrection(double t){ updateDetector(); } } + return thisDetector->correctionMask&(1<getRateCorrection(t)) { - sprintf(answer,"%f",t); + sprintf(answer,"%0.9f",t); } else { sprintf(answer,"%f",0.); } @@ -1954,7 +1954,7 @@ string slsDetectorCommand::helpRateCorr(int narg, char *args[], int action){ if (action==GET_ACTION || action==HELP_ACTION) os << string("ratecorr \t returns the dead time used for rate correections in ns \n"); if (action==PUT_ACTION || action==HELP_ACTION) - os << string("ratecorr ns \t sets the deadtime correction constant in ns\n"); + os << string("ratecorr ns \t sets the deadtime correction constant in ns, -1 in Eiger will set it to default tau of that settings\n"); return os.str(); } @@ -3053,7 +3053,7 @@ string slsDetectorCommand::cmdSettings(int narg, char *args[], int action) { myDet->setOnline(ONLINE_FLAG); if (cmd=="settings") { - if (action==PUT_ACTION) + if (action==PUT_ACTION) myDet->setSettings(myDet->getDetectorSettings(string(args[1]))); return myDet->getDetectorSettings(myDet->getSettings()); } else if (cmd=="threshold") { diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h b/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h index c3e820d91..e4025db45 100644 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h @@ -51,7 +51,7 @@ int setCounterBit(int val); int pulsePixel(int n, int x, int y); int pulsePixelNMove(int n, int x, int y); int pulseChip(int n); -int setRateCorrection(int n); +int setRateCorrection(int64_t custom_tau_in_nsec); #endif #if defined(MYTHEND) || defined(GOTTHARDD) diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index f47c43e09..305746e4f 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -32,6 +32,7 @@ const enum detectorType myDetectorType=PICASSO; const enum detectorType myDetectorType=GENERIC; #endif +extern enum detectorSettings thisSettings; //global variables for optimized readout char mess[MAX_STR_LENGTH]; @@ -1792,8 +1793,13 @@ int get_chip(int file_des) { } + + + + + int set_module(int file_des) { - int retval, n,i; + int retval, n; int ret=OK,ret1=OK; #ifdef SLS_DETECTOR_FUNCTION_LIST @@ -1862,15 +1868,28 @@ int set_module(int file_des) { ret=FAIL; -//#ifdef VERBOSE +#ifdef VERBOSE printf("module number is %d,register is %d, nchan %d, nchip %d, ndac %d, nadc %d, gain %f, offset %f\n",myModule.module, myModule.reg, myModule.nchan, myModule.nchip, myModule.ndac, myModule.nadc, myModule.gain,myModule.offset); #ifdef EIGERD + int i; for(i=0;i= 0) && (retval != tau_ns)){ + retval = setRateCorrection(tau_ns); //tau_ns will not be -1 here + if(tau_ns != retval){ + if(retval == -1) + strcpy(mess,"Rate correction Deactivated, (tau/subexptime) must be < 0.0015\n"); cprintf(RED,"%s",mess); ret=FAIL; } From dbedc9b7dfa761f41ba725dadc8b1bf1334f90af Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Wed, 10 Feb 2016 11:25:58 +0100 Subject: [PATCH 29/43] rate correction for eiger implemented --- .../bin/eigerDetectorServer | Bin 0 -> 268509 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer new file mode 100755 index 0000000000000000000000000000000000000000..1e728fc0f6ffd1746aa5c3982a07780ee11032ea GIT binary patch literal 268509 zcmeFa4|tT-nKyi95+F!y$8GG!-KfJhwuwZYRIn3GNT{HLffh8eSg{NRlvL0tv5oJS zG&2cWP;7}pSNeg%e&Rx_yRwyC-Rc^)x~naI#a->CU9Gs)EpD~Nt+u#D=l%WebI#0p zo;**OL|feJeesHOp7WeP_qosg|NMFSX3aS-5{;<*zo@D}IucWpHsg1yD%sN`@20A_ zDpNK1?-V?b=ewBsLvcJx8{?2D#a{`Y@m~Mo`B?MEclpAoulT2;-TUQFsd2g){6Cse zu@e1<0(Yrs-Sa3p!Mu;+eI4G*AM&3ye}s#D;4d;0{mUPo8q|jz1|dJJq{&u{%6{4y(kha&wS$SEc^j4>XZ08 z8Grm&u7C3XpNP~+_^ZMn+n$O){;R`ZE&giwfPZJ;ZyNso6n}q)KenI1-|6_X|02S<8Lzl>_5`#6#PxVA8G6p_~XBi>mT?35eu_4 zgg3vkZ`m;Z-KBqYM@T>6dtT#v{;~Hta)b9-=2@~#`^1&}i|ZfGhy07{pAGuQ_8(d4 zd!FNcR^RnLN51HNR^RhI|C{gmfcH7_b?>vf-uoP}b87K-i}!tj_VjoopZC3=AB)z! ziM&z}0Ol&P)%!m374Nf3d!HkuartN3pA{>)k#oZKfXfK^M*bOmzvO%Vn(z4v-*d+M zTp(-H-*WGJ_4SxKJ&wF2-g9pM(fdATD%y2|?;xybvh`aI8&fh#Ei&r*vPU9s}&s}`;5T6}HSqD5-a z1z%ot;j$|_R&_1A_S_YVSFKvMN-gW|RM%d8-Bn8!s;%l;x@5`}T^El_Oe?cLizb$K zT(#)BRm+yDRaY;$a#@#J)phNX&g)UXqf0ICy85aW^8Zz8Rp+%GS9M*kF2A~S*;T4@ z*|pbReJud#K(&U3MXOdVS$x&ys^h9jy1G+!Ue~pX|68(r@wET}pk1X_EnBf{ zNtf!B7SK=E)mN&OD;IaF%dc35(#TnXQY)9OTm?85EkYMpUA<_<)k_w4bzFUw`eFwL zbM3OlOBG6YF1}*fs*eA)Of6ouq^o1)GS(v4moHgy^{Qp)sf)w8y0c5IT)YBJ$gmc3 zbW72!T6H}DTB$m9>FZXlShfsMeC67XF0|Nnb%$cFE2QDYOO`A{GepbEPX5@D6Om>L zRxa+iN?m^KvSsT0IkP`~?xIhgp2(-_^Qo!%l%_jqRQy*W|Bs5kpf=XI{{N3hJ~Xua zXKV0xg5=mY{#tx45lPJwT5nJfC64Xr;4gGVWIKLic&3hk&WijsepwP}bw2)BPT@V} z{sg>uka>8fj)8oNeBV5?K6I_r=X=&epVB_;ivE;R6WIpRlp!Zk{~*1(5oJVIAw3gS zY#Oq+#HQN-noTc6w>G^LL$K);0MDkolq$379`tL|t06XQdL2vwo8EvC+Vp0qaGSmh zs?etI0kk%Kzf#B9^h3}dHvOnlAF=7ZN>$kO(@@7Y{XA5$O}`9PZPTwQRcX_2LcH4a zVVE2yeM2eC6q_!G>bB_$m^U_E1r=`7)ll6wT?ezprl&%^+jJvTyiL!9S!2_4pxSM^ z4Q7x{FN9fS(@SCA*z^jR1vcFU^U0=rVD{MbYM4tly$&XoO>Y26+Vp0aVK#jiOgEdp z2WFK`-w!j*rXPY?Cg}~6a|e6MqIa*4sEXV6sIpYamtX07JbHKLq}-u1GD^+3gL&6S zQYtbo6|H(EgK|A(C3g>?Y;v-SeI}#gJ++g%+a{~ClAul9UJ2V%O)3_>VMoo&s9%Qs z{p{zqtco>fVx@Rry{78Mb+>I(73>FnSKjuLs%p7IrJJ|LN}GpbrRO}HDLdzAEYd7DV{>jlV2j+2{s4dV0AP?Ypl^($asd5eEOCy-#RtdAF|w?T6Y%qWV_M*^ z$dqJa$t9VX!BbUJ97-0Jv3V}HaQNF9sSmsxGV?JL_-O2Dp48ow{?qRJPF6Kr@z*x7 zbb6zTmG&G{(w#Y`e`()ZrGT^Yq{{s!rJ|L|w2CG(Dw5o)RI21FPp$7$Wto#z8DRpx zDo{6?NY@-nm2@{@PG2To)}M@V;xB`;rf#%nd`Wk5zbZw!6Hz9L{@FI#>^`3GpiY&* zqe`dul$3O%uhR^ie}c9u*;Y>}+SsaMc$ein14C5-hOaybxN~T$46rOP{f`3;?#Y+G zBa)EuPQrL6_3w~2?ojiXmr!fgpl*zGhu?At%R0fk_?%wLw?w)aI>qX(wT6t$_LHg@o zit+3DRkhW6PQDz;aBP^LhCbDjnWRdE?thUx+`IVFZbR?;$#Qky@bN=0CH7`}N>KW1?=LdKrPnSX#Cedf~%%R#8-tU(8(!a(J z@}6K`-}isrP1;YDbY;=*%zV3BN`M!E9rRv8SiE#sySB{IE&I)ahNR3S(B74xy(?>` z_DoXqdgJ30ZEC{1ZEE~<;&jFx(FcaL)q%E(rQzDtq27*EQq!@4!J%W|wXUIA%Lhw` z80$*lQ}~E5v}}&tZg7)Mm0Y`NIBu@J*NdA~%S?IT>Dmq{Z*X0}->MmSH`i?|p>l`8 zx65X1iNrWQwvkY$rpW6SXP!K*3*wTOuDu6v&jL;FH_tG^L!A`ui!ajo)6*q89aCD=Tjj+uYC;9Y4co;=iPXo zXPztZydBRi<~fe%jd)I&=NdfUfakb*PT=`EJjcv)63@#F?$!h6sGt~0i7ONGo`8r|ebwNjTV{Uqkj;LIJr>a{2 z2=E1af%@D0QZDkj!jY9LkQaxXi9iOg2mePfpOoX#8Fxfdkfl@c9}>QK6Z--E>i$UgIkmVpr+TkUC3W8@w+Q9XcUIs- zpQo~%$}O%{IoKCT_D{Z`JyBF&Q!*z7wcTF3db+fQaSRs5aoCJQw>_~ki9RZN)ddyO zmwE2Nvz4vcR#n>Ga^CdzPqm!h^T*%oZeP%H`d455UU%Oy--m3;AsB}7ok=}u(rt=u zLKo?_r7gga1q|6)Xlu?tPM=>l^r7A<7<&iooST-Q9hFPtuXh^TG3kp{@~c;Vr+ctZ z)qFMcUD}^@7-tReS2tLr)F2EBx1Yc^#@{v!8K|D@bd|CHRL{jIsj`>)LH z?Y}v2jPC+xIGR7Gpj7>TfvZl^2YtTnE+N?yI zRcJHLHpTAk!}FbxMUSXz^m_tvZfxGfXymya3+l%#?35j;l8#s2E9_PtqU}n~5%g(~ zwx!jZR(@xv^r!JYF8X$h*0-2*%GR=Mv#RQ?722aNtSs1a9oM_IF=Q<1CyqL?9+jGh z`f)tdj}#e)XQnBSK_|I2z+qWhX*v?PwkY~|wCTH>Xp48OS+4Ejjt=Hg-;cIwr!!C4JoJ5}xe28K2ZvR}f$>pGVGl)GbMGuBEF3F& z(u@;)qe=tHP75hp7EpF#NLkW|g`o^EL|b!*UkE7sdm8WIYXbTT8Smj)A!P%`d-#Nq zvO;%Wod53ipt9OF5gxMmF?000hXc!Ne~Gq373l;#D|(suwREoM_;^9;L!Wg92jzx;>+HDj%yHWHq*Lk>`=0)G zC7%IXjThJdoeda!ouO}k+4hjKoNs^G+K{rukFV_8?}U^kFZjzo6;hV5Du3DSA!Qkh z@|V3nsI0*^<$_zjq&4^U?7;Gx&f)>(gXlkDWZY6`?x>4=eH{woe>=A|0p;%vf(>(; zaLQ7)U>t|S=06!wHgNt)gV`z2m7p=kDp=3UUx!W%g2&XOPN@j4_gm4AS+DH1IO`Ie z>AtIxmiXTAzJI%IguZJ~FBa0b#2j*+M#sS@dn8_nU)mg&Zp-j2GRvVeBhP;`-^`i#ZMI&pO!|$;SIm>YY=BI9 z>+O(s17y-$VuSeGb##!+qrl%=TY}m~eG||1$Y+kd0`DlJtvywVXX2wmVjOqa_{|i= zm(tsjFZSJxEsC*2!6A4~$_LZ$TgL{#!+1Djn!=~lNoZT-G~l8AM*k^BzJzZn&xS|Y zPY9p9X=SX7|GXT4{ai*{SL@j~t&A;{?PL69(P_|e5u+o+cCy!8u z+4t1nluZl48wcv+sAc{1yATPM)si}Z9{tJl=M?) z+w{)q>wAW^Y1c0GoIcMs3*%kzj2W+tFAJV9BZrhPM~6@~G> zK79WBR7I-fbIER5@OB11u|qT90IS2M0MUmx+1 zKCJ$C$0hBXaa9(^_1fHFIPX(f3;SHejEj9*`?NC?vW{)^ym$RaY>tb!HS~ezg6pMC zy}Mu^Y&Q168rTQx(6`xF5P1RpuK{02K=aF!YQk3H1#zipeY|cB-c@qlnYuewa`7#M z8SlBK#rOB%{W{_f{VTvx<*scfhbC-8otLmqSEXe{`@NV8#Pud@Gq_&|-C)*gbPUY2 zdq3(_x^1OO+C{gB{L!&A?DeR70PW8=csyk4zU+m$o%F-8(pKPJjA!_sdk+XxYwiWE z^>U4|G@I8S{STpRtTp$d@C*Ay+)!|mNS_8B(EfsnO|HiJOgsBUK4`U_>z|EmOY4^Y zhjbq=?nWQvA=wWE`AIvV0`jE+`Ls(A4}SSX^w0eRNy_h*J8}<6JAzx=&dZxjUsyYB zzl7sr`@s9wkohmzn%Eb_{YZ8%5@|u&Qm57FxoO+Q=QA^>y^QtLl9c+(7kcjaSa(nF zpLXN96wgog+=S;2>;V|~S$E%dtOfkjue*CcfiwSDSzC*8tcM-VthcE~m6~$TnsUoo4(;3aB<73uSWd@)S^pFL_c`+##@B)V zIr)He4&I^tTIsd7fBu-z+R3V1=y?liP2zgpz!TRS71te2ItLo%d+uM7yrwu{ti7dE zWGLdt#&%NDkJ*!k_C=PVEy@zv3k5t=ZpR8TrU)LG1}qp$?s3*ls9QR9`G&2g{C(d1vsc)5y!lP*P5%Af z{N}wT{{e4)OWNcM4;T7PSv_ND&%%?+nDTqQ?OgDv$v3oS%g?p#$liiN`=7CJl182J z&bM}N%$tAVYo>i!hbXjjv9+Tsz2z4qO?l3()Bfk}IxhEaIQfe#oC$CKQj0g4(?Y*j z*m+EP%YVuC+vv?-Vf#&a^RKEiaL)1OciMK^y!qGcFy$9`^H*7XroH+9tK5`d>f}cn zYBSazT;a{{x8v>f=C8ibwA1Cy|JrJk-|fv`+hy{5y!kgTHTfBD{w<9rf3-LN>$cxD z-u!QDHs#lO^9OrO{(4`&9oGhL{x?^c^0#~QZ$E7EH+%CpTl(MX&EIN$h`YS`ciHkg zy!kt-O#AnE^Y5|q`=~enzU8L;Y92TXp{rBBeq-=}o@(H3v{ z?>%Jtecqe@u*J`QZ~o96Q~qUd{`Y5^{Da>7$2OS!H@*4)yx-&>^5*|wp25oUKbY_ zQ1Dn@>^<^W4#7U*p7^rT+g_S*So;JM4p=>_ewiCtsX-q}`WeE-$99|EQ_z;sNI zeTexfGjnr{^soD3|FngKZ&@!hLHcLjKK23n=xk^%Ic)7C*2Nyi1*wwRJ7M!sjuDPE z0tf6z?4{B?vK&04_kNdJ9H4xUDZifOUHZx%fxZSoUnn2LSSx`4N{qG2@TTw^>|vgb zAa4rpG2SZR;v_R>*;BOsWY7)%3Uq?KnM2%r@cb*J6M<Yb_r`mZRO=M2rmnu2$4f`InoX9ro zy)1(BkN2CoTeG|=E_-Aoo{KuOK%;dQCV^9(@tQ8Pb`52V^dt0t-cF_+o)I71*!1F0 zqMZ`@2Fx=uD!}jgNr#ya`U2!T#<>IZz)xnd9N^=cw|Ng=Y^$Z=pG>yxj8Rv(v{No) zlXXQckLaV?@j%uxCgAhmp4(P{Ys~_lJ<xwRbs5nviJaiE!q12vjBP!0NXVZxqN zIj>TV{u!U}tqVSP1IF*l`lCeG3B-A4US??su=@8jK;At2+y?|!>|sB5mxWd4T*lHtI zy&dm_Hv!{1Pk-@5CK$d?KWN~W_f{VQ-V*>Hcq8{49T$`M8pnBiNITb#gf;n)%$d-2C7upGuUCz$r0d0W~6|Fq`z%@*81Z)VDD3~%2v z%;T7}{zj~^z`rda`luNGjWxs(gKfcnVa(^?BFz^Xepg;RbBRA5%~%`aa4My4lNhTb zOMN(c=ERV?SaZ2e;`iZopMEK*Zc2UkVdjrePu7)yuY9asaH?hJiV^Bv6VzWa!}D1? z+fAR8bpd-Oo}Ly|7qLSbe|Vq&D(ea^tl&A7+zR{-vEO?KZESSV%#lylnthW0x_fy4 zJolJyXLgb8tPE)9Lry!9BHJ0ZHiL0R3+>$VU~%pI%L@VUlsN5NQ)D|E1KKHd+NmwF zondP;7}xkhJKuS!$acp0;c;kGd=SX`D&a-tw~3l4kF9SV#{VPQqqGY^M`d1r_o-`` zkNw_{5w@|}2VxJz2p?$P?tP+dMEU#v+vnnA`t6RVc(#%2jiPtBFI@NkhqI?0{blWD ztH0Z1p1rAJ4=I;OkYw*AriL z&=)5dG;so)kFLVl0`}GZ|GWOrpsj|>ytFm6mNJ2QY;3gkq>YyxfwuO(J~D0XeX>Z} z8cF`qZ*t{Rg^^DO#!OqYffvLaL06UH&zhJc*7kG^q(=LPW{r0_@hEZt@fh4&U}Xd0 za{W_lcl!LgA3kApM`16a;aS+x3B!~AI#&PX>tKHCDDP#=9((nN9YO7nO&+rBm3Oq6;Pd@JVoZ>CF~%&QCuqAz6RN(t$?>1$tX0Wb za~UV4PBZe6@q~3qS0az=^i}xPK6)XJNPo?h_jaBs@9Ce2eCC|#e$VK1`$e9K>rH#g z%5ULG%IG_}7vO8J7@owrt-pDP>+Gx}vBppI(?^Q~u5zPOD%?H+SDl>`siXZ33ty$B zL-a?Q%*Vhm#%kcwzfT{yd}12-GVco+I`p3fV7X%rZP~L^^ovM`0e;it*8b0z#dvJo zVw5^%IKN|_XA<8HweWchcP&iz`m|@>>!Y1gO*@b8{GjLo;G|OP{~IHQ9<*%n#tmpE zQ1%AJ!K|F|>G6MFY-KHD4~}f{muv9Li|{%9XFLCSIrKiwsg*HSwk#L^8A~kKku62q z2?4U@pVoeW=)=r=M3Gj&!{k%SE6Rkt-AR7~dNNBu=JHvQ5e0g(dz(s~ zI27rMd$wa*HtpVJ+dv=O?`QY+cUyUaHmL)+U#!}VJyG6fUWDF6d?;0tcn1B?l>T+R zNPHvEVvE}j*F>5ena%QgO(enlA|NYi4{JGwbQ#Bmel0)5rTu~o;)iKH-&rr&Im~*!bW7Ajv;F zk28U%829qvPJ~j#H@OGM<4b|w4zP?%Z`^m8Dmi_nk0z$FoR+KKtu?evJJIjY`ROFY zxB5qq{cB`tfPb;)b^qLB3?ce)&mMo-vD1l1KT`jbPH4}7M?We2!F_L|T~~u`7BlO8 zSj!8FyYI0&=BWGXz+DyZvHF1HGzwFrQC(viN>qCBennyg0g`T*# zgMJq1D$viu-VX9#fSmpZ#@IioF(IwryfGn<+zQukwY$xkgE;7R{ERKpMByH&PY%gl z8qk~BPYCV7w=sF<9w^|-wOvZJZTqnGv5z)S=5;oC4Y03h8m_NS_v))pyu-WmEDw&N z9`<2J=r7404BVB+u~!!4>gcc~(vuK7cHsEzNUyS}th% zVGQFi@=JBTI*7FJ4f44!E^6|hMVdUs@_UgUXVODRk2mT2k)B}EJCK%rDk#4h>4_$P zJ<>db$aYpEeT+$WBR$EaS0H_?NvDzikV&^8{b7?%X?j0X@KNCZKYNb(33X<*5090p zl8?6L%Otv9M>Z5dSLpZp>@R;tZo3|FUiBe#3mZKYIdwc5&{&J0C(j zl-G^4(cyFA{;?jheK59al$&G9oiV&z?`$L6S*}`O(J`$U_dbwb;D5%&|5Vraq8&TF z`;pf7{NRi_(lzLdJ_hl}bI^rd+9tVKY z${^CP?AOEkKjU%qMNv-ZhHEYf7gzQ1Gda#i&K=JJ5_a*)bAYR4@^N@4XH~(|^dYP) zGCaLIYj~RDv+*7JuC|Ndz~|DCB-7_S?vkDF)V_4@eK7J&i2iQRJv`>+gg8`&F+^&P!W`274HNWD+^RQUIL z&XYzyo3Y;i6mY`1wK3tNC7(%4_G~@rtTLtk;&mhUDrH@7i@+&&BQSPt=%P&X&@dSY z-aVQ7zNmL5klsX&Y8$7Db%4uxc<=Z!Cq0FECVnXkWDX^^Q*zRS-oBT57}xc;7=EM5PA<;_w>-Y zos+H7=NNqNG5AV`2X=i>?0@n=9JEh<6khPsT`~T^pT3@L7WpgjM@P<*PyBS$g7)nm zw5e`i;Ejg>L!}!x0zEo$$||0hr>^E&Q-H5oPEzKGF35g%x8x;Quh#%f7Hc+-1`cLa>+6>gyH8PhO_Z-W;V~PKS=xUGbGJe!F z`j^A}DCp-A&#mxW0emge&mYm2*=6?QgMR)9^h2HzdEJ`ZeGB9{WrXOM8JlI^#8$wV ziC5aGW%d`aK#vt8Gya(SN?jX_`e>x}GsZR&ap-<>5_no&xcs@Yi zeCJ7jS+;)!eG}pf2hN$qqQ(-N8)41@{NV3&7~CA~7}FT&TNAHMZ4ONXEpKTliw zuy(bvN4_2L(TClqAmv(f_sk}J8~&xQ=CeI^jwJs_X={6E0XEs~+ev5OAI8Du{uR<# zs-)sAlTW&~zD3@KYR&!4tAu&u4P*`F zxgC$O*>=btbHH=d{g%eHuROUK4L*JjV51;d6ac))EWzdz|Gn=;?3PlLnl3YYj~x&a+YI zzo>RCENykz6`zIrE^dZa;p@3oF|&?cG#ymf*{VHZwY zAhPK9<&zk_4H(>53;lq34h&s?AQ&W03ty3R#XGdx92nNWR~WX1tYhusI#vM>`u;-= z1NUz%aA3IS4+Mjafms@O{14QxmS=b5Y47Ft+Am^5foq4j8$OTol)6>+YXH}cDK%*K zRVR@@+3-jU(hVj(6Ec}LPB&vot+~INul4q=5*r}z@g4jC=RUH(p#6jRF`e2r;MI6%aPN^&B634_1=BP&CDeT`llD%GMbg0Z%;k@S7YaD#rcqs2I z^p}(Pakd%v)oCA#ab)V`Jl+a-1#A`B?3P72#K$I0!!P1llTO1g)+Z*Nf?wRxH0ebA z!nT-nJbvLfPCAxjG&aV*ka$w3(LEcWd)9^Po^Ob6SkMKNL>B>n&^_PS?bQX7jy1Fm zTz_Mt_uVmXn0L@UU*G0?_l$W5-ShRgeD5AK@1T3W{*Le67V|Dh_qa0mXz3nT<{mBG zv(Sz;xv z+dR?8vTD%-NAV04 z_z7c_^WR$Qlk>Q5_GHYQm-yQ&CYYbceBEHrJ&`+D>dG}tmU{0{kUpSv( zc@t$}BZb*9rL~Za%P}_<67y9nt*uyz_87~sd!WUaFgRtbS?HcNgxe2nwieW>bk=qy zo}MZxX+XZ^B^^`N>+9AQ^T(e;)+GKsYvz}2k(Ve(#Fp}|>Hhg8hE6>(WzbB(`o*80 z<}XWF4UN91GaDiOk;gs|G@4R3%yrjiv4_+*pPzh<^EuoGkC2be8IH?eC;mw50kk?& zJj}*KYP@H9H*P6zjyGQCpEsdL@*HTw*QT|9^Yl=}92XM@E_Rt`}|aUWM5eqrkl%r|qddAzVEDNG(!q@uaEwLCei+xRvWW=*jY?|4V7yFOX) zvAnXXI3FvTy9M(}el_PamOf?ZtSZ|qd%r}ELI$|sIkiFupvU8k)|> zs|)tht;6V_uo}4)7W3O@{I03+yXuVJ#TbIfbMs3+Chp!8_*~Se-_{yi#!QS^Hcs@l=;KocT_K*ixgI?@!f@dA_msi5Qh}M?e9kN&A{hi~tDgVLKOE>xEI8C~$kAG_H@dUsRe)iDoF3@X!UJG;@v{x&HkJr6Y z+`O(6U-|dQ$2-PM`?dP)6TT;e7~0acM&Ak_1K-r875P24(cdm3J&G@!{}%hF9#2Jo zyFHIbt@kP4M}fzigY3Tmd3f_M{fB-TC*|6yPsZLnlKnR-*(o$$kn@ydw@aS(@vR(N z&AbN0wt1Fpa7zCWp2PjH=x??;?GC{{<30XdFD~=yikq^*y5Xh{2ZkZw0koXfKDmmH zqh2?5!KlZIF(_vYex3b*)2|)-UCb+f>~C!^ZtQDs2p;>|m8eg7@Vo=dP=QY0eAsOt zxOtY(iL}g#*k38N_-)$4wm#-dk4w+<2=lRq_upEZcgXmpj7wBXA0GX^2IqC;{EC#v zcV2ZLnr>FGj=jeY=PvNAzcm}t#t7s3^()f1f$<3QyWiM-)v)`jjNMn323?@vvew+Y z64%junmg#wOFYD`D8@IUUrzWB2rkB;XMATd>DT$}>aW>7W=Gx6GQPfrkMSsc3-)W% zj7~V}@cCr5>~SN_q@r(ZvF~uN@Y6z5-gxCw$@BVf^RmsjlW37=e>D6s#Gh^wSzn}& z_Xh6&jik|k4C{d(!a0|k!Woz3dO73bISXj=%o!I8gZTzWmH7t8oJQ50OY<(pn^X(V zE$}Qt-X~0`PaSTG4?9EN;90+m9_#?GK2Er7AH-GfDfkY^dH4>9`og`=`P%s4B8i#a z?(L_DeS6V^{N}8TKct^o0sVMzTOUs*38(AB$~tNE;9TMFf{qsdiawB@_g_)&!ah$f zO+|l2IR;)$c89b@IJJ*6vQFn-AFe-IJ~008fZzX>m;DdHBfqdOv_m;++cEq! zkdOZvc^BsA7866}csS<00>}F!pL}trfe#%2!(O?Ia}0i)hSjp%sp#u-i=;tIJHENda{a^g zvqNIX*%SSKm!U^Dc5LV|^M-BH(BpfF7t>|{JvO}OSj7>}ng_&3Gu)T_frv?y7in+e zUV9rCnkRW){nJSL5qo8`m$pLJI-7 zG+cj7_3DrRthIcDKDC`?%8im)X5^jLX{bRArkbPOI06^xj;%_GtaB6@&$} zLSJ}H`_Ct$ap+pX5zdxuv*hYMq{ZrP@YayMEdd)HVbKL)+?gMR9 zoRMi^Tp%UCTU1p;9QI=-#k{Gc3H;WfY)eyIMNNJc(xoOHLps7VXs3$piCv>Ez0AZd z5W}#0$m>bF>5;)_mmPoJi9o!o$uLKZ>^$T zX4g+M?5Dov>^a#!IY%4Ig5RYat|{m}_oD9JrI(6*sn;j|W1{U}>ZQ-_LAxR&np$v9 z{7bn1&0BtP@Hk%CL%zW~|2GEwvFQ*V{a?pf-Wr)luYZ;0*ca@!0R3`(-u@ezN8iq9 zKXv@-+g=*qqy5zJ%Yh4beZrov6}+!Mc|6aG^F7DJU!zCQ7XNyzF@Ky58S#5ON%WiP z8^7EepSj-J7)RaT%Qh1)c0WMGozA7h zp9n3Wtk3~)Dd*n<${)*i{pEsb;kuVX$_CKFbyoj-`bWC~v~b;8+b(T4(gNV6{FHO$ zGe8SSo3+pJnUI)OF+QQpPksEHD#7m54Lv`okP7J z5Rduk!&c6umFJ#;ZnRs4I@VU0!?b~w=ezTJ}V~ZJB4y2;b z-wS+cS~+Up!#W3XlIKscG=n*DV`ye?QYT|<2JXhHRP^88I{I)o)&Y){7H+^32Tzg4 zxp%1&zudb79{a+Uk@qY$&TEQ$?oq;?rGJ}+`c@~uMmlkHGUbKDMSZ@FCtejEQ~1fN zp#9sO_SYeuKy0l9u?5;9*6vQYH2p@!lS+)y;p5e1f*-ke=$}jh!r4 zSi^cw_FdWh;eO0d7F*n*jWSohfakk(o4;osF>(t1w*hvoBe0*4eJ51ox+d?u!2Wse zUI%6^s|xF?L9&W#yWAV&zrNV=O4{a9&d8#W*zvoa+6Rf?Y)ZtO zO^IY+OK&C(0%rOc@B!u5+SL-L#QcnX?LA~q1;&iHNF<~Ej7Xhc8(i@M#zMZZcj@%# zIsSuxFC>ODP}REc#-ZfNk$GMl`^STXzdo%#Y05l`G7EfVR+=(PopzS{%FH%pzUj1+ z_LVuslzH4~r_)y^V#@rtQ)Y#?%rh^f)aR%9fCz9Cm;{TLH1zJ{)~n!@Rse1EXdv&S(t5(q_c}6OEY&yAOj-HGr7o$^)KOk z`hL*cORBuL=IaYfX4K~5Ba(4eqr8$d+*dh5k!WfB< zXFCQ>EIwbBFlhdbtUscizegpp-ktvzU{8Efch5;B-G+C0=AXPQw!V@7D-s#pw|FP^ zU*cS3&$^FwH>8znUw!gd+m}@)dv2K0-F_o}fuG(lUE19c$GcX%`$T23_lk46+f$WE z_$MFcUz>VqI{nh@WCWd++SfZda#b=S-)+yoqZ~1Gcv!|h7JnmTFB9mTa?lrZUA`T2 zM7=8ZWy?`KW0P(6>=$1_SiSonuAu+_fq>QUPMPNKV&Vh;QVSegn?viiV4jk_s-!{8 zSAhL|`Jlmp=r-u`1j@PVP{tO$yufU9FI}f*!b~L;;|;`=&|_-6XA2s9>w>X1LtyC z?f+bQ{?R3do+;Ohq34iz@{&D1dTz|i0lmH#AP1Jnc|w#cg0`0|ejjLi6nmzd5@V*R z*`O)Jm`6O@4>=9FSm}*1f6>O+j(Qws^m6gZ;|v{f&88SS3fXJB_0{+Gg$k-oI0UC-bBA`Y_i4B!AR!|*tR(FYMuIC!OYWx>tAN;^QSEO<7^?kK%F6#t8XfF=uUszTg z&c9&w|7dVt(D#l#J)9@xu5#lGH?1ZujVUH)^eyCLCHP{*Z>8-T{;f1)6J7S8!N>nV zIr-18j!{nf?EQtZHfP$R&lj@iX<@BjPSSpatr@TmaOpe#vW`qG*oZ)smD@k@{^no`jXjZ z-UnpYd{rFJ^x5?q*&PzIqWqV2dY_ypZP>K|=?CRP&gWk8j=_h(LY+b1P3Fk6Z|9O{ z44ve^X$^V`*c))kz5a55+1|fBN_rB1-s)(Pp`f2f$4oyRz^U(?5YM#*^Tj2zKPd7h zU~bza&%1}N1@z(WT`4l={r$Hf8#>*(h$Hy+ST{Z26d$(!?)^?-^!ww`P7UVTu62=C z%^sc$&_}DpiAdMTx4v|j+b{Sa#b>;?d*zbW#=&@__37!#zHe#?+Bfrk-hZI&&@ru( zUHpcba~pd`tTu=jE`EaL*jF$QT)fk^V{Fq=(tR;cl5tb`KGQ|EjESyl3+D}e zGS#eAUi6mXi=%GCVVLwq(e`|>U!1I#TW?vxJbgDe-5$aENdHBZq%_GYz>zDcL z!3$>?d|G)GqPs6V!O&8Wk1$HvX^ziOq>OTHTSIU2=?_~wi{Dr7(KP-C zUso&0$vgBNeeWN=Jv41(daL9bf!lvE`Z0vwKKoR0^!C}EW1zR9;&fJa8CkW4ygL?I zh5evm_qzwg=sw%@0i+}0t@n?P9()~iB5^)bjBh`CMQ+!Q~Oz5BrNKHJZn zA)0%fk5)ElTK&Vx96bjA9{9h@?~iqK-%u8K$u5G;&i(J3<*xU8P~Ygo0q#eL!Y;4D zZz+DK;+Jv7mIkbqHnc?k%;FWa(`E9$<>aMxp1R-3o8z(RKyFfZUa6ZvTbqS5BKz?)JL8oeRIvaM`2&ei6z~)J)$aadr?)%KEONWEPy*V(_TBc7P=ot9~ zwigo|q?;d2MelzMePhQf&7UXSUBf_Fr$nzWhzD}BljI) z?B!u)c$UeuQx;Z+u$wX}tPJ64XvxErz=7MTMV3vXY~x5}P2coO%FN#TGQxysa}ML3 zHw|qtzTvh-x+<5un+ZSInmExDnP_MQ)D@AhKa z_&V}Fr1Mk_o?pOo)K}&SY1I^54RHl|(!`r9OV0Nu%wF&n45* zn~;z6F@wwpIc_SvFMr42iF+v-kER^25*etbNt?JU`1q8%>^kE1%%K+S`z?9Q-hV3J$qV$b;17pJt^B%1#H7g>>rc+ zQZT32ry}Z!l$y2O;(uVLpJt-h2@D>ZId3sx)HL%~Yc)*w4sz@Urg(lI+mT>0u(1Dx z8sN7bL~bC>eR<`GJ(ltA;gtGblZ7!eaX|JS!X_YnlU5f1Czvy<(^`5`(R=khHbPSa zIv!gne;3|A<&@ux=RLq>0dDVF&wh(D=*=?jrE|yX+ehRnTWmSDY3*`rD-j-F+Xeq{ zo2tfK)&Q>joreu+*!daQ`G9c{?Sa2&yOsb?b;fp0;x|gW4`biLc_of%hY|0{o0n35 z|AOdB*k|W#C7r98+%MRWDN#rJ~>AT~YYG=Q#8ywoZL~2Klnw6N`#|dk@>fyK2g#!v6H{aDR|lv%xpXCy8FW z+dCic7&xPVGwQ+_Yd{PiF#nG2QEuq_OTK+eLtN{%!RAP8a8bn2?~J4~o(OF{>?xMD zFf$(PE&ujxj0eBpnIUD>jD-!&k;($R-+q;}3EU?DcNzMRIq#mabttp6EcrIqlBx4d z3^2FX!BZOj$Gmvjxe0BUJsSg32Xuu!xe@qIk&5~YaOXyCWP=@-%_j`B`y2YAAvk>Z zKC?Hy?Y2FU6y|#l&&Znjws<_5 zJVp#I?g5Tc1sv_;w4@o_ETq8$8dhF6Js9_nOz4yOl0srgZHhu+=D1H zm9|s18Rs2fKk5BH!q=6kGa;Z3zvt+!1KR-Omp#s?GclkJ&#QXthz^iCan#}WZvC(k zzur29eyRa4ZAJOcIb>%N&sBJi8{fDF&v86go99YHUk?$VspwxGhx?#1c%P(vXRHc$ z5zd-iqKymM`!sb%jq{Fi2k7N&xsI_xc6saad#ltf?4SE1%Q$9( z->JAi;|1hZxOHfcrPP%ZvyhLdEBnrgkAQN}=U;k>Wr!!1x40urdMy2qGA}zt=A*{i zCpI*<~M$R2_>8qkIbCBs8 zL;njo53~`Xo64b^cy9^L32mbsYymE6D8B#$*A*%EX+tZ>)M`_I2kWDJgC4`(jGe*% zMjSm&zwz$fDYa>%_3e6FF6uV(-jdhb0XA<>-K6eDmHSm%{d}kg=V}C}<*M|yy}3iT zy_P#no2cijxX%+~qwHJ1wz5Xj*e|>O+m+mJN%?&sbCPmw!mS(m%>I+`3*fsRZ|o-W z)&qbWajw|eP0heTZDoztV=BA=|jtd)$v@Lc@|DysgY-`(J<{0QX z%pq-0#5H)2j)_~UIoU-x=Q3UNUw%BK59~8l$fsV72gP4nbHAx|VL{m#pUGD97`HX9s zF1ApmnP2i-l}XdaVmZcBDwqada+vqcNYnq1f+rUut=nxzyP!+9+Ym>e=zH+gVQmMO zHFg5qa^P_8Xp#O%bA-bm-vdnV9z;B7n#duH6*#Xc=+Vn1zRfv>4C0(Z2cMhPGGy~x zz#roldHs-G44AF2Io!TCzLIK#-!Fa=WKLjyHiFFImg825T@)eHP(3OqJjmicVI!&LuIu-ra zPU%DUd%)i$&Zte0#)d55tJU%l(?dmBg3udzlx@uYp%yAb!6oYM-OuIC4^K9BJg zWV8p?vsUKo1@}45zVBP|Z{2;Xe^!VWM~=V5zO(SABGY!6v)miQ-3P`7n}xhkZs)<(JNgc|+e7rEY`(X>Z@z>4xM{CEpuJm6J&7?m?X9u-zV_|~?bfyC z4r?6*`p29X`2EV{>#?X=&zm~85GK=iYy|rv6pzGLLfyEbA&z!LCX0UA zhju0A4?9%b`XV=spDr?P0Q)V?9szmo@A1n8-UESkhvO_xdzAWko65b*H3GK}VHVfS1 z1Hvck^2*@B+WdR*ZTq`=CPscNcu-w0SeyfYcje28kJ8_X_8IrGF)r(0i5<^(_3;}w z0G_<fww@}r%yZ%r+j$Nu$N+BaxV#32L4-=fXPI5)<8OiI1ck?+^Uf&l9b{B0*q zc<~!0|NHQJKJPp+_&u1nS?$=pWBkYqwl6P!zkZ9;Mu4s9;`bw)Y#X)@z*;Nt-UM9X zn=&@v+jrGd!|VO>sRDi@buJcmbKs+&GX%S9_u|vNN$2BGH_qFpBV4v+Xc82GhiI^XWb>jOX z^a~KDIA7MV42+c1V(&p$$(}o7b8HB~^~mx|@TB#piMd$aC%Bfr)P$*8e%?3VnQPiM zv_~tozUY4qIE@Ls>GPjWMQ?r^>qf`3JnV-`3o~$#$lE<$n=23(w0~)Tu%Ci0%=@bt zZz?&-jGg{xWm7zVm-kep?Oon2NZY%-=Oi(|gh#`f!rIHt^8xofxV zm5Ms~ZOEUD{J7LtsjdR;+_a1E!7nDwW6n}{Iqx>w@dGD&M!+HBS89W4hkQyp;F(;+ zFj{C=#_@it57wbn^rl-3tnSzjARp^Wfv}F#eW=GZth428q^7U6uOiQ#*EjiWY>$Hm z9?C}U#n#_bmzch`wb38!aKRbr4)mZ(Ie+9UX-CTsvGw)1WPFtE!#}{GVhbM82rsM za}B>{%}&6i?KpMCCTFfI3|@`z-+#!#>mf6Suz1cG#_+D;r^wXXwqgIyo(T3RMeH7> zL+c-jsP!*KO4sKiWrHV2$_Ja(VeEs64LlOTUZF^NYwr1btsd#yV)lREF^@F3T*jQ9 z-HEXt&-9r?v+qLr-h6pyA06(PE5jXhz{}SLQ6?WF!Tyvo^hdt{Huda7c>hG9-LE;{ zRnvQ1VAC#b&Ao7$iKiTv__)50m-PY5*VbxSE=Zu9dQfTg(hZ-_PB{PsELO`l)aa(eHSf70(J zxbIfuUFM|TDL3kOW$wFw#Jiyn^-eK;2_7QQ^ZK~z;wuvpL_oxfFE`vP*@@^U5RjC;^ z22hAsdF{4B3}BD_IzzX#|F9MeJA0yz-OSi5Yo&GCju-p0M%$5+wq;9UXK+sw z*KTatQlxEJrfq(?&4+y{`_*AT8+)!5c3ZXsuwad^H0jhK|43V?BWtcsoz18-&D3%G z;rgttBj*&HIYH^swc*^;yH&?k4{A&6xy@|9lW0)CJde;azS;QtR_`xqv70skOnsIl$CD)5bXNiTCfzK6MCTLv)dx9V1ItG5P6L?S3@luSp0CT{2M+tYVh_U5$P1x9q z#8DU?J$@ARw}Gi>{}1syeA77hpfj&wKHDhb8EOY<3^J3xeo}t7$i4;oTm1e<3VHVI zvz#MA9^(L3uGJvTI0b!fd-h5EZ{*9JifNP;J59}zSdR9euYU*qivOHM-zjzJERM^_ zZtJg>nfMO6d z?BCE#mT#W`^{|Jzit(YXn*w%e>opq-w4IL@4m^DqiGzcFU#)=afdwbVW&b1g!VY%I+7)Q9HTU1QIAg~; zz4uHHWN4Uw7vNJ4EG*WCBwPi%dSITwDRfszBW}><RQ_OFQ ztJ1}__`W z!g_(6d%_-L#F>u8ckm|c0zJmLe(u1w5P6Ij@w;Yr?=g8E`#$Du=6oOq6iY>~m}UAg zcIv&Fh~g4PIwvbp28hWOSj>! ztOv>KhF=SDqhT@Yca2PmU|)X(`}!lYuOB|uAOU~nOkGwz&pL>fxRDyAM6KSUj{E6XaJnD7dCKj%#!O+Wc+t2NJmzt8F7_8K#r`6XTr0bwFuwe}Ik@@au^P57 z_JU4vu1Cc%jliiY<1g?fz5{U1yPF_q7w2QcEqA6(vpiUKz9Hou*(r8ywjeu0>it)P^rK~xCl*B=c;xzTJP}eqtiRJNez7h? z*;y={qKA#_91EPUgu!WKr`BPhlgu%B*(tWMk)6C31G4kGyS40GWbUt9v@E6mPIyAg z&Pc&N8YVk)g|!stESd0DdhWBSXnLZh2{YHS*90=N%JAp`!z0+Yx#$MaocI!$bDmc* zWjhpanvnL5Wi^Syk8 zy1SfmEvD|oBlIVH%Km_N@og|>-k-y9ZgkokVVtjRcgopuo-%U3uU*4BzHy%7v@^mu zUlaLiYrBuopNz#fPTF93xd|T4>l~k*SdMb?JrB%xwc+K38b`m_DdWiB;dyBU zW$n6=ExTTqeeF1J+0Q>?+L-2y+m7c1CyzQ3^YM!&8KX`=CT%(MMty5&mT`1@C#Hpg z_XnVj|9smA1MgFlvY7vBJ5Ho4?Kmu5*!G9<)o^)GkmtxTXV0FMq`M9JVktEA(MOKxRV5Yqw^13@8FSlDx&PGq9+X;n*n?D%*c>K8j z+$9!g8i$^9!*R&+q=w<=4?6I#6Ii!?He=p7@cn#`z~|nR8~q&5DU1QOi}g8#{QUZ1 zQ=1Kbj(1>NV_N?=4w~b~*`@^dWw4d)_ac zaYsp`_dR{T_H1E}N~-w2DISX^JLXmE{rl}=*J;?*QuxZWsd3(TUR^`8>O}dc{paOV z(Y9kvn-TcQ#)h3I`>XJ7oA$NZj{{Dg1}z+re$@Ew@V&M={V&k{x4mTHgB(vg{VzBD zKRdkti>%$^_Ahur|C4q9ZG-6lS>h_CVz}EOTJ7|GyXkvbNZ%uj{UXtkz?a+i4(TU) z(RR}}?e3>_--#yh@(!o(eY)?9ULAek7j6u|`+n26@&7N{ROtJYy!*4R(D(c@)A!0T z^nJqczUPa7l8Rn6K~W%VBW<;Zf*+bBFW%_CkAyY4^Yno4-kTFFn5p zZ5<2#Ht{#?aSGYfmS1}t=0DEA9qm2AHmJwZu9ejbs5dD)sK)^BJd8bdVtjb)pS~e< zBlY$O?_cKGyu2OBG}jfeXXT!-deEygICkz!=R5!>kYjtMS$xbGzUQ6$2jHL1-x1#C zewpWjpEvJ1Ge+yn(1)SDFv3_~xz56X^{)k{&;4O_T66nn8{aK%1s_jIr5<)$zoG^m>SmrJHzAu8aMc@f7gnwc&@2 zi@F{50R2t+1&V$F#%A>o_ui$=JMkItPW(m#=S=f1YU<_X3F_6DcO~XsgM*WxHM}sG z3vmKpY{Tr)tkS%0hg`(H_tsV zx^{os4tVqYFjBjK)6U7ug*j=RZ2F@d3Bl|0j{j3~-w5TF6_5XtweJD{h=HSwE~+WufA%(uf4pxC$L(`@yLZMNk<##TKbc$n97M-CbFhJJ z7S97e!M$Wk&RZIrqX-`O$@b!LWoh*yvD3jvkRPeM{tqAjbGr&-8VOI&y;?k;)C+|+ z)oAg=yV*vIr|cN;bbo=S&Yx>(3hh{3Us&(;>aY>@!Fs)Swt7mY1oy^L@0akN5yoY( zuXWttw5g~5A+FSiNdr1>{6CoYvOfW`m2w60HXqC5v%F&*&iBsjVYuip$C8SkcLUzr zIHmC$+hT=ro`-cAfyL5orRJ};I;YGG=GDjBQfRA;u(nM~d=lyE-gHSf^#W)sPMZ#T zp$zAwtI_YVEZa6QbCQ&cmvk>x8AUw@ogQUb6YGO6+xn_Q8=a<%=xC?RV@{blrc5bx zNz5s;%_&1&&%Pp!TM?XsO|9dKTYGI8;LhTsTjOfhC7g4E=izJoVRPs#%+Yh|K^1OS9W5=9u z4}yDy zrAB#z10|AcjVru+cghF=9u4^;r;yUDU|fv%E_%4Nl4)MwpIfG$vA#$I# zZWd>oI1b(^lKoQ0oP7G!4%w$7cgP&m(Z*O%&|Mu^>kvNSoPZ8m1Sdo7ao|MGcOb4J z>mDif;*9+GoV#{X(U#LReW<&LN5)H+s<^~XD0?7x>9_G)rd-c~ocMpoIdoxc==P-r z9n<`RX|F8{m}NZN%e35#jp-UQHl#CU9c}&?CC2oawMRI9-UT0s|KU75Wa33L5tD8- zYe$~5FOcIk7$?_O$^ctFW@P*h_e@N@A&xmWG7ojCea}@=2lE%?>$K+fO|y7{-e-)1 z?b&l))J+wp&3qo7YuqxxKlMQk{ImJCEzGg3`6X0)-k0S3q@vT8CDkyU*Afy}3&K+k zWRiRrinIn<$#4Jg9%lNqHU2wdT66DibYL>_A-WG^r~_`f#-A{9q7C)ypug($TxkJ}G?OD3oYv`&j6>Yjfk1x6cZNpFgFl{iwMSc8Y#x(MB2W5@^kG3G+ ztd&NH?+`ig)(%(j6!vhs3>eHuK_C-Ah}+acfL z(6D3Qnr*8!_Z0V8E#-Jgr${%Vu4jKmc-?((v1}3hDCoOZYS>1^O+Maz1l(*7$4!YV zqYQ4eycq*-PIwQvd7)U`0QXkjhw)HB&IiPfz&|nYkKBt6`mY2}l?~^i-?@Bk@$vv* zv^IQ#@VfHF=*x1er(1JB+D5tqPU?I-Ml;_&m}Y9&8;B3 zA@b&LM3ylhw(P{bY#zxT^x8rNThOts7#l3eU^hl<{oRY(4F5yEH5mRETL*V1WvQ>q zs+2m0`W!ee*XuJ4w0rE_9oaVX&7H$@Z3dr(xHs3Nfdj~7_}>kA`yc#Hc~_Nf9=4}R z=43c8x?|04W}j>qG*hsrz4$B0>#Rxye5)z1;|K?0i1;3e^@%RtAoCVY&SF1Y(?S^? z-vte{O&rI2>Ee!_WBmzOn5uo;0xzZ= z+8n*&C(4}+5)(Cc1bw`Swj*wR*pZh;-d{Xq@Qe8Br#5PMRgbhQacPYwFKzyM6MPEB z-mwqi;x|#Y3jC6vv%a0Ok6y+%@I%-#D4SA0o|d4|>o z1diRzNrC@E*TP@CPum@FeA^{HN826o7(T1#u zD|IsJ)McCDSK^mtxrZ2X-+s?X+jGW-4KEk-*nMs}$PVn0F0RetWxeehTp%7%x*0ex zO{51OXw5yEx8ra&AmR3%?Zds;&8m+3pm+}w zXsA{3_XJDr_y^igJ@9T(@EHB(!sEi?g(K$2NzHr5NoBJ#QZI-&;FxUQ;c;qgp#IM_e8qni&O5MdK-dA0BxmPs_#8j=)p%{^98T zprKK~R5XqXw3Ip7`;9H=!U-)~ewRkRd(RsEINUG(-}Hst`{`&a!`}ICu_d)kdt{HJ zv-VQfXYl-2bqp@6ANH#P=EQ(ls@u| zZZ8(n-nz$}_KZ#~arNAOvJiuZ?XW;}H7?wn!)DFTYQgX+3|xeIDt&-^w)dalY-h zQyqMZ{K+eOZ}go>fC;4A^n9@!E9y&$nh3(A;+}~F7z*kLs6i(!R$V6~0|^O9 z%pV(e-(e;sYE*g_kF*!v0~jrIv8B88eDo~tL5f{UX{%ehYd!W`TGJI5RQfI5Y6~S~ zzTfYDo@eHr$xI0DcfNDZbset@Gw<`~e(vYK@8|yaJn!>*Z(1ODDtby>h54J9PH3%U z^U&3XKJ>BJN0;BiT&3%|j_u-y8FQ(aN40zT&dhc%%RJdm%@z3?bCzmsek^AkhW84u z<5=tu+2?r+SHABFk$nw2Up$o)F5^4++djaY0+{dx2l~w1)4tp)eO7JOZYAfEpDQ-G zwQkFs3>OVBM#;7Ra9Q{uXSKjJPrhF)`6m^RJbshG4SeyV?I+xA@f|sLTaRh$nnx>X z6!P9^@}G=*;Exwd+smb&_SHmw;A3(xFr~xr?Bn{#t$Y5@R9uC5>>a0_(Rr?1!f17l zd2P}2nxyp*ecyazKce+dNjg7q@f{b;BbW!y2CsTk!K}ph4N@65nrFNZwcdDo~zO4i}gKX zsd(AM^Ana&!UtbJ0>58+&Cqvze*c}Bvx|-+cbdNGIj_?EuDC+oRqbI+l!xCh^^N8C zg%4dYv-o|(EBgNH?yw|^`Ws>Y&r@luKIsb2wubew@YlsTtA4mVmnORnxTYCA15AhwT13J zC$`hH&D8UW+e}**--i|bubZK1TEaXBY=E?79sPlnUCqqR<(Sv+#s3qXt^Bo+_A9gU zE%BEOE|{a_TY&pRt}^kdmM70wnX)v_U(hmB4*3_|TyxrK;z_=$*sebWe?V-Z zo_AgyhCQ~_eWQ>OBct4tF}5lcDbo9F5;yjTAZN_=rRu{)Qyw*R;yooUSqBdM)ea}@_t8=QH zzi$F?3tfFBcE}GG?|>+}mH_Sw({BvEl~%yiT^d(Q>>_ZrKPt?|BHMC}hxzO8A6Q=q zkr#4C!aL(qqC3!Xn*RPYsfRCtH{R;Yt{lk0;a`cnfSg&tA-UIlSjr}D0E!E@EhhaPd z|Lg(Lhl-E($J96vB8P43eO2>aODW^Ng0Vk&bw%nu4wuf5xhP(OcHZOid}-PR-R(4P z@Vl>l8FSe-4(*iQ(eQP@{piPg1tJ1d;{yJu=S*B&^m(W-Ex*_NTETi~1z_p?x1o=e zUH4JxWA?`u*r$^9m3W^(;j_XeSE6ed*gk!RK<(@_;%;Wwc%%u|&chMTJLH|tv(UNbgnr(!{UQ%L=)?7|^t>JebNbPkF(MCd zLtD<@W}S-<3WvzUkn8Ca(W^QA0W)970pW8_$J4yL>LO^#SV(M6U)pboux*tcN$Du$ zsUjx63VE;k{sefC%f<^mbL3-k;%?TA-|7z#x4wtdc>{dcgL)V9iBv4G`K~eA+-c!{ zb+xaUKJRrE{Qpbpvd(3!ozEh9A>-bT;kB9HZ#X|Q%_mtf){SQZ8 z)$MOfwa+;FSBCrSbul_aYolLeG5dyor5qCL!ZnLBX9#-qQj4KhwiD;i9qt z@n&v@xfJ{^*0P?Ci}UW`C&$Eb*#G_`+^O+eYJ8pJ#$6rme1z7Kkuw|%aqJ(3yr29z zz5J-jDNo#zk_n% zx9SHpZeG+az`XF@>$|BuO&aEVKgdT|C_F|zaZ8=^_FmDW>+ufSZ-13lC-PrqudYEGqd!+rHq{xSE2?$h zFkhKi#hZ zXN3L}?F#!LKQ#K%SlA6UXtP_l3GgrHEMtgG-83Y+7&JpZ&ZF~j_>Sqw2L1+3C8yyU zvkCCbx%$(D@<=zdm7QQ=J~i@OPM;Kp_PKY*RY#D5htbfWBbYeamnD*zg{5Z#+ChtTMck(__ z)IXd0JTL$s<~i7rV!(~yywSj%(Yk2GJm;}ly>*Y{FZSv|YpZTK%5SKc7h5~Ow=PsM zk9+`4KhA$)>sJfIxW~6|24VrrIv$(hX$yFS=BYa94(e9XA>irkKAd6c<2(${a4&+E z(+qy0olEER&zAdXw_e{s82%ip9O=*07Q=6+t>htn`3 zbw$^7#40^o>nh6vu}ahanhwYEY|Y%i{}}IKQSVG{m;GS=PV&ASl&dq#+lB7@&G!Jb zoHouQ%|hOfY5&JltMPQ}4cZmS3({5+UKs2FKWW#jzC{-9*Y)ylu#1To|ne1 z!Nv#G+=^qw6XSOSrm;_{eM3E8`txNP)_SyapSMWi!E${k*_#;iT|CSAX4un}=vxN; zDd%7S>pH+Sx-cz|nKpl1d8u)oA=Wk*_9MNA)(5%Oemm{1;<55&@O|wB=WF&=EfFZ2FPtlk!2*e(zg9HSNG(BTIV~y{COl)7$O$a~#=y8sac_dyAC5u1GtXQ^Q}Klh$5ia-!f{yPIJG$kj`?iX7`+Tx z4FaEcT=?l2HeuJ@JBGpfCR*)=P1u zfO_RbwQDZaQ;1jAXx-<-{jc1+Jdu)f%-6J$TpGsV{f8-k0yuNc$^ESOjvDW$D~3!$ zm%aCEluHgXW?R?SRVGIMF-H6(+2=02eKDhbWzTlQ;pAT+*_LbnaXMYvk zuJTI3-Yw4so#n|hUo~YrI;1)q5sdoS@I_RE3} zzNz?(sWUm0tiCUsdh`vU?}~sGq-@mA2d}`h5Z28Kv)3K6p8bW9k;S}k3cCFB3H6O- z$U{K)38K$ZSDzR2^`ZV0o>^-o9)!LMCEl`D;EsSGzRkWg6MYaaHF64axmoLY>G0Tnr-KW+| zt@h(gTv=RgBen>_f5Y8s;7|7gd(m0-Y~$JPrksOcu(`$wnomFGRpLgLRbVeH+ZOS31t01QjhOBtZ)kbKKHWg?y8*L(J(}*_ryV?jp z&_?EyhVxA7T_x1{(SKfQpTdf#)(L1O{B!l!V{G}*jDflU`q!lUZ%oNQ`U}75XGJWD zH&Z?%&H{}{nWh79^8^2RA#2N54eZ#1__o0O<-D)L(7{HVa+xpOkLyv^BJ`5}W~Hn} z-ghDEKRtIn=3neEeRJTYasP`Arp?&7fB8C7Hx{qQeroE*;-z#%3NM2cx#4mH~u`pEqMERD+ z-Q3Ue=QkPLO&#uHc#JehJi9PFz2noVF;g@K&2soj&|_Lx{#k1MyI@u+n1zSp37jcc zIkw5#HYy$NvW<#Y%C7PET=D16Gw(dv4|@uJem^A_`plKz+O(x_QLwk~;h^K@J$&A~ z*p_#^IM!%~bG6CuZQ4dWo_*1>p8cU!7=RrG+#qcZVO877WOdM-k5F=?>$c^pLw}2Q zs5%}TN}V@qNuKG?zc-XOeqlTUe@ewKk+n@B&&691uOMFa>X^(czHgPab{FX5bEd#= zy(5*+lROsRrDGlZ3srwZ>baQh6I1X$ZNU=RPmV=#Pr&uq$3S_=GxCVcQ{Lm-{F;l- z$5~FAAxF0AYCG3EDqr#ltyTP~&tA$|i^=|B^6d*VT=1F%p5T%X-sWG85AXh;y5Q;f z^7#Fx3^Y8AF%ZYBeN%h{&jrMPlIM8+(sS8-{t{!?nQ`F9PGl}WzXZHVE_iw_Klzd= z!(4O@p-J8)33>jY_bDcpH_da_?XyZ|$K>h8l}*go@1kFAV^PqOXW6fiZ_ObNYjS`i zzVDN9o`&Zf6FJ%rqwUIS+IjPyNoF4Cus-XRx`Ty$+ydPI_$R0%ps#o@n%D%#`eerf zyJT{8<<_9diz~UsAtS4h?aJ6^{B{K|gso@Uc6#3;$q^!l=XnFqHlA(tFVi_a>Ltin zvxPBn*ZPsXaiFaJh*@b6jSiWZ#t9?oMOC|6Z%HS_dN32tdScfpnL!NWIXCu8w zj^A_TPLd?wIX3ZZFb|C~zQfAgHDLJwH}#GSpR4VZZ8Y(R4|sd4E1Oq6$ule9;aB0G zuq|}Qt>e_Sj#IZYU!80G*Exo^C8^)AWydK8S$X4JbK|#Indgx_CFGzS@Z_$cu$8!m zXS@u2z!d$iWjz~quH4I*d)f$_dKt1GBHSw5x)py*Xyau6*Yo=-UA_~4OI_txvb=8* ziW=bjYBwt9{`_ z+G}|;G?M)b$`9r$a){r){{WnwE;y|p0S@(onLp_-_-T4beju03=mOM}etFCKx)%`-(?Qy|9?y7%T*B{h< zZ*|o@uj`KMx}C1N$8_CE7u?rf_0e&3@)#QdScU2J-M?8q7wUc7{%$^N|DhXm_oQNX z&j+`NZB%}t&IR@lxY`d?;X9-9tZdAnf^BqJ|5o*!8f%NI@0QH5ekyRdldJ4qLHvcDUsvq|;R= zXOr&mrQYNiers1NZ3^WZ@o~O8N*jfS=qI_N9m&HOV`|9r?=t{{^cVVldscs99Ny*9 zd2-(i@R9tE@uBftmgXt;ZlJGfB0rV=#gKIkze`CSruK}sTV*~^no2MRy0}nAllXGe%)*b`&b;(f$PS3_4>o=CytLm|(vx1k0Xy6Id$+*$M5}(=##yNT%zan0qolu=FRbL(JSDW&;mGOU+i}u zx}KBElfQq(tVzhxD&S`HP~!se6L+;vxA1Keu080N>P6yHznQtV|E*g3iO%nDgpTl- zXS^TNh~MyeTl}EcZ_HTm*^O@keig`BGtv=rI-7@IWBgpmLFyi+Ey#WGu0hC+=nwMk z>KwWQ>qqWUhkscP|FQz}*XPe#R&jjP`$C@o`eeTTIKPIwe5g}?{Tj#8IOp*@FK$u% z@OD4@D{rgX$M8n_7I`B=6RX8Z+mrt~3G<=tmAlA5AEhrMEeVYEJl6waTOVNpFBj*|5_wgIGe$Y|H!FJ1WwCT;{*O~M9RuA$Rsc+PBP0QY%z)!Ti4tO7? zdF441_^#g5I^1#s-(>B@w_;D=j5Wzz$_JQou3oQY|;lX1Sl)^w0Hm3Yn@!MN)Cr=DNOq;9CS1bjMyIAA#N z7RG%TdT_x2IduU&TF1%}#>&~4=Sf2dgMd=e^pD&=# zk8Rb*Qzo!gA5T`F9^ib5wdqMfPO{eK`#Ypxp0$ZJnf-lPktg7+zAx)}?_ydGE^dXs zDhYYsU!0bGZ%3Z>n)ZR*=TEU_sIzhYL1K_xYZUYmKY@HB?X(;yJ#x4e-v__j#{E($ zyr8#gLC>7)9k8w-{u&nblGi`fnhopQ={a)Wm*0kIrESgw^S7ciQ)gp6@7a>x%iuo<+*(r?9W0FZOZr_ zFa1C2ABS)1Tf~jl7K`8cl|EP(I1}1x`s0q70j_t*U7_d$Yx*r(HVPqU#%2wgzIab$ zV1a$uGIwdY$~TK|eND-&QU+f4HD`>Y>g8;r_P5m?Hv<{E+PdmH9AAIi(~R#v8trx#K;0q);H+dF z>qC_TU2cbli@InMkj zSCkX*bh1CO>vs4$Rb%Bt-ho7nzCO&cF=y!ax1UEp@{s+$06+W_WBYlIX<6ye{idT| zGy2hYW53n7b4T`(Bu+}{NRP4w*80u5pN)Q1=to<_enH6blR3s)rN`T&`yu!HFFdDJ zq5J(Q=GUB~AMxS*j_H0C==Tcx&DQ;}|6j0sY(KLPvi`L0Hyiz)ls*ySSn!(shU`Ly zxYnjozV$kWAEV!aS9WBOG6ucxHMw=H1EWKc8&NuR96eN`b=*F{k@rskKY;NiZvi_s z27a||;=xp2Iwk9f1#nMW@(AUhbAxV6%Uk9i!jO&|8?lZa)bH_yU@ukxj}T(M65|7h zJim&XxdSiIyUmwX|0U`P;JppBN3KGB(*m;Lh5Zyiqsne8M!eyMc_m?@Pj?^s5H8yA zTaZgLY@ug(G3g7MuF&>rX@clw}k(k zqw#f#EAWP&nRNRt`DmVzYd3o}Ve5Mf!$p%*_mb&-7&$Wo+_1*da^T|YnEed5KLotW zfa4!=J@a?9t=1A?a}Uh@%zX;?vuQ8iFF^ZG7~bo@lz-;2k)!j~^kMx-{=~)8a8YoM zsVAKv_a!_BL)~C_YJ4#MHTElP75tL4ggh|kCp5;sT`CWzX-=8v9#9e1zr%Je`pI64 zo}*9G)RbMB!~dDE4SHq~?i<#&mO2ac)bC&QZw3zZcX&4k^|Xm&2N&p^EYE3xW)JFi zeBUm+o$MLtcJp*Qu7&J&sXaZw)4q|%Mtgim%374(6Z4Qpv(w*}lJU=>tU}Y5Jg%6P z@L1_S)|)KjIT-MR_9!)vs)$vHIzRgYr{V?nI?l(pz+TNbm*?v_cjz{clv7T4{$A&+ zXNRqhPsb`@mw{*4f*-AZSI8OtY3W!6@x~x{?B1)S-b>+ux`d|I0(<8*ucv>2eu%3iqK~HTdpRa0|}yA~zaJTx$if27+mM zE{Fg&-)ZGqs3GkXe|QhL$VNib#?;YQ6j>W8>Q7Jx=;xrV@RG8eF1P;#eaRE)3)!a~ z%IJ&nY_18;Pmjl#hk8waLqzxj-F0pwVFgr-guEZtUc~TzQWU(Ojy}{c+<(w9N!u3k zIplfsWyO1MH`;`x&Dixx9LHOq(BoL2Sg*i?y5yt6!C8#dI*0B~CN)g%aa3rz^hw-i zP5QR0tQh$i8#%8XuCfx{j=5^nw-oJg26R%7s|@lyX@-{P*(f)(E$>@|coI6W5%2qC z%J!sNzz^HhLrynl)n9>rdQ6YO*TeR(W28@+`MzBs;VD*fU-&CmAB}tAYq}5T@9tBo z`+UpQ2lFVre`516>#1;k?s=r@@8b9v136geOXwl|Ug}KqyrJh?rt!FL{B|DQu7J9h zc+wX%dNrS)lQVyZHA0_yKV?D1Xg?#&GQ9Wj3GK^jUrOvA+a7nd{i%|5YlMHfW-x!+ zRLEN0S;B!HlJ83`u#q45VcR+R`)+$NV|={#T}}GxHNrKGd_p_oy`LGlyA-T+JgsbM za>zAa2WaK1vA*$*i1m$c;=Q|1a{W%X;0suxTKXr%L*64D0xoZ1T@T~qXTZ1G<~uOI zeGVtupAuA;IPQkcKVg$+v;QLqx-_Oot zUvkPS^NG3X_K%Oy9%H`H*;#Z;<(&SB``=9%8|V4Pb%kREf z=$D4C^}fkP{UhFg5kJj6zkG6W+#MHiUckLf#&r4KZXV?DlgGf|H?4EQL7DBEi#dBE zyv+f3jPFC*0yoBx*5d83-FOape){2f{2Oye59rSMIM(F7Pyf)e{ZlxL$qR zxK=PX(j+UNJEq@0^a0M&Z{Gy_>9|z-@Y_!L#!C6ES^FF8ul4JekmoqxSI+S1v!3Nn z7T5#EmESS?5xyGp2hj1J7YXa;!|i+2bAhaz^#0UOUP3>mx2*QVq^ZF2{N#C!!^x26 zC%?{+pRv5pDTliMY4rbAM*qzG(k1jqhXuRj4SD{d+AZ7g<>nE7mEA#FNe(PA?eRfv zn|X%1%$ZCd?L{8M^-99rgtq287%~E#j#4! zntpVz`X&v zQO4tGoOUFaW<4_woULs}kg^Lu;_F%Ze?q(g9MYR(=b-iZ#h^9uz??i{hw-lC3iWIq zRdi183nZouhIN_5&($fNF&L(g0-j22oLQdYn|pk*hs%@aUZD&EKk9U?7u6Wx6Y)~M z!A|P{e$U2t;|{soagPBxfRL1ld=G}hMcDU^LuYW0B5svE(=2@Rn10X98Vu|C$sNFy z2guJV)@S0K97TCJ8@B5E$A_59gj`<)?mVBA(HCtXJ0j~Tx-Q;1nxKqcf~PsxFLfe( zFrf!!5jtWbdZdtaAilAP70A}1C^tGbkBz;KiJJYzN!N*_#QmY!`?(&26`eM?5IuK_aD3h zd{w--L-Z!{7#ZI-^QCzQUm9@P7h^mLyNNSyN8dI57w<@J7Wk2lM%2HOo?|edt;=ik z=@)BUn>4Q28~ni)5#LVfP0~Z}20fGfZyW=nCNY3%1c`VW&twDFWH_9KFd^ z{&AF3-bkMgp4Ga(6fs0G_s-DQCD;A? zvYvNkJs(!jsq@*}_^kAM|2E<$dx^rAqm{wSW+V5(=KWnVLuDU&>aZTdLCvg7iB4}5VM;GUn5f`joT6dO78FMt# z`gbWF9(kT+;GOo#`uBmSWoddHIiF(=yIgX%)WF2v>MqKI^o5S1Jm|A8(=BWvkX_h{wNoTOd+^xagG+$z!f9m!2_anOruw z{{a2lu=Vj#!nhnc;@DMohgyHg<0X9khtvA;70G{Vz1k{mBOOX-fG&ME_HQSCM(&w+ z>8sHDP5d2l)lY@rCbUFM1zIA8^zm*36@$G}=bopb59IPN_|Nw-QhF7*zAE(!*8?tG zQ~Ri(sljzv+A3W4UIN#2{kXUuelZWO2eNVXM>;+Tc@F;+{KywO+J@p(=D^)im? ze;D}Syt#Eo%G5YqGc0>k7ETjrE+-iLZ1lcX{3*L!5EYfgvVV`rXMIkXrt^GfpV z5^FlA3<+FCQ=v2BpIS36oF<0+B$;01KB zqMvS`K|iUNe1OQOmPr#|90LsKz0NYD_YnU<_q}{4=Zt+L6AN)H$ZKZ}>K@Z|=364B zZWZd9b=_wv=g4oFI{2h7-^DtS|Lv*rZ79D*^-*z{tIs~v@!SURm~)ZDcg$ z`8(!I#~qt(0|^WF+x}kmOtkz2Oh1gx^(Wu?2t<}^19kk|F> zXBlYVrEC};;N7weS?pV6O|Pr$_;j?=PRS(uYk5k6uM+as=%UL~j3@pdXi(1l%mN!RRdfGdJp1tdZx7?3 z%b>}Az`m3|&1LUWG6-2I#d(!7yz5mAIWDPQWR*fLdA89hjZj)$Gkr%XQ{!*k0z%Ddo=GL1HPJx$!a1ctJ$)|`Qp-y?^a~> z0Uy(S$Uhy!rewOVvhWanDxRYQt|^_$w!~e>v3p%()Eluo z@jZ`;y@S#O{Ke;4o;)i#8RC!iRsoz5i*!iA6}W#@ z_S#4r%&!K0BzK81Vc)3RKKQwTEpz}KHJ!|UhA#pdb1dp%!147dxz^|EN6!!@=LNlT zIr{@+^aS8QM@%-h40|qecaDv6oZl21SI*y>#K&|d zky-V=l})*gRvu322*V?7mk2kfT}sPLdcQ*V5gO*Oj};SG=Q20s!}eiLdY$~*V|WL- zU_OQG9#_izv3t<+(A+A^ZTGmEryoZ6bWrBE%Juk0-f*&A5~IBH}C=?l}1U^Oprn$GGq@ z=JD=uo)=L2Dj)nz$!Rxj<2=eKb6#>L(DT>y(O}Z$N8-I)PFpsf1rCqo^RDt{*=*)Ej8uP-LF#?a_H^<{`(kNXPT4@e%y8Mm`CYB zW%o`@AWtH9F+kS!9!BaueD@xPk`qP06QCJ3b&iCpyn~tx? zp25l$H;HdTdCA&?nJr^0+P?}qO>__DRqDAk4}QV>HL(Zt;!T9-+JiablE3X{tgJnl zvsrsEuV&KVmpy82j@g5e^{sWs5w4r8J(wfN6S((aj=&GBQ2Q-=B)>==x%@v9*F0$O z#66uyK=*SWalggrHOL5Zf1)3A$eotaOnUzFJ2~X;prS2&KY`URx>V2qbXo`NF%(Zv zV~#F;4Er#Cjx9qkDA*IqvAxMPrsG1LW4mzCoPQZ3vzh1q{@w}#9|M{X+UQ=irF7nkFzJadrgOZ~X_oeRU^fC{ic{wI$lt<3=C;6=yyj^& z{{I6xqd0TGzk9{3Kg7X0zpZjTm+;y5X`eleb4DxlJNl_JrO27iL(Vi1usjjy4(5Wy z{z10*?r@prKV@wmo_RO$R?wk@_3=cA=K=AZr{!{{5M^>s4E4e<=nnH81%8L1Ozy&l z>2S@%z26ejaLX9CaV$J@+%obW&&7E5yPlEH_F#{F=rxq-GpNZX{5E^0wRwE*3FUJE z=cDFnjD0Y98s=~q;|9nl#DV3&xt??dEze<`T)CUE>-X|03PVz34LDwc!hC z`UKiJ>(B=0cb%ta_VOOJSmOh|{eaVtxT7Di0y8Z8?u2D8cqn19UiYnH-x-bA$6w;v z!v5p+-8v&Fc-9OpkZ+9$etlMn;A`TW9W#3!=PKZJ)0KFyYOxdN@0#8CUXcDi$xR;T zakPoTpWlT!^uLYz&wK}MuaJ2(s(HlUzR=qb*tzCl@OT#Wf&=Mg#uqxx?@5n0`x!^$ zM3}(k%J^gWF7?;n$L~+|a7>QFx#t>-^p^2JSB{r4SJM24xVvx9tX^km7VcUjZ@lv) zcHQosj{E#JFh4?FA^R{qQ`P)HZ*Y^RI6hDdJ>m&CPh0cmJ}v&k^cmCeu2a)ee{9(* zzmr(yk4?R=*J)nm4^JCd=zQaWuQ<{B-v}2LE{si@@kVS(ZEfAM#5Hv@2NuSbftG`{ zLFenUdg=SemU*G4YJ-9AC;45%Qr4lo7|)}ui-l@y2`>hC&SQYJT*ImaY~=Oh1EC=2 zgg$nxlCVO->PZ5tgmu(^cpeQOPFxeSkRQgnp8Eu3XzG$)`eyWnX0+gWnP*E%p7QWA z{y6YNf5KS&a`K?_W6)z7Vwk`59D$sJPGv!q@1l-o8{E;kZSH{V9~9$znz*BN=2x7_ z=<~Rg9g78PYe_HC3GF@3I?S^l^Za|vbA_JgY|^Zumt#{7F`wxvnte^?S9$!| zPZh!V=?lHFO1~fTDtC61e-**%Yqcz(9_7V&9%Y^LwTfE8k3Ed}5%#hQk*m+Y3|Uyl z^;sK?|LcWJxq8dM(sK2dlB+r&Vjrhg$m=EA#o$%g|*s_A&_;Z*KbSG&OTSi!rznF%F zI?@KuSSNt>Fyv(rd~1SSAG1Fhf65Kl|TNZ9Sj~!4lCImIT4P0d^G&T$4BFdfE8}Jdtvw~{A;-KKzQKF1F@;AR^sfM z9qjX#&V5Scxty|&vhG_jW^j|YF;-qy8(a5)I!B26-=RB_sNdW;P-x8^w63bQEf3bb zJ)?rO4^=q>&?oYJylY3Bu|FNFgng(?!|0h+Xw_AC4lUl~X^a&ir(2Y~5XaatpXFb? z!xM@v!?!@ETGyhks(KmvPYtKwaeXP6_w`l>dEXuGSbkd0&@#3ubPnI#OZba7;ZBc1 z3*SM(zli9%3hIiwO3z@m4}0c5?CTA3@BB2+#h$F2<=t4fZ1O_nQmmB?-i<4l9H^}= zIA_s*1^YY|qz&lat>$iRanBt(^>Q>CO4$F80V9e}fJi(g1KqTgusI?!jQ=Xl)> zp26^`a~ta_r;MVFH&!{n*U%L@CQv;M{qX%xSDE6)q2y`B3%v7CuEr6a1U}%-9*2E6 zUbW@1IA5%TGt^0SMVKpa!Sji^5-%3?avq%P;zP-@=qxK(*W%sCIdkq~=Do@4uAW62 zfmToQ%%CS6D=e$+!S@M3-(9f+Tgk=0&ga?-z{W(Xm!tiiroD9r<0SHPm#!=!C+=jh(_I7W6x_KB>$ zkQ|Q9G_)M4RlKlHXY)en*Mc=qA7TtIK8^EPBWKl|E864XbErdF%LF-@lnXB7`{uLiw7xeS4|vy9POl@6YND??&ExPsJQ(^QU@a zlRjG-D=PT<-HAdQz7*D)6^<^m5_QYU0)bP>KE?&0%Q46u>!vqi>z=uY>K4=uSr*1+ z{br3vF`f&8hmsEJeE97}U5Cbj>2lN2K+DWOhxrs3O;V2ESY`e(ExpGwbX^kD1`)J;iVfF1YS zr%)$!7(L8&(!p+c%N^RbtD?Jf?>@G-H@(7qn;b$-@De1&tQ)gSMV(i{ww@} zi!KXRSEAm64-gSq7_^I$n=s~8i(ejn9rk!DM&j?;7|!SObuqU0l=n zyN`4rEa=2y`W$tYKi^2%B;G7@-bYyr%2Zy}rmiJ_R^V)le*o{b49qBr^jjXv4(rfo zUi@*}3Ldg%gAW#HS`PY_#0LYUZyDZ=U*SKBen+cHB7d*@AzlDX&s~Sqc^QEP8-=qo zqa260!k({UT*I=(JCiHehIsIA#$2BqGuLk5&bc}=S3R#78Rh{U=cU=1Lxh#G7c$Pjq3Y|ARzCPr70Uc8M5YH)nh~H^_ zsPtq4@RUBxp^G%EVC;72qRCnp9fdAZI4or@h2QK2&AnI;#>b`XK%ZLM@mFG3{9Zb* zNOWp#_{V8qIdIe}?EbORso|rZ+XF?=sR{V11{QQg_{Z;U48u=OK$ns?qU-1z7r-~p zp;L(u=HEfwXeVP&H1Ii6bJ&UpK${5G17S7(81^1|+4!CuQ+&@naH&TLPwf9DoV&(2 z-9JJZd?e`ACgwXZ&Yswfo;RS+ai5X@Gj%umZ?3!XPY%UqeWuhojQ4epUOU=!6#DHb z;@6`Ey?XAY;loo#!$;wdB2IB8-z+&Q=$PXUb3&;(jBYn}TaQ&^^c-*(9RhuKg8I(+ z5qzP;h$}P3Ea=5J)Kg;56zvfwK#z(3d0}*jv?eT!y)}%r&9xj}hc&(yx(x5`nRpHS z3{p?Wr(j+FCGKA>s$GfL&7$6d%=e1V1D{#N3*Oq;oy^OX)jIFZNAAhmHn$M{{w{f# z{eyp*JmN@y&snASJT*#RdR9q%13eD>_`Qm~u@=M~fYr0E&_YaDSX~5qDVX9n!A~zw z#YE`Ccu@TGC*h|v9*jW$w?O~H=EPbM4-&5yg;!4m@n93sIEn+6;}Pr#9QVDZj^t>g!BK%AC{MwHzpF2pGtAB;CtePc$P=1812 zP3HZo&>FEC&q@HFq2MNr$M&|IZDm|nN_i8!A`+(^XPkz4dc#kj+ot_nb8D)Y~3mq zLuAMa;<*-s_r((u&ynt+IpVoDsSEWQl6`i}t!#!3SWhzt0iPoS)=bR(V$IwF%Dr_) z0x>my&4Ji$kW><|~=;6;DNa|5bhDxND< zF$m&0J(l2WbDdvYMY_QEIu3j~6keX*6kZ}%7w74CZjf-WzU>7O#B(xl#B(i(=YTh0 z*@)%#rN=-lC*>m_==kJhtijN6WGi@fQh1=(H`nTnh~_~gn{LqKEfUB1)LbssNIbO; z`nN^NKi1at@Y9Inno$ON;Fyk_g=opqdk6m!>iC-BZqB%X{kz<-Q)~}D zPvWo7X|RqvE!Mmlv#gzf{T1#3VVv2}o#&j0=va!B@Q&@m>OS zBjFMj^kaD=`0t)C+Tt6gdhURaXN&aX7#t7uD|gcl^Q*|Fo113g25TdEU}zQ~&DP=C z9MY_TIb^;M44T0fIR$v9U(sw;Slc4fC!1!Z7t1qf77?1^uHj6YksbyI+D7o6^f31> zP`Hz-VyeZ=wpYYpXv=KuH9HS zbYq<_y3sjxRj=Hau^Yb2Kv|$}W?3NCRLflP0Q`+^>SE}la%cFe4ajYsxuu16uONVY zOo=n4vLqI|kN!q@?o(3`lX!iNrzB<%V1HvD=yUDj9R;gEKb6O8c+l?*TdDk!V_ntD z9Is>HobUS&`Uxv$1MalSlJ2RE;VJRwN~-Qe-r4eOrJW^ykT2xwIB(AYzpDj)-pxCd z>RKi-=8~Lqc-rYgz7r6($a4?&^9vT%`6g|w4q_clEm*j6>d@zEe{@dvP3d#Ga~H^u zY$p9NXXHpZjCxn z(MO4AUFErrg4dLDR&|rgQS*LK_J=GLGndVMNBZ8XZ1kMSzzfJxiwwX&FE7J5)!6fs zK3j<+baJEVR~_-eZcl;TLat?65NF3hpC-vu?~TnWfILk~==p7jOyh3s(Ub65A_4ea zcz0tX{Al{54^r0Rrz%Un_&(?38N#?F@pr04_F|7S_P99Axs#?G&(O8n295L3HZV2$ zX3VzyY=i!6udBRvl=zta5Ws4MeA&>M!_MiYG6(68Jiqg9$RC@fFIs+Q0P9xkzF6hVUg|%-5A1vsYt}BqdIc|p4BCIR$rm zmpVf;AyWlq&b!oA1+7Lt)mrs#5&4Tq91S0CMD}{1+XmSWuwRvaFC!6y4H{_lNe39+WH;Dtj6^S*Czc{OgSX$`k)493iIklE9IQ+}CW$23j zP2?qf!)MUXQS*Ll*+WR_nm-^0zG{QfL4dW**eb0Lxv!9-L7KmRC?gNh9{h*= zyl|mLa4XWdy@>H4`|v*pQ@Fj5bh2@S?linOVR(_&gXj0hZiL=@VdQjr-19?}E7<#C zXQ(i9Ex(AheB(^f@kS4b4#3)j{0?fKZpHjS*Gka!4<(#~i=SI4BjD#?8W$ta=PPK3 z(lT_uleJXgcL4(A8R!(gw2XG>D&Uw9uh z{qn@j-f*;FA^c$Of$Va2JpkT#cFlbZ`l|`{AA5t)c|K0BPmn-dzBFt z1O3T!GrtBuCw9i~oU;A#znagO*>5+Dd`#yMBji2CDaPCi0CyXH%boD#G0K>O9H@>= zNd|_Le=P57ffv+o%+uBGfj`nT^tt=?z#l1ClJ|@h@x_=J1K&s-79DTl8SqC>V9Y`T zA7e7tQQ~TY=g|Yi$BfOkW_-wxHDMgy!Tg~QoL}7BJ9o3?MSM_!zsQLe?!#XXp10r9 zT#yX*6&wstb@^~X_;9=7!v*2P?eZ{2C=T!T7FQ!ag)cXX{N8XFYn}cYZCrTw`wQvM z0q@sqhOCdz2fmTraJIQ$0$Q4Rm^n-o|JXw~C%5@+`dUl7cUiv0o4gg>?^54+?Z$U- z1{8A(?=D!#`EeYy+ZKN;5RAc?H(lk-!iYBOY2GB2pxeOzBVqq== z!JspI{~N*W9?Sn@$oNw;(BBT?ta;MuhfaIz=3dm{%$&`=BmT95hpdYD6GH1Uwu`^- zFLltffAq-osj~LBF%0 zC1KBwKOI5;~5BkGJSo2TnxXspU9%m)Hzrh#+=UpO}$LJ~8&2!E-X_qfF zi4C(Y%a1#2W0jt*)JfC@b=NTt_``A9$QgHD_!s9JX}=vfEp)yKTisZ&fiMkD#K*BD zHtNpSDTE7nv=_op#mfu(!;vWB9_ST)_A@pcvEv%Vj78Cnw1wn-olo{W_s@M&VnW_Y zML!!f#97lH%-mpNTILI=d!_uZ8a5#IzCL{F+EL5_x&wI*@P~rMJ;^HUBgcG;OX>^s z9;V0v&H_Ibq#R-o8hd-lJ7I6HEdF=}<=2i+uHfFpD(-<+EkplhD@*E^=>Fg}U}x-s z5;xfcWsV-WgXbaVn+;O7cvG_GZscBw5C6soB0-+n#JlTzOj!nP=p*2)uh3_$@)N?l z@b^W~X^+sy(e#n~ty1)P=jKfM3~Bm22Ko$vKD%A?fv=I5KBxl?1B^Y!%=4WGFemJf zz99Rhj`K9Hbhuv)Wq68)Tf{>;jd_6Z?3{g9h{=jVxI{HeFqH|OEQ zV2y|K`+LaMXrFVU@MCv)-iSv6pN!uY_$1D;e=;_!@{RcJRiAWDRlea2+*=x3W|vS8 z;cO}Pww9GT7j7+$J#{PYI`O=LGlM0u$~*DTIvzjsUa9jI>jNduDa6CeBC21dU)ngQ z(B|T~l6dmGzzRPdnoYkdp0tj$zw?cMER9uOz!}bh4bJXm*k8U2x;Zr4K_1oU|L$*k zEZTtZz+Iz`g?Q#DU{rhx{>ROXaqaLl=HiqMWgN>rPudIGQqmB7uTZ|B73e-Kv9RAU ze(#TN?hRSclW0fTfZaVw|Fk-o_D>BjQ#Qs@em-r@<=^Pcbm%s)TvGbav{s`clU+fy2i2q z^gytA8O{()#`v)_TJ1x4hE-0;YeBveu!Di%j>1yLpp-$Z`E*Vi@M5j-JquQrcKalU z3mC{r-%0&7$*ybCIq4SUpQj=2@tv~*?{a^63G(JBL%tpOU|(3`^er;p6Z8wc0qAbX zgZHF81$zu~2BF3eJC3}h%A0cCrS=&9s>aW`#UhyJlq*Y!OL&UxG4MQ1W?tbmattBt zG047w=P=GVRK&1n>YS>D&q*6li}Uw959Wa$sIBFGF7gn>r3~+1T#Nm_DyIlOVGGVg z1l5^1esi7tkbQG&DeZvB73Qz@+>Rptgzm0_?{2`@%RWQk6!gle zNgIK;Cp`6ZVI9sh#Fm40vd>^4*9kxI2JACn&DZ)07S^7|KEpAk!{z-g*BQycY3QBE zRlTvN8+u6}$Y+Ph26O%J>#$BrW39+B6;$FJDeFgTbiT3J^a~6l*Jw+eIxlu(2=SEn zZt#%te|fA4zV)U_-AZmOo$F6VkaKMe__A{Sl)-nvn|DP{hA?i4^LC}kq>dL>(VlQ# zfnn$|JvXksyz}!R9*Q8>k2b)4h2+SFwT!-S@vMrQE}kaMXm`=(Rm9I$Bn0F4ve zhrpR{uE%1~;cJ!5_a6&Sh3@{Q&i8}%v6g~f(9#{6)wD@i4x7wT*ngoS`ATFAjsxcJ*512$6GV9pt2V#tq2#>l`8R zHg<SWVrhc`t0c%y(4$eBr+9_z{+KCM!*WZG5vl;8hQu~~- zmIf75!8SQ-v34Th1^4{q{MX2l*t+=}C=bZ>9|;^LKhzvZXX1$Q=^s;H@5dgUUZ3Io z>k}~*;?>ukNCR@zu4JB9aa!A@`*EKi0`}uB7ei? zyax6?q#ttq3ic7{$6P=6xHNp?ukapW&fdlzV-)C%5 z{H|-(Ier^L;Un0BftUUCO@T%!zCMX}_* zxV2z>;>H|5ak~+?F~`rn2^VhAX-(h(^7Tq~TzCayu=&XEf8ZLkoNG5Q1+oPD!L=c4 zcP(V8WtBhHr1)aiy{vhxH^|9W(Y?syVs4=6m7wXlBjjVszP>QJRr7Ik8W$tO=l4?o zr{(56ZJCXI&rCezd=KydT?lt99>}?A+mN2q`Py(Z@)S=NjD{mB_6}fP>Kshr)mZOA z``yBusb8?KTQZ}l@IO)Sp}e%Z^1`p3r>SG0_nOpuN=}nL6N8*H9;RR+=Rw=ZePH5M``*y!c$R17RM>kA%)xPAKm0@) z{9S8rz&9f2sqs5f9r4ia6=IxZ&-I1eTi`nc9GCA-aPIISA5iZm$~h67%hcyY&_7XE z0ovjoQp)T~oRO->kDoKkmO7IlPV4O(T8IVc2P$cjo?Q(=qs!Q?M`o z?(*Kc3gu7Yy#fa^ja+Kdoa3pDRm^8xL*Kkr<0|yfzS%H&L_CnQb)pq`Z_uaCC=su0 zoMQHT=(=Pv$B$Nek%RQmzHqMsG)cZIb@}uU) zwg!%ZaWnMk=o!vI@pp8{RtQoj<>-*ZIqtz0OOsdY4~(yQlw9qOgBw!iw)0u8nX1 zG#hyPsYm&b@hb6Vd)m}z3cZmMYtE_? z?+rsG-U_&amS;(Qo88vlZ8vmA>${_NS9?QCv>S4AU8CL6-q~&A@0v#Ze=5qNot^ES zc6*!M+T7J0ZL_+ftV07dofP>l+%P9q8mP zzt#R?b9WQEbUqsGv{j4Qc0+qx8{ju%z|QEJo-Pcb@%UnUPiy1qR^Vz!>(|ydw*j}+ z^^I$YBYV}a2I^6mSUj((?`g$^qRnmHoqTR?d$hh4f7h>RZjIt^oB7+`&B;rjdus2# zCwyOBZ7uM=`<~C%-F_ec-gVnu@_gUDXmnfcz4wIgv8_Ij#Ee2Wx9Ub z7dzYA*4k}7>sLd<+Sk|(P4$qj)-H%vL$vwPXyXjaGC%FHjhj2V#;sSt!2i538tWSX zB7c2-qtv%|MBAEyDa5$Dv%S@<39JFV9I=+J>*BJ!-ntGF-oT|GE0{g)uI}~@-RD-@ z$R>MYXv@HMHR5Vc0oLnJL>c6;rrsN^Z`?3v&K!(+M|*qY>J3pATUR}B^St#_r{4Gx z|I5?ywma{*?Oyvn(E+(3=joWcvAcBYRS)>r8@z9C?p*)H`p&5RxoBq>lnWG5Yir}w z``XuZ=P1@)Ip?bNw=WJaUSZ#M@4ffjd#fF8YVNYv7+_Fb1ZJbGxvimneMfzF^Xk^< zoT;^~(fY2a-P6%X{o34ZcemS*f_?b2Itn(MmP!S76R6_DR5P?1`?lWZZVHAX&>Y(^ zL^o^fS-*aRy*}F2RlgQ$&1!3J;~)83rFd4gUMb;dZ?vIDV0AY|?KM4ZO2;msP^HGK zYl9@WuWf7oGpOC$bsNY*Lu-2%(NH+f$$B<=9>%1Rt=4q5uh%vOeedgm?vFM`X-t+z zyP?}*PN>B(#Oe*oPTXD(wTuQ!QgW?VlucwouJ!e8?60Qs#ZE;O5K~(&Ri0yfyMiNC zk|v6Tc6}?GZOF#Jz|IMyqkBUKT(t4qK+DKD;r4a_|Dsx8TJ_L^bw#_)qN5myQA^Kv zb#q(F_TnXFZG;W7=!@Bd5A|&~bb|}s_WF7l<4$``YyDan+H`r>hPH+#Xuak?gD65W z*S9xDL09S58SU=rY_l5;6F4hVN0@0niC#UeQCjfv=1fgwY1nH8r`|j;)c71D+6%PX z>Y?JA*YXc1Fx9#(s}wTH3cIUG1OiLO-+P^ZUa!5nr<;pSJ-KmD!KJYDv^6)lr*Fxs zg}*}SBt$fo$b(rC?*5B#uV`6=uIQZ(K*NP_pJKM-xK*a*Eg|t=Z#Mn~@NX&p)#BfS_}7Gg-T0Tlzs>juy3W~!fBW$7U~+V>&&UVnvv?_p9FDH< zh<4UvnMGk>8o##>WrnV3kU`fwG`-*gkT7m~*=vkGlyyse7p2bVjIN~*-YK&7`Lq@^ zHaskd`U!Nu^+M{in;){z-i+6fkWdJs}w* zM;*POe02>?@WNP`qaO#%SH}P$UtRl}HPA(<6}^C;BDi2eV|%nq6hpKZgw7@9;!jkq zzphK1izPr{tul-Pqbq}rh6Q899=1pg+1=C`g^q(S7j27nuHBH)U0De``Z*IP=^@n8 z&jG_NLixvTP&TBy9&uiM1Jp?utZ93j(Eq;d(v&2oY!6+{jBfX#q=PhYl~Nb7++F4Z zW$cxVMr{C9xH>?(ghib_bat`6z&rK#R*`2)pL*7vFg`pl_nON z?7nKRRyAn@k(0qXx$@0oM|pDeLFkz=|H8TqI_JSW{~kD^_)1Eo=a>sm(!;c}Tcc|r z=AvzgmzE8{Xxz|NzrML4WgXn>kJx9_&#~|7!E%9_o;N!%yXsGD*t45Ig8*VoOV?zR zqxI0M^`WeP*=5e$)P)!j%r z$btv_V`ACW z8{mhCKD+mxJK=9JUvuky=!eIfu49O5-QM2WU?LVir|Htw!By~ReP=U07cNvI^O-gI zDC3qLJ=ZZE-4oXO622IIiC$=c8378Zs6_=cSg@VV>*>^G;+tJN)e@i21nFozPQ1XT z;>UwqV2Mf-5dJuQ(6meXWcpZc2MbfdOpH7kyp1!;Nv7q2wVXO>#cYM~bD@9MG_R$i zx=TDds(?O9-ds$E5E&Fc|6y4K~r^v+;x z;S_h;D&3aSQ1?c;qH|ZK@rNdcZPBz7W$UhkRd83i<_#`4uZH&&wL1_m0!pjUMeJ1+ z={w5Q@_V_o)$7`w*iydY$$ z{`ut5@Pg|Ow%bJv1o?tbM^7sv|BmL~D54upZFdvPRr%7@dz zJyZtGaFu;q^IAx6Q+=z6LZIJn`>cIu8+;u|nGTK{nJ)Qkp7QmGW2pC4I>XRQ@Ajnw9P}6n@*`dur{hvN3Hwdrvrg&s}4hjcIq+;`_o#nPr0;)9$_%i$8bU*k;g$ zP#|-g+Sf7&sExztEy`*X4%|0r@NPlL*~sH;hUM;&4}Z)@2OyPZRncY&|2Ts zHMb3`A==&KpIhJ9h*cr>euFNTH4_$XWzslmy9GgT6jF-*_tEzsTT7@Ms9EDWBG>yaDg7XNiviOE*EK#Q69%n?hAb5A0TrVOrGlq)OKGPHvsx0y zysGss`B?KAaT{0f!WA(`;6Ol19?V<{iYnnW(1}+dUHF=|XfD)~ZL+ z6L{S&%9(l&ld~UHYDfiLv+cD|t7+ND+a7rvrt&7*z7q!KvfAf?e@8oc4Nx6eOw4Li z>$&1D6)|c%{V?pIrdO&T7AfYe!k@ckdjz?D4O5wK7c}l)JkkSW#|GjqU;_mU0SkBy zodoHi_ZmR=`fSLi(|Vk?NE@R!13*%~`+(V%O3jil4JYZ%sc zQ4iTSipox{BiLvO4^g)Uc0E-Nox?EL)HSNqNxB|{gHzVo+)f+7o;kmE5B zE4X4&tsxoj?nR#MTgb8f_3O#eeFxJ2{suWV_jC5|zphQ;o)L;F&}y?LO;8FuR)KQ2 zCD9wTSJyXSBe_j-*eO`|(%_Tww@VOKTi?mZ13SmA`DV4b8(H>=w7aiP;X-IjA(jh-Hm#5cq%Bff0;Mg`w2hD!s@M?nC}~5I<^h3X#mXou zGlLc#wAjXq9c()l9h~WO_&Kpt6&2@)wWCb`XD zV)oBjuy5TxSWve%A6p;|;z7XQ;6T|Mt={Qa&#fbN7uk+#Xl=nVzu-Z6Lz*|yX+Yn$ zL`f6If>~G9cQ(q_AmgyxPdu<|Bc7om;zNe?2G=7Ef`jXUC{|-i zW2yZUe`pq+qTwE>Z&znS9XERIn9guZht3ikyShV|@o1(bFg_03{Ot4WM?D?7YSfNX z6G2!9gZ8_{kI>jG z+P@-N5pD*#7(FgUvwkmEFN>E+C+v^4YVBytG4HqTV0?~GW2iQ#8T092&!Z_iE2E2= z@o6W8E}jZ`i}jXP?Kf8ko(GS1cZl$7PIcs+3@X`_g!LWqWsb z`|2P{d7HDezLO_AW<#OP2M|qTBWLbvICVYwVNIB58L3!yUQd_z> z<$(QA!R9Q62eO88ha(=Nr5m_WJWQH;x+S4_ul$nSl44LA`Z=gS4V#bMWYUzbN!*v@$P_H21zDx;!{!TA z>hxK)U4t8tDGR9GLRl)1Ard3Bm}GhlT*{Qa$3bmSSztmJ9Qz`_T43g(m_z%Z9CpMy z&JZ~a%72>dv}<+T7`im9L`;^ikcRSU5Sh5Xyh1vxi?|nIWq#+nWRfvCkb=x;g$?2m z7}*Y!9cLOpdP1;9FqaUYQ732k#HpCoVmcuQQ+i?QX{4rdjBRK|Buyb;oJ#4&=tf$Z z`W3MPRk{|7!1J+nxv;IHr(2Yys{}K>u=%IwVMbTTFl8(~Qz=k~oCWc&qs=8ERSRCo zlx9>FT|jy*>P75e;R{nIZU%rlQl!D`%!xqpGs{@Vn8d zEPuo0VOJR>TP$wjK+Vk@b@fmUr+8qtSawm7!Gej`!AcEwLIx-wgZb)47Y9Bm!yeXSlITpX-22^(93 ztuNM->jI(Ai75fk19Z|w=b=|9T$~&{ANnx0?eHW^xZx*t5ZgQ}T+hN<70xFhsAqL- zGX~W+#xU-d1z2%K_1(G^CT`)>bW2ldsI9UU zaCv$9rUmPgMaU|QT{5u|Br6t^ zS2%#NCDQ@7t-W(KB#a~6(>P(~vSV0f!Gj#qusOr!?ZVn3 zbcAR)c>?}XiYsN8DUxd7!J|AZ=C@($P06M+bT_j=D()-i(Qx%bLxPsb%6lia9MN)Z zwv?{ZXM=GiTq~Ic2N;?qXN2V-0Y=N%x_wxE@SaB$h=-MHJ-~$piaYU15gjgFt%l~F zhPEDikd1}mC~>vA^fY-}*TLk-0E0s*Q={rC$+Z~gA%PMhEmh&x!==)P#1>jphS5hF zeFip%Eevp>p`lJ@wkysdn=7N9XJk@%{@T{5qa90iE#2#^a)Q6u5m^J4L}#^6huemc zZ!oSL-(dgJa~$BB!Mf0C3mKXQqAt1W^gE^u{2Yc+k&ksdmI59&p5CUtUj)9 z>TJh4YA{~j9DX4b@8`hXp$LFUw_`rg}I}VmB2JSb`Swdq^&%W6O%CLj(0w zA;F{#j+H6Y8lX*GnRG%iM4QJPBOr$0YztklKvEG(xQCPmp7bSK*l^e+7%-v+=d{>- zJ*g!#WH|w*-h`@37Y0$fBjI!jqRH&9HFC}?KB=?x<9KQ9U%{BsIcpXRZ<4%Lt-DsW z;3zH}Fs{^5!=t|_*zrOR#~GYO9z~DR+LYlQJNbWt{@|{ zM^lEGlSl2wH)$v?tpID@BxyA~%3GSlJ{OSFoI>&Vw6Rv=$3O! zT#q3^4mNre(CU9+XI}Q`U+`&RfF22ttQ&MxNz3HO&p8j4WMzns)*gmMFQp$J{z>nK zn9)aZzDEjWkE+F_GWNC1O>*iYJ!@860!x~@dA{n}@O-75+=}EFr#Dabd45llhQ&dB z?0HUZZ|jN5()7*vSPHIytf~z{;s<0+IHJ(T;dB+g{pBYSXk&d3G@}cjgHn3bcG1>739^LmA_MX7!e zeoBd~H`jhpUPiXu<~6NMFKlaWhu-91!Ie9jX{@5m3I^Yt9G*^2rz>t)c^!vb4rDnw z3u`zn$c&TEm2I4CI0kun5_oXlL2;7T#!229ENhCMvwkh8A2&*CKL6>jTyJWgx&B*j zwz*CkQDp{38T0n9esv@6^&>x8_-<{R=+{lU$B4BiIh8Hj*6Hi#F059q88-Qr8x4w_ zrK_jutF6zV=gaI@#fz~OC!ZB_N)@9R=ymuhbBGr>9O1D8{d!5p67-|sBjpTTR$~%B z|CLcrMuOs^=Ej`n*eH5)PeP~jJcw7b9x~^&*+Nv&RXF?cv3?ZkG30pQr(V}L3}Ved}tMazGV(B zcD^ghXEm>!RXKfDbLFh28M7LBz`A1k8%lXkFTcFBV&)YAt*)rot%5b;^qH;!M_S7Z z_&(w3P);I(v|-fVvfKe1229rg~nwx;lOR!s~D8GC6#Kp|Y|rgGc#H9-zw6 z23O+~)7I*iw!70e;R|c|7%@U(dqcYH^KDIQ?a524-av_c3nIU%VUw8Mz{l(0JLlTk z#ntI>FF|L6FydMpo|BdDg?LZ~>rfC1KFZ3)^elJ8G+b&`VY85&ro__o@L5*w2suxJ zLtJU#an31bzZ=~uL$>h4u{aF=2D0Y(3KHoO4kDM*Kh&~gC^7~UCqzOU*q}g%G2;)M zSN+UM)~4xp$SDz=)rq{@hL$G$Tnc5LlapScnt+*Kw=_em06kDLu{g>I6J^e26g$mk zXX1Be;;TqI>MHV^&(qlTJl{W?oO%I{lpjYb~0%aResiz(vB)9Zm{{ri(Q` zEdprs&}A^FSgNFZeG5him^~QW;L8-7nv-*LxQZn_0*mlnaZsb^Oa+A={Xl|t)|^Yz z*WwpT+T=%QR`xVEqo1>fiw_6mDTXiM2Y*+;~HlCV0m zF5dX>nc~zAfrYDSEMhf5dE3|)oNEdQ;J_*1%jp;xc>8R;H=#YichJ6fAH#e9 zz`%Q|@jg5-@ZK$Wqt07E$ITuX_`q1a%LfK_Al>a982HF4ytfPtJjC=q{JT)lbx#cp zJaGczL|y-G1>Q3U2A)jgjW#}c2=5gG1D|{zZ+`Za!fl-Oi}9n=bDi<|GN)l2epBiL z9e5Wr9T(qI2L|pzxqgkASCGE(Vdo+DBi;_*U6fm3zWd^L4$aL24)fLy4De)iq7N`H z@&fX>*JoYK+=A4+oVjM+L+-Vs=DzK^haLB3Auu;@S?-J9EiiNQ-Wa@@m-N8z`v@Q7 z0~h1KtNRY(eUuTn%5j5lZ`;lG4^u{6P{ys9v>h`raDOlAx<{x8ZD-8Dz-I6nKgX*V z%5zE(N7+@y;$}l$TM<4L#DPan4P*y;*;~vF1*x0RI4O8;o_kxaw2i3qfd|>W|FAJx zm8fev#t*Pnn7T4#>WbV$-%-A_hmaP?di4(sd}u%3MH)rkIL{9Zd>HZ#w!*E~#7o+W)aLVnj#k~#p^C`DyOv>A6c;lioXz!T; zd;{M3DU*kB*NnjL>pqLOpE6D(-iee+5-*uD?m@gU<#4`=xAhCp1I)`ydG9!ZH|7~G z{01`ycNXpoQYI&#aLQyeJsatyn}a*QePH1KA-)@Lw!y{wIKoN5ztfd+=d8lrin{}M zH|}2C8*p#Jy#+UTGG{w({EqOPUATASehT+q-2GZ;&Tdrg2%6q&%*Z}e6~3ScpOiPl zeEVo4Z^C9Dns)#!Dll2!-yGhvo;hiPo4*~Q7k@z_fbcsK7UDiVFaD;4UiOzIqTiOV z5cBi*B?3Ht@{M1az`9NFI}-}=mnNd$njqAn8RR!76yz^Ygx7_HZr*4nLQkfKu>z#5 zZgDON`G@+G4q(nLd8PQE9>y<3IX7H;?W}ak4fr4R>B`b8N-NUS%PT6%ub6&ix&$BX zbmFK3c5LL=XNssm<~=?snUwQ`<9O|ofIcMM_iXwPw65nG^nohGt-x(BNiQx7)B7Nu zDw~M6q)#~-q`T%Y;-LQFCFz&^wM}=xA54p)OVTgQC78$=ygp9m7lL&uO>m#pOsj8KwsOox9(rPboqB4i8SBKh~ySl8v-&gVS%= z5vK1zTD<&sO8+rFP5iZZj6ngW3%0$VH(=vBq}k-Uw9dx$`MN@16|R#+=uX#7;8p1P z32ZT9i2@lfH8? zkkKOi?+c7pzH^xdXESfH?@UGT9q!~R20!dO)Yocv@_YorZ-={k%iYP>Bk2B(?_iI` z{ggZT1|o0sohuOhoI7~|gC)K*2grZrPOd@FYxJE32rh9aFJtg--&v@^nql1tkK0}ZC{Yos`P#4@b(TGR$5&1BJpTq8jxe{YJ)9$pf z-;~%(sH*X5^EZAr61@NLQ`EY5`6-4D`DuopFF=oU z7CZhg@piu%>kFXh%^z8Bkc5=u2+rqd>it{t;|M?QP%Zt5$w$M$X;Mh%VRk%c{E&|K z!|f^OM`=*_)wzy`o_4O|on;+wLE;@y?<>)f{Hnye0N!(&KIkQ1t`GV%9RCRW;P*Hd zX}2)T(RW&;4<13vZ&1MI)T$PA$saQT!M;(g?Fjx%f}?@+%|d`-7eyfIqNh&*A@2k1 zqV5Gly6BJ6sLK|(G@n1$MbCB7vu|u%n7AM6J%wE~)?3d!VtS)qwzt+ei3iYIy(D|8 z_7L+Wgd0cp7$l)9{S?LiBGru0-w@B>#9P!c5r{hG=~F-=`#$NIza82!x1=1-1+(9G zu4A6-nE%T<=4nUNGj&YNo&4_Xgae<~yB&VHf0w}SH{o>`;CllT27NOUcn<-uH`Rsc zK0wn___fr8^HJ%#?4J)MoJU9r!>a#2$6L<9`6Mcqc(Jg}Ak1K4V+eJ2D42M0OdHeh z0OpY~jYOyu5I?Z$cq>@un8tE|^&s%QF^v@=*cQdM#bT$22=@?SrDVH@2nwzQ)F6>7 zSBK!*wQvijvRq6T{f}Uh=x=f0hoeZs%VY4nV(|Sj`0*J0XaJ9?t792L$B^myvO0_+JVcTU!cM?-{ zulGV|mtXI|3k2RzIiRR@cQDP%zG)l=6@La(Fpauy+?rTu_4o#aE=Srok@kTxJw&}i zv}_IWFmd#H$5R`y1R?qN7a?jBir9xLAb#%a5Pl5M5dwX{@(FwpKsD$5B@+<(3_{xo z^aI$N2JjVzzJbsQ0{?-#mcTLG4-mkt(XRyHySTqW08R0KOaLuT%p@=wz%l~U0Bi+S zf9AxLb2Nn;t6W)gn6v;%FA%5&@KXXSz&S&p6~OBW^a8kzz$O6Q1hxWrznNrk{v3oh zGwKwgb^}PjG$j9xz!(6>2%zMwNd(YivTh;(W@W7*Fdx7+A+!q6*AV4D0^t7;coM(? z0+{A!eV@P=Aguxd&jEM?ffoT(6Zi>$y9^o1+9VbuD8O3)Jj#mp0jOZoY5>m?SO?&T z1pWdm{<#F+2cU|;M*v9uJ^|p}jDdu5J}vb78T?lSzfIu(Vu3sf^2UJMkq3f6RRMr2QI|txg6bQ?mg^z8FTO|?M4kC#019z@OT#$nZ1A!*?_%4qd ze=(;S|Dn*G4e&N}^27(-8vw2{d93$7XENJxo2|Ng4?^yqd@OQ+in$G(x-cK+)CQ(f zV?X0eLE02kFt-jp?P6vaIk&DW0Fh-5f=yBIGYG=#BO;c3@}?Eci}KBj<;(krk@I5t z@_vC}lrR5ZM=lQYVGHcN2u5X&cpSl~%z}SLFv^>18Hu6h5^d3_A9J1NU!18a=cjuC zCO#?P0>(ZqU?pQ8BY1o&!H*I=_7o8g3)o8V8v@QG_-%qe>m%;_B(@jBr8$TOU&FC- zx2)&wBs1ysn&U`VstK=05DBBRm_YS#JCKlgP?r3_=F#IM0X@xqC^O+pn7umvjN4(6 z3)`_EjM&3U8zzLb3wJ}yb+J}8uLAMzZmMwNbD;_+zKD!a;h%3vIouE#>75-aoa_!& z_~#q7>V^M?_I*62!(*<9>F}6^!|U+Ju@2t}l@4@@!7m{g=oEv$MKI8*CyY7oEs-80 z^}J6b809^G41!VK^RGrQ%6tAj1)(k@@A+RqFv@$u7zCrd7jz>S*O|T(UsV}X9&C)* zjfh|eBG|16wlLHJ2YVOn5B;(&(Hg8-C47$-_>*FRJzC)Em<9H#BqFlF9xZUSAGg3B zE%0+UM#Rj3*03ZIJraBcM4UPtq=?B9I@J4Z_KzntGx_d8fkBNWPzO{p#^r1 z0Bd&2YOZs{sX;*X$N5iZS*W$hV>MRtG^eb_I!ChBn+3%SraX+OFz3=#pm$T8CDa|* zB#5t-a1Dp(HepE9`B2FGLJ-|i`icxa|n z>R z%Zq&X5Rs36QbfLQh{(sE6p?c%ibP(Nmm%^Z=*m zv|!|lz8(!y2)=GiG)OUcbu>slj^Ku{ySq%?jbJd)Ab8Pe1cQNw!M7q93^d4l(SJvS z6jCSL5e-rdejpm85KQMqgB0?nSJ^=dHY@!z3>q)Ny1mp7N&Yv+hrlC($(WeW5#=Qe z0WTc}LsFXfdWesS6PWl*cqG5vj>Kt548|gqI8nx;Uv5X@ZX_cC)SEuo`vNDc6KfI@Y+lx{B-1MEk!l# zWY?=g8B6^^uGZ3_uGV)VSBwACEAc^bweAyFD|ehK_YC$)Hb}?a%~rWv!Im!!tIy8n zP@kR6SslSR8G2Zok?~uhPCI|?yxDq6)y7OqK#2Y_FtSr6Kwk-~BU8UX(GRS`-2wUJ z7VDXh;l%P8iY31}6iY5_5(mTq9FH`I;VnOSR*U8PDwbB;AQj7F`PkLvvcnAUuyS~@ zJQj)NF<{+?ppIq^gZ~hT*^w zJ!GR|a%$OopzO~5sZdNPth~1nGCYp^WGXJE@+UB1hXKewFBB6-|MD*nBPN_8fS3yY zJ`__PRw&WGAflAZvynyD{GMWRKPv{T)zec)iEOb-{c7tLQs3gXZjnUf1q*w5PkA>= z#F%_t>C5}H2lYgjG|Z#VmA<^^vc36;`o0>!>j4Jy%q0MIo|*TFP;Rza_h@$3rRd1XRVUu+K3#oqko`zsgb{R=Z~uGWb~=taPK1{`jcS5k2lK zkH&crsicRPx6kIf!ej8OHhATXXxInx%z4qU&mhP7z@tU*4R<1M{$JR?*{{tK%4}|KU z+p5i)3wO+)5mW!UeKGZ)dvaLy=a$pFR5$^X;GS>-#^AL%BW)M(vG{ZCdl-~1z~KC7 z@ter=zlR>7^DzdmdlQ1Hy%IdYywVYv_xf@Mr6Wl2>*4f_$Txf|;5*TptQvHPHpF8qILLJqnU3AyAb9h|48AK2 z-p}CuVekVCJ{|^lG5Ba0{C^ z8y_)`v>S1@8{NG5Nuxf9tWH7AS z8?pa3)PlI@(}Ijjh8ASRJ!(Nl!9nH60h5;_{r6dywF78y*5OYvfQ|^J##3lL*er2; z+`O0pdE+B71M+QPBZpQD}S4Cv@N+PT&Cb1dOf{kKC-U)3H+x3{0&G7BBq z`5{yx>iUbX;9!z<5RuVZ-r}1X43}>gw<1UINkF)K>t0077(FZ04DJNewHl2tx%gQ~ z@pEUtW)xhYV+%Axo28mj7}Jc!?}=%~;!h8+8HJH%KqQM_h%}=xt{LNS2H%IA0^Jzr zERA%dFwzZ>STZTnjl!Y2K|<9eq}nmgsf}p|vS%HKto|M914U5nFiY;D50afi!p}6} zGEp0|~cg#8nWcW42BxA1d268L(mdvKw*8PAwN(JDLj~R`C-t-H=O<6$H*rBup0@3y^rjZsM*L5$N-)L%uUetg3n9PMM}YU6-3H|O!-Qf zGO{mBc@m8{AA|S#`%u8IfM!Qif_5ZDTXM!i11>y6dO6bHaGG?MaR4_=sP~rB;IItv z%X@38t^p^!=!Lidad=KZG9hO((m!&Vbad#PeV|?NHD)kV7(Q80hyRkruyFEoWXiX~ z;J=f59}a^*E~vvAj>Y|Lin^vn5Ah;6ONSf5O&dInhowKv-`^ivg^`b{Rk#qo=_E9& z6HK8aQ4u=8pG8Q*s3B7Q$KwP6d{q zR!C6Y3Iyw~4J`u5SZm-S-^$8pQqJHpl2NAu`5HdSpbi`eHhwpnlmofxXVIh_!RCT! zQjXxAJa7<9%8|E)tLwp}9KpN(E1Z;bgpo;k5gj9)l#koUSecZMTgF(Kl&4Dw%A|b! zHXx6aJm=@R=!fnm)B(d>FmY-9COb#&OeB1WolBSb z#5>AehR81hJDQlc{ug>iE_VZ>`S`+0(&MB z*fYSoGBjBZgWQD+g!Lr^cQUBLV({0oh5UQ2g&?^?OquNlx1Y#Z#J}fWNG$JY#sdC5 zAA-LLi(|A0(t-U7K2!Ur;dv73gIAXhm^3R;o)f1^TKN@a@Dlv)lDY z-R_USGCcaOa2V2NsTBXwN^vfj^Yh`Q_>Ykk{}I1vF)orKgR>|$SqpZ+w$2s?Rf-J$ ziKQtY}zrPv3mp?x-8_Y5ON_jXG0LN}D+=w6j# zae2y}QesT`hBHa=^c$G}le_b1f;$tTd0M_PO*c~7peYao=$adrim^_JO-$)PpGb3jG&#mVAsvPS#?D~ zVC_|134-0(2;$@kgSQ&feS=OeARFY9qmcqiK3U%ng5B?f_~A-0$b3Ix@I5xzQ%_fd z=KG7#ul(acnxN_eFO<9BU7z5d`G{;J$T8mC&U9!7YTk2@qxXoJBkNk%8>dv7V%8w< zkU`pAK;;^j7b;ib996C)* z!z8pqHtj(_JL1t|Q9lYA$JAp9r*EQEH8-WSoC zZlOPsd?!+{#ItS^y}Rhs9$NiZ_QM?Lpy-1|Ibk0hQw%NZVnO)f9Q5of_~SZf{6(Au zsyAkg)8Zf#b_z;rQ6Fq&nI|z)j~VH-0GxuTW(IGSAikPfw+X?*UxvX)vXENltOxSv z*vz9KRFZ?`lzR~atFo>ieyHP+~uTkt#gpT!rWt90!3hl@3f^5I9YWaYi{)3JUYQg7F2ToY77S zEpdxYUfwl`f)oM}W1(MZyn{5X>H-*%Av2XQHeeO9hMz5%Y+c7a)QN5%V2qVIkv3OhoOUj-oio`txm<;H#`4-SHoiM9EElUK`e8q3=97Z+Kx@m zv#yoU?Lbu2?U5HaQ3pvyX=qu{J)p{vX(@UV^_uFQmQGR_sXEOw&y3>Ll4sVH3R+?rgLcY6Xy*Au2fI@v{eh{O5w${?I3 zfTOf|FhirICXGJLVv2Hu`j3JjMp=f8 zjtCH`P+9qM=Jz$k6%p$z<_g<5GSZ8fd1gw)6=egsK@B>M)sE{!d`OF!b2e&8OlhFS z5l3FRo}A;$%epU-iu}o~${)4=L`s7Z;*6as;0S%Y*AR35hfJ;=robW&WM`4}{e2h& z^FsSeUnCgK&R}iS4%5pBrVD>IY=T0hh9A0ZhYAMm7;`w7{ds5+y`I5Z6zA4x>*$1I zdC1`Q&)a3s}gq_|15U9;;Y~EwRLYTiM8)w_D>Gu z|8?3Rw)X5~I0vz@C52qO6_}@65Ba4g*to;Ox{!wGM%ewmf{D=Bk>@#=l7QmbRAe(guWhx&KBq_pu>pW$hi^WlgP(cbBc~X=!Z~ za2o!h(zG@B59p;8)9{a$rcW!cm{vZ0+RW)QD;icdPU~o2+tk_7Fs-t;cUo6_b9ZxV zdwq9V_v((awe6jEPwQG$-`Uhyc4q@H_`jN7-?gT#v*OCjD=)8{)>%=Z33XRYTiIFP z*08FqwPhtx%Sua`VE*9MDeLHHs4TyHT5C&NPp_2S(AnPA^@^${94YOcc}3k7l}e!0 zwq40doy%I<8d`fAoBptM?^@T@+1}pWRd#1nTT^FC!)dtQ)75FqFXMk=|5H~2KVc#A zoDR){7It+vHa0bvuA=gFuj^>)0*J3DfYZ_r5QhXT`l*w|hr&oavV>n?CoEqT+M9 ze9k)m&ZF(0T$g{8_8!P{x+hP(-TRhV7U(j5I_sRLan93tm7e3DUYECcf1mA)_134G z=Ug;pvUlLVQg3nkVsBmA%PI9PPEVRXsq(6c6DNBgbKFZE@2<3We(A&t?}4}7?-eeZ z=;fBq@t%C!?6UGnL@!+A{ld6YoQZFk=52ag=|z)^Z=KUP3IE_A`^cng0M}2+{^q2M ziZAj$^|og3%Vzcz*B770lM|liORsS+y{w_Vt-0mSGCKd$nmh2RW@BSl^NhgdYiYZ) zwF%B0CnDm+{pTTXvNLw##Eam-O*F3WCQI?WGmS?Jp;kWbkw+3g%HZEK36Hx3X#-=| zr}1sW+nw2XZg#rm2|Naf*p+1RHzoN$oMlOTnTX$2UWR8u=^{Kw&gSzx5;`w=GoJXz ziLUP*x*Mb<`cq?=LCLEi9P2`lH$)}?)N(PmnJ8W>DMHi@vLIyujS(gJ{FLt zkD=zC|Af$f(kW&9>)4hFvn8wNf7Ss(&;K0LJb#8&GHvS(FQ zQE?Hma<0RpFezG+KzZrpbfgqB7IniDKY|S`mOP3<>0F~r)5&*CyBfjlX?VEoBWbDX zw1)tepaW55W@9ZyDL9Af#PnI#volRZMb`IR!F>Q5y z!>X1xT19AT*ANSN;wi}bf=Lsm1%jibJP{HFmqjR>P#z&H9MP)bks^o1vW;Wh1U`zH z_fkUB2$d`%qEpJJTe>KDvFj+0>&|{2x4tSK|6=Fw&f^l{pL7;ic+SW0Jdd&XpM}NW zILp-7tnO)z%#x1qI+_pF+n2Wft~M%}q$No9+*wAoo6wrGf@BBzHpP*wFv!hhYt zqlgchE`{y_lueW5!(85sw|f~LPI8|FvMxg`ZJGOeJksJS1a=7FD;Bw)^bijfJR3)q zuAY^V_=Z@TUu}WJE}VE#nYvGWj z_z_a*2$CyMH|!^8a>F|4hP_|iu)i1g<6BO07UI4oHS%Rhx|mJ6K^(C49Lw&S&BnaX zxgXDMQrnM9lRhTT$0X)c;)cB-@C)jOy%4xzaHZ%YSvTx@al;m{@;CBv3m-Ks;nU)V z?GdK^gSuf;SpFr}4f}$+VQ{6$*Bx-f;MjTo2h|OGP{dP0QM`dIxRQ@+7`%>d*q4Rw z*W~$}x?%q=fqxV}?3JqjA3R-uDNB7b>-82s?hrSuJn{v_4ZDo}vMkdL8zCL$n`fK7 zYi{Z7YVK+YW-n(pcmq`&L?%v9t3~$6bYK)&c46u4ByCW#D45MTw+chPb=EP2`#D`L zUCpnIC4FQG+D-MeZVQz!YgzL4oAJ)(d@ElPN8Ar^B+xHr3J}Vj9)AmYPi(j!0Sc`ECyvSOVym1aa`&Yry3gQpp zWa%Q;l|c@_H^f2itn*Q@;LsQ@IK;bbV|&lajMWGHQZ`4tX_F>Qz+CF$vS|~&b)^>v zel`v1hsBQX5M%hTJa-09jDVj15vLr_y=r@(7FCf@6EKd@7sv zeov~9mieU)-xo9YgAQCY55G$#s}>)Y)*KC5-$=}_gykDuR_T6u zZgC$1{9~!gk6kpHfk{$a5$By35%rMs1V${@W~H>dk<7Z2kGuKkVzoXbBpwu^A8|33 z5q*MmwPG4{umNKnMNz>q7&*R(-)q2F>T>?;`9E-;W**P~t`5ORq{44^#dny_s>o2e zfL2b%`8Sf_n_2s>h>AQXMStCGrgnV8rFJ~zaisPWJZy;1Ndl8U18(+K-kEP-O-(H&REVrI- z;_NgESWkJSMj^KqMuCefo52BBI3PVEn>-#vfyuObeDY3!zlFav+(xn$rFpF7u`hUL_Njk ziVq3#V_2o|6MR7HxdKp{Y`PKn#YJ-_)*~WE`u6RJ=9-JkhWOIjEau5Mf=3>kENcq6 zBr$?3G9wwM>!OSsP2Cy8xGUH%uHP$YaVz#RpcMXFwVVJ{gi}<*ianc2D zA~cVMFC}yvYQ`p=&#Bn?tYaY`qlCjn%qnX`6Nx*4x$xUT;2DEectq|M(62AsiK|KV-E zm%LppIm*qtk#_uy798o04icvyAMTrQbwxNTxNk+4kx6&PXxVJaz6`<9c8PvB0tp#A ziU?KlArSpaN$}sw5hEC3&iB^S8lF$jz$MCQEGSZH*>R`Q3g1dwAdXUCMZ4WBonDMP zJGBaHXs=YOF66TEh1e!8nJ~>;UwZMxX*Y5}3m4Y7Q%84ACl!AyuQ4W=&QAW_;q2s} zb$0T0al`)t11aYsoSnR1Vz!H8{vmP99}H(FG!`#EJGt^Apv7hx!Qvce83j7a`0#0F z86VSG#`krW@rZcj$AhQLGLG9>#sf0T_;NJMxC+!~%J_7*%rgE?W*IxAF&~x2d`ud% zUuGF!lUc^sg;C#=S;h}!mhldkEO@&-H;X?`e;G@CGRye6RORRDj{iKEWfW8AFDBBF zaF(Il)vfFj?R<3caW8rNQ6cd$A^LGU%eX{*!Kw5))H$K6^M+uS@qcBO@mw&=_$g)? zn8UI|0K(+X~%mQAJqQ9-Pj2C4}@Tkl(9@S<& zDzl8ob(Zl@Qrr8TW@LY-l(bpP(|N|cWm=b~gL%e#rG%|Q^!+FYo*!E>m(a3sp7ADH zlREJ`>tpi_XM|XXvvI+&argzpp$^rg1svLkEEtZZ+$P|3LFR%X^ugfwEYHeyt*(~F z;T8;sVaXn{1ns9ivd$&7H-AP@l@jR zvcEWGm&`O2pptiNmnnp=y<1xeYdA0ruu9K#x`Inu)X zY}wb!V>$Vh*@&m{7|juROlk6+!BUv}WwQRRjE_*izr!#1m9y znIBrohh+9cC;StS*5+x^=WXFfM)t%he%sXhv2niP70jMQFF_8Rxl0MrL2xIO|NXeY zEx_;C4d8N&zhN$an-u@Pg%5stgx9XQ1?dG3xeq%Z@kY&k+Z%HW%y(b>&fL74zw_dE z@#~>O^A;m+cFOtTcDy$u@4|2xA+YC zSl1`;3#|CDDzi=N8kBYu>iXh$4$aNG>Cksx9Ja2N$b(;Qy`&HCJ#!1n=jF^b^B!{N zp{fhm;2r*hi4P|~l=T)Z|JyHo3y8S*)1myuSNwFW@w-;FcXp?_rFmytQ)8OHJ*!cK z>K5Ko2idf=)%A2WHJaA;wmZ}E$iTnh=3CR(rbWPMd~8@ze#P`F(<4cAU@=1_%bMb8G#bT@uL>R)RC8ZgqX<-A$bu+u4NDq~O-}hPzE& z1O63pLwjq_>NZo?(XKd3PV;twjF7v2VfA%?Y_3Kf{gr$Y`m*0$W*P_mgizX|3^8@0 zgwjChOba;B(?%VfE=a;D@^t?7{3h`a-}c|{SgAILhezw$;Hg3*I_euM^o0g6G(%sN z`no(+EA?Hakt%9cL@3`CmDH`~me!`WcH}|~!|0$Z>l^Ow=}>)=&KeSvu4*ZY_M!CE z?fB4@`Gkq8No%_6vFC18TzWl~S`tCBy+=!;T3Q81mlhqrb^byT!L3X54ejUQlSa%X zQOm}1KCr9TGQ+HDxpNglt1Ha>rCsnW8$h&fH4*NS2N@(>>Olt7vazKSm_2PR?T~(5 zCviG~1M+w@_41R23O?!@+uP8hI{kzJXLIjtGg$ts;A1);GfZ=5{U71OR z31sTtRM(6ShG)fV&6p12Z+NyDwnL6NzsBo}?yHA+>*^GIjn_9iODTQ~&sE}gD4Kff zVXj}>IxXW)a5Aq0V`5!b)9RMa`n510VUmUEkajhn4Gq$o(v{!<3Q5i%Sd=D)@ps0~8f@Go!5`9S4Y%Ts&?4iE^!F15+Clh4<-4${?;Q;n=L zT7xHCE>s*a1~V*IzQ!9Mbrfxr0}!wA+S)@Jbt^?d8syp4-O_M3oQKBtwQwAfauy6} zfzohDV;8SmkN;Oz*L8PG2WEk<{RUuQvkg%2HLf-?KbP+Xg1I`zxYxE_2?j9PK?;X6 z%&^XaT5|x4*IUD{@tSAuFV)q>!Z75~w#aL|8Bs;Wq(kq)eeQglrnWV(Ep=Rit*h_s ztY3$9zWUB?Q{QCGk4}?+W4phS%#&a>)aJ?E|C{zv8qv1vEAR0cV2miQ^G28-~VA z#9w8cCGs+6qjA~+Zp6J=V*!O%ys+UK5+VYaJWOFs&kibv;NM0@Sv(uIq~u*`-13J3VF}r7G|p0ak*t?9fOr6` z2jlJK02S3szUcw~%^7l-Eky~rAe)l58If)}Omf)+{_V`iCOWOL@HT||qcCZ>Peox% z#*j{LRKC#J6NM$;jwp;nM8=yRg)JTa`%Zii!gfHV0B^*-EedDgEig&&QuNN^*|1jy z`muDI&ny5`Yna>yo}kTdcFz4<5Fp_R2BD{iR?iT6MA5F z4`S9xj1ZkFf)k?E3Q|Nh#_Mp{9W%*EKaz&^8@D2sF3OT^lG*7srU>zD1z3yly%G*8 z9fmDk2wp53gpc!cWFPgw*@e4bv?L%*g$Za9!SaAQW3SBs4yzj3sBHj_h}zm1NDMnu z$|=al957zb+t`i+D6u3{FOMP$e-tGUz)(dEI7@8~FH-GOk)Z14XohqUH0GE_oe)CO z6>VnbMFx^%iKs-aO+v6ALd%y{Sxt?#SyEFO{W6}HZ31O>7EpG%SOeT%_z5D#!bA8d&qcyEzL$1y>exAklj6jC~y};EMCSd2~Yt@ zcO0hdIH!=?Jt?j7KrraP@tV2Em5(e2y&EjG7i=I~$TnMDjui%5E2*_nDnNUQS=g)P zqOBm6Krf#X>y3h;Eb#gTBWsPx9T*rl7-y?mpRK6h6UO^XvI&5cy*w%#puN0jfpJK4 zk)J1Ru9KPzO|=Fml|m$#Rs+Sa!hJ$OcP13!c?H1-Y7`K>B5gE4k>?(X_0fg|h$0p* zlR$Te;PEnvjT#GHCHe$JS$d`L+NPGV3Z=G2MiLc3Z(s$yS^+uK`Hcel8v&xSK#)?i z1x#d1ao&0g+m;KIL{M(5bD>oHQ$v%}h5h-r1==$fQJ@Jn2?J0Sg1c~|DgcES#}qt< z;Bg(H$re-)2vR|erU3n3+#3YJ--sG)lvrC4AcPl7h1S9OlTx=Rh*Ei)jjrNM%?{9J zk2#8HgE6oiE<0*X}164QHLcK z8fRP-jQ-;S$z3k7co`Q>rB+Z>PiQO(qpfD_Nwg+gVnu4R6`YM&G!+PVQF79UAvN!q zfFiXbL4XZ1{(J@J14I*1e$XB<>CYpmmBh>Vs5f6N-HLmUY6X-OT|*~0hXA82DhnFvj4{qKc^PM_#5$<0wH~biH)!kzfZG*!JHW$I zhHw`e0b*`7Zm<+3yTFC6NNgWKaF?+GcZrLF$z8;HV{sR0)hwqOJsUST4P@c;aw*wc zj$otaL)BpQrAcD_cc`!F?L_>(ApQVg2!=$Cfwf~$=m3>*3~opX@gk*-3T{O3S&Q;4 z0>_n%hy2b0z&?#O_5uYM8}V~C1KgqD z4uA)w!R8=9v;f@ZhZ9aVqNKlN(Y)Aop2(|Q4qQ6l=C=vuEvCjj9G6Ny7 z4jeK>Fx46hX3#Ve0Y#w45VRM*!=Z&|9=8(rOaX1G@c|V{MQoH9mSrY+uURiM7U?=5 zkG45`aX%YNf(AMJjMvK{6o7OYvJN%E&=8WaN>BCx%R3NDf{?t!LLFQ%zVhB`ATo&7 ztq96Utk9++KD>$np;3&Qi5uT-Np%2-l|Ve&Ov6YNns+$D1f}~eP;du={R*-ZWeX@> zs6@eX#8w8B0f@vv!{3M-_J<&N;U5*y$_BCF)dy&&3T7ujX>-D#rK%RtFZUQXtfU8{Z6Z#SL!`=o$~5Lf6pvgCGa%M0~uB zo7Q-|$s>ukwGed~rs!JLpg!P%xwS!ITQl?uj)%+*>8b9)-5=PAL%@c5A==r5d#gs{ z%?>QltRQ+UFoHS}46jNcLb%XxY2j`Kk%t|gTA!A75Dc$!q~?o_l{~!)viMyJGW!t$ znVrf*>%I-QBDi}2?vq%r81%~p98A9kRJxTYK@vSCf)}FTBVvW%iT0`i07Q)CkhdTL6p?L{Sf@|(5W!wS9;i3-u*%eQ5GT(Gl06zLH7=G|w;VM_ z_XdJ+YOjEnCI<`(lAaF{w<%Agm+vy-MTw;LYrGW|(1YeH3oW@`0O0U)yg-;$WTQ`@ zjBbfVO{I!JkSanz1X=P91u4Nj3hq@FkXUe`rUw1kUpHWAFDr4+7rha8q&gUV!2{!9 zIw?c3TLps4#cs&xvrWN1#O|^vdl1-b11OaO#sGkqaSy2C9sqd6P~E(-xQhdJpyE`4 z*k~aPtyFnv{SxcdyAA3n43kRsFmX8>wa8V7-m2hMfT%b{sMS* zMw3x7Vg&WGrCNz0#a<5j0p-CCzYq68?d2&@OABZbF|HYdw!}MrHKJ-W%#v8ERwV~c z(&o@;0FO2&me+xHz(RTV_ELD8aO3xN*1r`2dpX+>*=M}9g3*TnWYinSaH~KTjJpxJ zEaMgt4*0@&d%0DJhc-fJL9)m%kQrj_ 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