From 5198e67dbdbb8525cea236bb14e5152789697dd3 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 7 Feb 2018 15:16:16 +0100 Subject: [PATCH] made the detector ip and detector mac update client in configuremac --- ....1.16.0 => eigerDetectorServerv3.0.1.16.1} | Bin 293060 -> 293060 bytes .../eigerDetectorServer/gitInfo.txt | 8 ++-- .../eigerDetectorServer/gitInfoEiger.h | 6 +-- .../slsDetectorFunctionList.c | 17 --------- .../slsDetector/slsDetector.cpp | 35 +++++++++++++++++- .../slsDetectorServer_funcs.c | 31 +++++++++++++++- 6 files changed, 70 insertions(+), 27 deletions(-) rename slsDetectorSoftware/eigerDetectorServer/bin/{eigerDetectorServerv3.0.1.16.0 => eigerDetectorServerv3.0.1.16.1} (68%) diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.1.16.0 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.1.16.1 similarity index 68% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.1.16.0 rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.1.16.1 index 484256ceb837fac03767a4e5f8db9ef91538fb4b..ed605b7e6dbf6527a82e8845fb7117be84e3325d 100755 GIT binary patch delta 28460 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 aa}|x^8DoIIw2_yLfgzi0bz_W9{r?wLC-E`> delta 28129 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,sizeof(retval)); + if (thisDetector->myDetectorType == EIGER) { + //rewrite detectormac, detector ip + char arg[2][50]; + memset(arg,0,sizeof(arg)); + uint64_t idetectormac = 0; + uint32_t idetectorip = 0; + controlSocket->ReceiveDataOnly(arg,sizeof(arg)); + sscanf(arg[0], "%lx", &idetectormac); + sscanf(arg[1], "%x", &idetectorip); + sprintf(arg[0],"%02x:%02x:%02x:%02x:%02x:%02x", + (unsigned int)((idetectormac>>40)&0xFF), + (unsigned int)((idetectormac>>32)&0xFF), + (unsigned int)((idetectormac>>24)&0xFF), + (unsigned int)((idetectormac>>16)&0xFF), + (unsigned int)((idetectormac>>8)&0xFF), + (unsigned int)((idetectormac>>0)&0xFF)); + sprintf(arg[1],"%d.%d.%d.%d", + (idetectorip>>24)&0xff, + (idetectorip>>16)&0xff, + (idetectorip>>8)&0xff, + (idetectorip)&0xff); + if (strcasecmp(arg[0],thisDetector->detectorMAC)) { + memset(thisDetector->detectorMAC, 0, MAX_STR_LENGTH); + strcpy(thisDetector->detectorMAC, arg[0]); + std::cout << "Detector MAC updated to " << thisDetector->detectorMAC << endl; + } + if (strcasecmp(arg[1],thisDetector->detectorIP)) { + memset(thisDetector->detectorIP, 0, MAX_STR_LENGTH); + strcpy(thisDetector->detectorIP, arg[0]); + std::cout << "Detector IP updated to " << thisDetector->detectorIP << endl; + } + } + } disconnectControl(); if (ret==FORCE_UPDATE) updateDetector(); diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index eb3b99eff..e189d2133 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -3479,6 +3479,26 @@ int configure_mac(int file_des) { cprintf(RED, "Warning: %s", mess); } else { +#ifdef EIGERD + // change mac to hardware mac, (for 1 gbe) change ip to hardware ip + if (idetectormacadd != getDetectorMAC()){ + printf("*************************************************\n"); + printf("WARNING: actual detector mac address %llx does not match the one from client %llx\n",getDetectorMAC(),idetectormacadd); + idetectormacadd = getDetectorMAC(); + printf("WARNING: Matched detectormac to the hardware mac now\n"); + printf("*************************************************\n"); + } + //only for 1Gbe + if(!enableTenGigabitEthernet(-1)){ + if (detipad != getDetectorIP()){ + printf("*************************************************\n"); + printf("WARNING: actual detector ip address %x does not match the one from client %x\n",getDetectorIP(),detipad); + detipad = getDetectorIP(); + printf("WARNING: Matched detector ip to the hardware ip now\n"); + printf("*************************************************\n"); + } + } +#endif retval=configureMAC(ipad,imacadd,idetectormacadd,detipad,udpport,udpport2,0); //digitalTestBit); if(retval==-1) { ret = FAIL; @@ -3505,9 +3525,16 @@ int configure_mac(int file_des) { // send return argument if (ret==FAIL) { n += sendData(file_des,mess,sizeof(mess),OTHER); - } else + } else { n += sendData(file_des,&retval,sizeof(retval),INT32); - +#ifdef EIGERD + char arg[2][50]; + memset(arg,0,sizeof(arg)); + sprintf(arg[0],"%llx",idetectormacadd); + sprintf(arg[1],"%x",detipad); + n += sendData(file_des,arg,sizeof(arg),OTHER); +#endif + } // return ok / fail return ret; }