eiger server bug fix: in 10giga mode always used the 1g ip (dhcp ip) if detectorip is before tengiga in config file

This commit is contained in:
maliakal_d 2018-03-20 16:36:45 +01:00
parent afac5be3c3
commit 59ad15b54e
5 changed files with 36 additions and 23 deletions

View File

@ -8,9 +8,10 @@ INTRODUCTION
This document describes the differences between 3.1.0 into 3.1.0 releases. This document describes the differences between 3.1.0 into 3.1.0 releases.
Detector Concerning Topics Concerning
================== ==================
Jungfrau Jungfrau adcphase
Eiger in 10 Giga mode
Resolved Issues Resolved Issues
@ -21,7 +22,10 @@ Resolved Issues
1. (Jungfrau) Bug fix: Same adc phase given to the PLL will still shift 1. (Jungfrau) Bug fix: Same adc phase given to the PLL will still shift
adc by one step. One can now give same adc phase repeatedly. adc by one step. One can now give same adc phase repeatedly.
2. Updated Command Line Manual for adcphase and clkdivider. Updated Command Line Manual for adcphase and clkdivider.
2. (Eiger) Bug Fix: This bug was introduced in 3.1.0 release.
In 10GbE mode, if "detectorip" is before "tengiga", the detector still
used the 1G IP (DHCP IP). This is fixed in this release.

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 8b02aa9e91bbee0470492dcf1ff67415851e14fa Repsitory UUID: afac5be3c3674fe87044d3b7a54471291698d4ba
Revision: 315 Revision: 316
Branch: 3.1.0-rc Branch: 3.1.1-rc
Last Changed Author: Erik_Frojdh Last Changed Author: Dhanya_Thattil
Last Changed Rev: 3455 Last Changed Rev: 3467
Last Changed Date: 2018-03-08 16:44:32.000000002 +0100 ./FebRegisterDefs.h Last Changed Date: 2018-03-19 17:26:38.000000002 +0100 ./FebRegisterDefs.h

View File

@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git" #define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "8b02aa9e91bbee0470492dcf1ff67415851e14fa" #define GITREPUUID "afac5be3c3674fe87044d3b7a54471291698d4ba"
#define GITAUTH "Erik_Frojdh" #define GITAUTH "Dhanya_Thattil"
#define GITREV 0x3455 #define GITREV 0x3467
#define GITDATE 0x20180308 #define GITDATE 0x20180319
#define GITBRANCH "3.1.0-rc" #define GITBRANCH "3.1.1-rc"

View File

@ -39,6 +39,9 @@ char mess[MAX_STR_LENGTH];
int dataBytes = 10; int dataBytes = 10;
int isControlServer = 0; int isControlServer = 0;
int debugflag = 0; int debugflag = 0;
#ifdef EIGERD
uint32_t dhcpipad = 0;
#endif
/* initialization functions */ /* initialization functions */
@ -64,6 +67,9 @@ void init_detector(int controlserver) {
if (controlserver) { if (controlserver) {
isControlServer = 1; isControlServer = 1;
initControlServer(); initControlServer();
#ifdef EIGERD
dhcpipad = getDetectorIP();
#endif
} }
else initStopServer(); else initStopServer();
#endif #endif
@ -3488,16 +3494,19 @@ int configure_mac(int file_des) {
printf("WARNING: Matched detectormac to the hardware mac now\n"); printf("WARNING: Matched detectormac to the hardware mac now\n");
printf("*************************************************\n"); printf("*************************************************\n");
} }
// always remember the ip sent from the client (could be for 10g(if not dhcp))
if (detipad != getDetectorIP())
dhcpipad = detipad;
//only for 1Gbe //only for 1Gbe
if(!enableTenGigabitEthernet(-1)){ if(!enableTenGigabitEthernet(-1)){
if (detipad != getDetectorIP()){ printf("*************************************************\n");
printf("*************************************************\n"); printf("WARNING: Using DHCP IP for Configuring MAC\n");
printf("WARNING: actual detector ip address %x does not match the one from client %x\n",getDetectorIP(),detipad); printf("*************************************************\n");
detipad = getDetectorIP(); detipad = getDetectorIP();
printf("WARNING: Matched detector ip to the hardware ip now\n"); } else
printf("*************************************************\n"); detipad = dhcpipad;
}
}
#endif #endif
retval=configureMAC(ipad,imacadd,idetectormacadd,detipad,udpport,udpport2,0); //digitalTestBit); retval=configureMAC(ipad,imacadd,idetectormacadd,detipad,udpport,udpport2,0); //digitalTestBit);
if(retval==-1) { if(retval==-1) {