diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index 7bd44559f..b684e7921 100755 Binary files a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer and b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer differ diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c index 2e9747145..ea692e23d 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c @@ -2166,16 +2166,22 @@ int setBurstMode(enum burstMode burst) { } int configureASICGlobalSettings() { - int modeValue = - burstMode ? ASIC_GLOBAL_BURST_VALUE : ASIC_GLOBAL_CONT_VALUE; - int value = ((modeValue << ASIC_GLOBAL_MODE_OFST) & ASIC_GLOBAL_MODE_MSK) | - ((filter << ASIC_FILTER_OFST) & ASIC_FILTER_MSK) | + int value = ((filter << ASIC_FILTER_OFST) & ASIC_FILTER_MSK) | ((cdsGain << ASIC_CDS_GAIN_OFST) & ASIC_CDS_GAIN_MSK); + switch (burstMode) { + case BURST_OFF: + value |= (ASIC_CONT_MODE_MSK | ASIC_EXT_TIMING_MSK); + break; + case BURST_INTERNAL: + break; + case BURST_EXTERNAL: + value |= ASIC_EXT_TIMING_MSK; + break; + } LOG(logINFO, - ("\tSending Global Chip settings:0x%x (mode:%d(%s), filter:%d, " + ("\tSending Global Chip settings:0x%x (filter:%d, " "cdsgain:%d)\n", - value, modeValue, (burstMode == BURST_OFF ? "Continuous" : "Burst"), - filter, cdsGain)); + value, filter, cdsGain)); const int padding = 6; // due to address (4) to make it byte aligned const int lenTotalBits = padding + ASIC_GLOBAL_SETT_MAX_BITS + diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h index 3ad90211a..f9cfe119c 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h @@ -136,10 +136,13 @@ enum PLLINDEX { READOUT_PLL, SYSTEM_PLL }; #define ASIC_ADC_MAX_BITS (7) #define ASIC_ADC_MAX_VAL (0x7F) #define ASIC_GLOBAL_SETT_MAX_BITS (6) -#define ASIC_GLOBAL_BURST_VALUE (0x0) -#define ASIC_GLOBAL_CONT_VALUE (0x6) -#define ASIC_GLOBAL_MODE_OFST (0) -#define ASIC_GLOBAL_MODE_MSK (0x7 << ASIC_GLOBAL_MODE_OFST) + +#define ASIC_EXT_MEMCTRL_OFST (0) +#define ASIC_EXT_MEMCTRL_MSK (0x1 << ASIC_EXT_MEMCTRL_OFST) +#define ASIC_EXT_TIMING_OFST (1) +#define ASIC_EXT_TIMING_MSK (0x1 << ASIC_EXT_TIMING_OFST) +#define ASIC_CONT_MODE_OFST (2) +#define ASIC_CONT_MODE_MSK (0x1 << ASIC_CONT_MODE_OFST) #define ASIC_FILTER_OFST (3) #define ASIC_FILTER_MSK (0x3 << ASIC_FILTER_OFST) #define ASIC_FILTER_MAX_VALUE (3) diff --git a/slsSupportLib/include/versionAPI.h b/slsSupportLib/include/versionAPI.h index a0b5d2152..71a266e16 100644 --- a/slsSupportLib/include/versionAPI.h +++ b/slsSupportLib/include/versionAPI.h @@ -5,8 +5,8 @@ #define APIGUI 0x200409 #define APICTB 0x200723 #define APIGOTTHARD 0x200723 -#define APIGOTTHARD2 0x200723 #define APIJUNGFRAU 0x200723 #define APIMYTHEN3 0x200723 #define APIMOENCH 0x200722 #define APIEIGER 0x200723 +#define APIGOTTHARD2 0x200723