From df3ae7f4091da13494a7a0b73f384e2078a42cdc Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 28 Jul 2020 15:08:13 +0200 Subject: [PATCH] gotthard2: reversing order of adc channels to chip --- .../bin/gotthard2DetectorServer_developer | Bin 211348 -> 211348 bytes .../slsDetectorFunctionList.c | 50 ++++++++++-------- slsSupportLib/include/versionAPI.h | 2 +- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index b684e792137693fa29e7e1fb0e52f0265fa42f59..67a125f585abe654075602df5d8d361c1642ff58 100755 GIT binary patch delta 45192 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 Iweb7@0E=$weEv8W2G-Fu*{l z0wN#+8Uza^j{*WB0wN*;h9V_Gs8RwZ|7*_PyL_x!*7ev`fCntOV?r<`+U z-w2w0BPb`^Z}xOmnLT~xw9$bMAjgN&_J&@$GqsO#7L-BaJWf+s4xK z29y~U!2I*}o6D53HxG)>Z|9@<)l(E}sr}SOMPa7a#MRPqortTUXwz zCoV?EJ>%s1`Bl)7BSmZB(+D>5aB28B+t4 z{1<)1`cGISf3d>C20SR4$ zRPq&5nH#o^ibFBI$6H4xvvvIW$d}j#UKkn0*5&y{m0@f*52;w2#qeeo+prWqqoQE- z_?qY_-ZXj`dm89*Hjx)a4`q#c_n2h%2A>quMV%GQr#Fn|S7QP|7sn*BxjZJep1L%c zmu5%vaj^~9dcH2UL*4qZiuLaHf=U&XaO*uJuyL%C6zXsoxs0j7=8UOj9a>f91@qWW z(Y#|^ibZJROBhs4(d zT_QgQ^IsBE)pPB5*-BN_^X+)ON(s`|yHbXFu^ktc+N(q2`TF`P+*~<0%vJVf6|)vW zVK7gt+?m}$S;XWmtvpk0^+lW_Yt(TtPHB#slfPO`tL;;=vtf^mQ%oiY)3`G2Q%s7= zvU*DywDF*jcqJj;=|6@~sM3Lj@x4{j)aVecz-%d@EP+=|(Fl7?G=DiI)IW6w3O2xO z;s>i#k%Fk6vVJucXMpuXxP3tkXH{)s&j)JZDrL$#fA0tKYE?)0l`pIKF@=9`i{zhH z?aH3ufz=X2QIz4zQdwbUQx?)(pEs#yP3bVBrYSCq$=H;O)CN_>+#GGsFWpBmZQEX; z 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 NoHw_v>(kQb{{uTb)= startCh; + ich -= increment) { int byteIndex = ich / 8; int bitIndex = ich % 8; buffer[byteIndex] |= (1 << (8 - 1 - bitIndex)); @@ -1829,6 +1830,12 @@ int configureASICVetoReference(int chipIndex, int *values) { const int lenTotalBits = padding + lenBits + ASIC_ADDR_MAX_BITS; // 1800 const int len = lenTotalBits / 8; // 225 + // reversing the values sent to the chip + int revValues[NCHAN] = {}; + for (int i = 0; i < NCHAN; ++i) { + revValues[i] = values[NCHAN - 1 - i]; + } + // assign each bit into 4 + 1792 into byte array uint8_t commandBytes[lenTotalBits]; memset(commandBytes, 0, sizeof(commandBytes)); @@ -1837,7 +1844,7 @@ int configureASICVetoReference(int chipIndex, int *values) { // loop through all bits in a value for (int iBit = 0; iBit < lenDataBitsPerchannel; ++iBit) { commandBytes[offset++] = - ((values[ich] >> (lenDataBitsPerchannel - 1 - iBit)) & 0x1); + ((revValues[ich] >> (lenDataBitsPerchannel - 1 - iBit)) & 0x1); } } @@ -1861,7 +1868,7 @@ int configureASICVetoReference(int chipIndex, int *values) { return FAIL; } - // all chips + // all chips (saving unreversed values) if (chipIndex == -1) { for (int ichan = 0; ichan < NCHAN; ++ichan) { for (int ichip = 0; ichip < NCHIP; ++ichip) { @@ -1956,10 +1963,10 @@ int setADCConfiguration(int chipIndex, int adcIndex, int value) { chipmin = chipIndex; chipmax = chipIndex + 1; } - // specific adc + // specific adc (reversing adc when sending to chip) if (adcIndex != -1) { - adcmin = adcIndex; - adcmax = adcIndex + 1; + adcmin = NADC - 1 - adcIndex; + adcmax = NADC - adcIndex; } // update values for (int i = chipmin; i < chipmax; ++i) { @@ -2037,10 +2044,10 @@ int getADCConfiguration(int chipIndex, int adcIndex) { chipmin = chipIndex; chipmax = chipIndex + 1; } - // specific adc + // specific adc (reversing adc when sending to chip) if (adcIndex != -1) { - adcmin = adcIndex; - adcmax = adcIndex + 1; + adcmin = NADC - 1 - adcIndex; + adcmax = NADC - adcIndex; } int val = adcConfiguration[chipmin][adcmin]; @@ -2169,19 +2176,18 @@ int configureASICGlobalSettings() { 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; + 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 (filter:%d, " - "cdsgain:%d)\n", - value, filter, cdsGain)); + LOG(logINFO, ("\tSending Global Chip settings:0x%x (filter:%d, " + "cdsgain:%d)\n", + 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/slsSupportLib/include/versionAPI.h b/slsSupportLib/include/versionAPI.h index b6f6ce42f..99d3ba631 100644 --- a/slsSupportLib/include/versionAPI.h +++ b/slsSupportLib/include/versionAPI.h @@ -8,5 +8,5 @@ #define APIMYTHEN3 0x200723 #define APIMOENCH 0x200722 #define APIEIGER 0x200723 -#define APIGOTTHARD2 0x200723 #define APIJUNGFRAU 0x200728 +#define APIGOTTHARD2 0x200728