diff --git a/RELEASE.txt b/RELEASE.txt index 9c4042e6f..8b1378917 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -1,113 +1 @@ -SLS Detector Package 3.1.1 released on 2018-03-12 -================================================= - - - -INTRODUCTION - -This document describes the differences between 3.1.0 and 3.1.0 releases. - -The conda package of the binaries can be downloaded from - - https://github.com/slsdetectorgroup/sls_detector_software.git - -The Python interface to the software package (including the package) is at - - https://github.com/slsdetectorgroup/sls_detector.git - -Manual (both HTML and pdf versions) are provided in - manual/docs/ - -Documentation from Source Code can be found for the Command Line and for the API in - html: - manual/docs/html/slsDetectorClientDocs/index.html - manual/docs/html/slsDetectorUsersDocs/index.html - pdf: - manual/docs/pdf/slsDetectorClientDocs.pdf - manual/docs/pdf/slsDetectorUsersDocs.pdf - -Example including binaries for detector and receiver user classes can be found in - - manual/manual-api - -User documentation can also be accessed directly at this location: - - https://www.psi.ch/detectors/users-support - -If you have any software related questions or comments, please send them to: - - dhanya.thattil@psi.ch - anna.bergamaschi@psi.ch - -If you have any python related questions or comments, please send them to: - - erik.frojdh@psi.ch - - -CONTENTS - -- Firmware Requirements -- Changes in User Interface -- New Features -- Resolved Issues -- Known Issues - - - -Firmware Requirements -===================== - - Please refer to the link below for more details on the firmware versions. - https://www.psi.ch/detectors/firmware. - - Gotthard - ======== - Minimum compatible version : 11.01.2013 - Latest version : 08.02.2018 (50um and 25um Master) - 09.02.2018 (25 um Slave) - - -Can not be upgraded remotely. - - - Eiger - ===== - Minimum compatible version : 16 - Latest version : 20 - - -Can be upgraded remotely via bit files. - - - Jungfrau - ======== - Minimum compatible version : 13.11.2017 - Latest version : 13.11.2017 - - -Can be upgraded remotely via sls_detector_put programfpga . - - - -Changes in User Interface -========================= - - - - -New Features -============ - - - -Resolved Issues -=============== - - -Known Issues -============ - - - - - - - diff --git a/serverBin/eigerDetectorServer_developer b/serverBin/eigerDetectorServer_developer new file mode 120000 index 000000000..cdf68b803 --- /dev/null +++ b/serverBin/eigerDetectorServer_developer @@ -0,0 +1 @@ +../slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer_developer \ No newline at end of file diff --git a/serverBin/eigerDetectorServerv3.1.0.16.1 b/serverBin/eigerDetectorServerv3.1.0.16.1 deleted file mode 120000 index 2c90d8002..000000000 --- a/serverBin/eigerDetectorServerv3.1.0.16.1 +++ /dev/null @@ -1 +0,0 @@ -../slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.1.0.16.1 \ No newline at end of file diff --git a/serverBin/eigerDetectorServerv3.1.0.21.0 b/serverBin/eigerDetectorServerv3.1.0.21.0 deleted file mode 120000 index c40e61628..000000000 --- a/serverBin/eigerDetectorServerv3.1.0.21.0 +++ /dev/null @@ -1 +0,0 @@ -../slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.1.0.21.0 \ No newline at end of file diff --git a/serverBin/gotthardDetectorServer_developer b/serverBin/gotthardDetectorServer_developer new file mode 120000 index 000000000..e79cc3f57 --- /dev/null +++ b/serverBin/gotthardDetectorServer_developer @@ -0,0 +1 @@ +../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer_developer \ No newline at end of file diff --git a/serverBin/gotthardDetectorServerv3.1.0.1 b/serverBin/gotthardDetectorServerv3.1.0.1 deleted file mode 120000 index 499ae8c21..000000000 --- a/serverBin/gotthardDetectorServerv3.1.0.1 +++ /dev/null @@ -1 +0,0 @@ -../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.1.0.1 \ No newline at end of file diff --git a/serverBin/jungfrauDetectorServer_developer b/serverBin/jungfrauDetectorServer_developer new file mode 120000 index 000000000..447282d24 --- /dev/null +++ b/serverBin/jungfrauDetectorServer_developer @@ -0,0 +1 @@ +../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer \ No newline at end of file diff --git a/serverBin/jungfrauDetectorServerv3.0.0.12 b/serverBin/jungfrauDetectorServerv3.0.0.12 deleted file mode 120000 index d74eee6d3..000000000 --- a/serverBin/jungfrauDetectorServerv3.0.0.12 +++ /dev/null @@ -1 +0,0 @@ -../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.12 \ No newline at end of file diff --git a/serverBin/jungfrauDetectorServerv3.1.0.2 b/serverBin/jungfrauDetectorServerv3.1.0.2 deleted file mode 120000 index e5ad646f3..000000000 --- a/serverBin/jungfrauDetectorServerv3.1.0.2 +++ /dev/null @@ -1 +0,0 @@ -../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.1.0.2 \ No newline at end of file diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer_developer b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer_developer index 5e0f545e2..e95c3395d 100755 Binary files a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer_developer and b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer_developer differ diff --git a/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt b/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt index bfe91ab6f..f8ff0bed0 100644 --- a/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git -Repsitory UUID: 06cdf8ad9204fd306cb1017b91e67452c61715d4 -Revision: 323 +Repsitory UUID: 98752e1cdbd78167ad20c6a01a17852b1a2263a7 +Revision: 326 Branch: developer -Last Changed Author: Erik_Frojdh -Last Changed Rev: 3671 -Last Changed Date: 2018-03-13 10:28:12.000000002 +0100 ./FebRegisterDefs.h +Last Changed Author: Gemma_Tinti +Last Changed Rev: 3733 +Last Changed Date: 2018-03-21 08:34:29.000000002 +0100 ./FebRegisterDefs.h diff --git a/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h b/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h index 00181c6cb..6f11e61ce 100644 --- a/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h +++ b/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h @@ -1,6 +1,6 @@ #define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git" -#define GITREPUUID "06cdf8ad9204fd306cb1017b91e67452c61715d4" -#define GITAUTH "Erik_Frojdh" -#define GITREV 0x3671 -#define GITDATE 0x20180313 +#define GITREPUUID "98752e1cdbd78167ad20c6a01a17852b1a2263a7" +#define GITAUTH "Gemma_Tinti" +#define GITREV 0x3733 +#define GITDATE 0x20180321 #define GITBRANCH "developer" diff --git a/slsDetectorSoftware/gitInfo.txt b/slsDetectorSoftware/gitInfo.txt index e94fe0436..20f82575c 100644 --- a/slsDetectorSoftware/gitInfo.txt +++ b/slsDetectorSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git -Repsitory UUID: b58c3e8951625ed9124669404f6b68aca340a1b8 -Revision: 1842 +Repsitory UUID: 98752e1cdbd78167ad20c6a01a17852b1a2263a7 +Revision: 1846 Branch: developer -Last Changed Author: Dhanya_Thattil -Last Changed Rev: 3727 -Last Changed Date: 2018-03-14 16:10:22.000000002 +0100 ./multiSlsDetector/multiSlsDetector.cpp +Last Changed Author: Gemma_Tinti +Last Changed Rev: 3733 +Last Changed Date: 2018-03-21 09:01:24.000000002 +0100 ./threadFiles/ThreadPool.o diff --git a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer index 7fed40ec4..aaaa788e6 100755 Binary files a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer and b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer differ diff --git a/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt b/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt index 2cffea544..d4c24f7db 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git -Repsitory UUID: 06cdf8ad9204fd306cb1017b91e67452c61715d4 -Revision: 122 +Repsitory UUID: 98752e1cdbd78167ad20c6a01a17852b1a2263a7 +Revision: 133 Branch: developer -Last Changed Author: Erik_Frojdh -Last Changed Rev: 3671 -Last Changed Date: 2018-03-13 10:29:31.000000002 +0100 ./Makefile.virtual +Last Changed Author: Gemma_Tinti +Last Changed Rev: 3733 +Last Changed Date: 2018-03-21 08:34:29.000000002 +0100 ./RegisterDefs.h diff --git a/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h b/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h index 00181c6cb..6f11e61ce 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h @@ -1,6 +1,6 @@ #define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git" -#define GITREPUUID "06cdf8ad9204fd306cb1017b91e67452c61715d4" -#define GITAUTH "Erik_Frojdh" -#define GITREV 0x3671 -#define GITDATE 0x20180313 +#define GITREPUUID "98752e1cdbd78167ad20c6a01a17852b1a2263a7" +#define GITAUTH "Gemma_Tinti" +#define GITREV 0x3733 +#define GITDATE 0x20180321 #define GITBRANCH "developer" diff --git a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c index b8d0f2f07..bcdd99749 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorFunctionList.c @@ -1250,6 +1250,10 @@ void configurePll() { #endif u_int32_t val; int32_t phase=0, inv=0; + // ensuring PLL is never configured with same phase + if (clkPhase[1] == 0) { + return; + } printf("Configuring PLL with phase in %d\n", clkPhase[1]); if (clkPhase[1]>0) { diff --git a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorServer_defs.h b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorServer_defs.h index e9657d6a4..61b5e7b31 100644 --- a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorServer_defs.h @@ -101,8 +101,8 @@ enum NETWORKINDEX { TXN_FRAME }; #define CONFIG_QUARTER_SPEED (CONFIG_TDMA_DISABLE_VAL + CONFIG_QUARTER_SPEED_10MHZ_VAL + CONFIG_MODE_1_X_10GBE_VAL) #define ADC_OFST_HALF_SPEED_VAL (0x20) //adc pipeline #define ADC_OFST_QUARTER_SPEED_VAL (0x0f) -#define ADC_PHASE_HALF_SPEED (0x41) -#define ADC_PHASE_QUARTER_SPEED (0x19) +#define ADC_PHASE_HALF_SPEED (0x48) //72 +#define ADC_PHASE_QUARTER_SPEED (0x48) //72 /* Maybe not required for jungfrau */ #define NTRIMBITS (6) diff --git a/slsDetectorSoftware/slsDetector/gitInfoLib.h b/slsDetectorSoftware/slsDetector/gitInfoLib.h index 997240797..6f11e61ce 100644 --- a/slsDetectorSoftware/slsDetector/gitInfoLib.h +++ b/slsDetectorSoftware/slsDetector/gitInfoLib.h @@ -1,6 +1,6 @@ #define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git" -#define GITREPUUID "b58c3e8951625ed9124669404f6b68aca340a1b8" -#define GITAUTH "Dhanya_Thattil" -#define GITREV 0x3727 -#define GITDATE 0x20180314 +#define GITREPUUID "98752e1cdbd78167ad20c6a01a17852b1a2263a7" +#define GITAUTH "Gemma_Tinti" +#define GITREV 0x3733 +#define GITDATE 0x20180321 #define GITBRANCH "developer" diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index f99f69747..e1a4ca221 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -718,7 +718,7 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) { */ /*! \page config - - clkdivider [i] sets/gets the readout clock divider. EIGER, JUNGFRAU [0(fast speed), 1(half speed), 2(quarter speed)]. MYTHEN[???]. \c Returns \c (int) + - clkdivider [i] sets/gets the readout clock divider. EIGER, JUNGFRAU [0(fast speed), 1(half speed), 2(quarter speed)]. Jungfrau, full speed is not implemented and overwrites adcphase to recommended default. MYTHEN[???]. \c Returns \c (int) */ descrToFuncMap[i].m_pFuncName="clkdivider"; // descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSpeed; @@ -774,7 +774,7 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) { ++i; /*! \page config - - adcphase [i] Sets/gets the ADC clock frequency in MHz. For the new chiptestboard!\c Returns \c (int) + - adcphase [i] Sets/gets phase of the sampling clock. For JUNGFRAU, setting speed (clkdivider) overwrites adcphase to its default recommended value. (Not for EIGER) \c Returns \c (int) */ descrToFuncMap[i].m_pFuncName="adcphase"; // descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSpeed; @@ -5830,7 +5830,6 @@ string slsDetectorCommand::cmdSpeed(int narg, char *args[], int action) { } - myDet->setOnline(ONLINE_FLAG); ret=myDet->setSpeed(index,t); @@ -5849,21 +5848,23 @@ string slsDetectorCommand::helpSpeed(int narg, char *args[], int action) { ostringstream os; if (action==PUT_ACTION || action==HELP_ACTION) { - os << "clkdivider c \t sets readout clock divider" << std::endl; + os << "clkdivider c \t sets readout clock divider. For Jungfrau, it also overwrites adcphase to recommended default" << std::endl; os << "setlength c\t sets the length of the set/reset signals (in clock cycles)" << std::endl; os << "waitstates c \t sets the waitstates of the bus interface" << std::endl; os << "totdivider c\t sets the clock divider in tot mode" << std::endl; os << "totdutycycle c\t sets the duty cycle of the tot clock" << std::endl; + os << "adcphase c\t Sets phase of the sampling clock. For JUNGFRAU, setting speed (clkdivider) overwrites adcphase to its default recommended value. (Not for EIGER)" << std::endl; os << std::endl; } if (action==GET_ACTION || action==HELP_ACTION) { - os << "clkdivider \t gets readout clock divider" << std::endl; + os << "clkdivider \t gets readout clock divider. For Jungfrau, it also overwrites adcphase to recommended default" << std::endl; os << "setlength \t gets the length of the set/reset signals (in clock cycles)" << std::endl; os << "waitstates \t gets the waitstates of the bus interface" << std::endl; os << "totdivider \t gets the clock divider in tot mode" << std::endl; os << "totdutycycle \t gets the duty cycle of the tot clock" << std::endl; + os << "totdutycycle \t gets phase of the sampling clock. For JUNGFRAU, setting speed (clkdivider) overwrites adcphase to its default recommended value. (Not for EIGER)" << std::endl; os << std::endl; } diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.h b/slsDetectorSoftware/slsDetector/slsDetectorUsers.h index 1289afd9c..2bc3462aa 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.h @@ -77,7 +77,7 @@ You can find examples of how this classes can be instatiated in mainClient.cpp @libdoc The slsDetectorUsers class is a minimal interface class which should be instantiated by the users in their acquisition software (EPICS, spec etc.). More advanced configuration functions are not implemented and can be written in a configuration or parameters file that can be read/written. */ /** - @short Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc. + @short Class for detector functionalities to embed the detector controls in the users custom interface e.g. EPICS, Lima etc. */ @@ -270,7 +270,7 @@ class slsDetectorUsers */ int getDetectorSize(int &x0, int &y0, int &nx, int &ny); /** - @short setsthe maximum detector size + @short gets the maximum detector size \param x0 horizontal position origin in channel number \param y0 vertical position origin in channel number \param nx number of channels in horiziontal diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index 5dca4b587..1e58550c5 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -41,6 +41,9 @@ char mess[MAX_STR_LENGTH]; int dataBytes = 10; int isControlServer = 0; int debugflag = 0; +#ifdef EIGERD +uint32_t dhcpipad = 0; +#endif /* initialization functions */ @@ -66,6 +69,9 @@ void init_detector(int controlserver) { if (controlserver) { isControlServer = 1; initControlServer(); +#ifdef EIGERD + dhcpipad = getDetectorIP(); +#endif } else initStopServer(); #endif @@ -3678,16 +3684,19 @@ int configure_mac(int file_des) { printf("WARNING: Matched detectormac to the hardware mac now\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 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"); - } - } + printf("*************************************************\n"); + printf("WARNING: Using DHCP IP for Configuring MAC\n"); + printf("*************************************************\n"); + detipad = getDetectorIP(); + } else + detipad = dhcpipad; #endif retval=configureMAC(ipad,imacadd,idetectormacadd,detipad,udpport,udpport2,0); //digitalTestBit); if(retval==-1) {