diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index 096f1c63d..3cd0d1c30 100755 Binary files a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer and b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer differ diff --git a/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c index 80868bbb5..fa74df294 100644 --- a/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c @@ -493,6 +493,8 @@ void setupDetector() { resetPeripheral(); cleanFifos(); + initializePatternAddresses(); + // hv MAX1932_SetDefines(SPI_REG, SPI_HV_SRL_CS_OTPT_MSK, SPI_HV_SRL_CLK_OTPT_MSK, SPI_HV_SRL_DGTL_OTPT_MSK, SPI_HV_SRL_DGTL_OTPT_OFST, diff --git a/slsDetectorServers/moenchDetectorServer/DefaultPattern_moench.txt b/slsDetectorServers/moenchDetectorServer/DefaultPattern_moench.txt index 9631b0bd3..0114e9bb0 100755 --- a/slsDetectorServers/moenchDetectorServer/DefaultPattern_moench.txt +++ b/slsDetectorServers/moenchDetectorServer/DefaultPattern_moench.txt @@ -287,15 +287,15 @@ patwaittime 1 0 patwait 2 0x0400 patwaittime 2 0 -patloop 3 0x0000 0x0000 +patloop 3 0x1fff 0x1fff patnloop 3 0 -patloop 4 0x0000 0x0000 +patloop 4 0x1fff 0x1fff patnloop 4 0 -patloop 5 0x0000 0x0000 +patloop 5 0x1fff 0x1fff patnloop 5 0 -patwait 3 0x0000 +patwait 3 0x1fff patwaittime 3 0 -patwait 4 0x0000 +patwait 4 0x1fff patwaittime 4 0 -patwait 5 0x0000 +patwait 5 0x1fff patwaittime 5 0 diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index d8ab6b401..3dee1533a 100755 Binary files a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer and b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer differ diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c index 4c5862547..b10ebb354 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c @@ -508,6 +508,8 @@ void setupDetector() { resetPeripheral(); cleanFifos(); + initializePatternAddresses(); + // hv MAX1932_SetDefines(SPI_REG, SPI_HV_SRL_CS_OTPT_MSK, SPI_HV_SRL_CLK_OTPT_MSK, SPI_HV_SRL_DGTL_OTPT_MSK, SPI_HV_SRL_DGTL_OTPT_OFST, diff --git a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer index 0d0629659..4bad18639 100755 Binary files a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer and b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer differ diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c index 257f16e0d..49cbc3811 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c @@ -474,6 +474,8 @@ void setupDetector() { setASICDefaults(); setADIFDefaults(); + initializePatternAddresses(); + // enable all counters before setting dacs (vthx) setCounterMask(MAX_COUNTER_MSK); resetToDefaultDacs(0); diff --git a/slsDetectorServers/slsDetectorServer/include/loadPattern.h b/slsDetectorServers/slsDetectorServer/include/loadPattern.h index 84f73b8b4..e6a23bf43 100644 --- a/slsDetectorServers/slsDetectorServer/include/loadPattern.h +++ b/slsDetectorServers/slsDetectorServer/include/loadPattern.h @@ -5,6 +5,7 @@ #include "Pattern.h" #include "clogger.h" +void initializePatternAddresses(); #if defined(CHIPTESTBOARDD) || defined(MOENCHD) #ifdef VIRTUAL void initializePatternWord(); diff --git a/slsDetectorServers/slsDetectorServer/src/loadPattern.c b/slsDetectorServers/slsDetectorServer/src/loadPattern.c index ecb171009..a84282ecb 100644 --- a/slsDetectorServers/slsDetectorServer/src/loadPattern.c +++ b/slsDetectorServers/slsDetectorServer/src/loadPattern.c @@ -30,6 +30,16 @@ extern int64_t set64BitReg(int64_t value, int aLSB, int aMSB); #define MAX_LEVELS MAX_PATTERN_LEVELS #endif +void initializePatternAddresses() { + LOG(logINFO, ("Setting default Loop and Wait Addresses(0x%x)\n", + MAX_PATTERN_LENGTH - 1)); + for (int i = 0; i != MAX_LEVELS; ++i) { + setPatternLoopAddresses(i, MAX_PATTERN_LENGTH - 1, + MAX_PATTERN_LENGTH - 1); + setPatternWaitAddress(i, MAX_PATTERN_LENGTH - 1); + } +} + #if defined(CHIPTESTBOARDD) || defined(MOENCHD) #ifdef VIRTUAL void initializePatternWord() { @@ -735,6 +745,8 @@ int loadPattern(char *message, enum TLogLevel printLevel, #ifdef MYTHEN3D trimmingPrint = printLevel; #endif + initializePatternAddresses(); + // words for (int i = 0; i < MAX_PATTERN_LENGTH; ++i) { if ((i % 10 == 0) && pat->word[i] != 0) { @@ -877,6 +889,8 @@ int loadPatternFile(char *patFname, char *errMessage) { char temp[MAX_STR_LENGTH]; memset(temp, 0, MAX_STR_LENGTH); + initializePatternAddresses(); + // keep reading a line while (fgets(line, LZ, fd)) { diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 44ba5550a..4d68ad17d 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -5,10 +5,10 @@ #define APILIB 0x220609 #define APIRECEIVER 0x220609 #define APIGUI 0x220609 -#define APICTB 0x220816 #define APIGOTTHARD 0x220816 -#define APIMYTHEN3 0x220816 -#define APIMOENCH 0x220816 #define APIEIGER 0x220816 #define APIGOTTHARD2 0x220816 #define APIJUNGFRAU 0x220816 +#define APIMOENCH 0x220822 +#define APIMYTHEN3 0x220822 +#define APICTB 0x220822