From 664c992028f46b8c5292cef4bdb41e9a21498d8b Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 24 Jan 2022 09:39:19 +0100 Subject: [PATCH 1/8] exchanging patsetbit and patsetmask functionalities --- .../slsDetectorFunctionList.c | 18 +++++++++--------- slsDetectorSoftware/src/CmdProxy.h | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c index 77482af77..a0932b8fd 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c @@ -952,42 +952,42 @@ enum detectorSettings setSettings(enum detectorSettings sett) { switch (sett) { case G1_HIGHGAIN: LOG(logINFO, ("Set settings - G1_HIGHGAIN\n")); - setPatternMask(G1_HIGHGAIN_PATMASK); + setPatternBitMask(G1_HIGHGAIN_PATMASK); break; case G1_LOWGAIN: LOG(logINFO, ("Set settings - G1_LOWGAIN\n")); - setPatternMask(G1_LOWGAIN_PATMASK); + setPatternBitMask(G1_LOWGAIN_PATMASK); break; case G2_HIGHCAP_HIGHGAIN: LOG(logINFO, ("Set settings - G2_HIGHCAP_HIGHGAIN\n")); - setPatternMask(G2_HIGHCAP_HIGHGAIN_PATMASK); + setPatternBitMask(G2_HIGHCAP_HIGHGAIN_PATMASK); break; case G2_HIGHCAP_LOWGAIN: LOG(logINFO, ("Set settings - G2_HIGHCAP_LOWGAIN\n")); - setPatternMask(G2_HIGHCAP_LOWGAIN_PATMASK); + setPatternBitMask(G2_HIGHCAP_LOWGAIN_PATMASK); break; case G2_LOWCAP_HIGHGAIN: LOG(logINFO, ("Set settings - G2_LOWCAP_HIGHGAIN\n")); - setPatternMask(G2_LOWCAP_HIGHGAIN_PATMASK); + setPatternBitMask(G2_LOWCAP_HIGHGAIN_PATMASK); break; case G2_LOWCAP_LOWGAIN: LOG(logINFO, ("Set settings - G2_LOWCAP_LOWGAIN\n")); - setPatternMask(G2_LOWCAP_LOWGAIN_PATMASK); + setPatternBitMask(G2_LOWCAP_LOWGAIN_PATMASK); break; case G4_HIGHGAIN: LOG(logINFO, ("Set settings - G4_HIGHGAIN\n")); - setPatternMask(G4_HIGHGAIN_PATMASK); + setPatternBitMask(G4_HIGHGAIN_PATMASK); break; case G4_LOWGAIN: LOG(logINFO, ("Set settings - G4_LOWGAIN\n")); - setPatternMask(G4_LOWGAIN_PATMASK); + setPatternBitMask(G4_LOWGAIN_PATMASK); break; default: LOG(logERROR, ("This settings is not defined for this detector %d\n", (int)sett)); return -1; } - setPatternBitMask(DEFAULT_PATSETBIT); + setPatternMask(DEFAULT_PATSETBIT); thisSettings = sett; return getSettings(); diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 0e3c544da..ba87f3514 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -2164,15 +2164,15 @@ class CmdProxy { INTEGER_COMMAND_HEX_WIDTH16( patmask, getPatternMask, setPatternMask, StringTo, - "[64 bit mask]\n\t[Ctb][Moench][Mythen3] Sets the mask applied to " - "every pattern to the selected bits."); - - INTEGER_COMMAND_HEX_WIDTH16( - patsetbit, getPatternBitMask, setPatternBitMask, StringTo, "[64 bit mask]\n\t[Ctb][Moench][Mythen3] Selects the bits that will " "have a pattern mask applied to the selected patmask for every " "pattern."); + INTEGER_COMMAND_HEX_WIDTH16( + patsetbit, getPatternBitMask, setPatternBitMask, StringTo, + "[64 bit mask]\n\t[Ctb][Moench][Mythen3] Sets the mask applied to " + "every pattern to the selected bits."); + EXECUTE_SET_COMMAND(patternstart, startPattern, "\n\t[Mythen3] Starts Pattern"); From f38c1c8714bf3c0eeb2c2d496a5dc40a3ba72d76 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 24 Jan 2022 09:40:24 +0100 Subject: [PATCH 2/8] binaries in --- .../bin/ctbDetectorServer_developer | Bin 301900 -> 301900 bytes .../bin/gotthard2DetectorServer_developer | Bin 260248 -> 260248 bytes .../bin/gotthardDetectorServer_developer | Bin 256916 -> 256916 bytes .../bin/jungfrauDetectorServer_developer | Bin 287584 -> 287584 bytes .../bin/moenchDetectorServer_developer | Bin 290424 -> 290424 bytes .../bin/mythen3DetectorServer_developer | Bin 273620 -> 273620 bytes slsSupportLib/include/sls/versionAPI.h | 12 ++++++------ 7 files changed, 6 insertions(+), 6 deletions(-) diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index 40827a587e90c071079fcfcff3c65fca8a13815e..6fd782b3470554018db85f4579f52a28b11c902c 100755 GIT binary patch delta 57 zcmX@JP3X)vp$VGI?^54PH$28HvC-uPC!@+_T`qA(mCdePxz>y-&6{1@H@h+dF%u9o LZ{O_7GBXqah;tQ8 delta 57 zcmX@JP3X)vp$VGI&lXLeZg`AYVx!9oPDY8zx?JLn5}RGQa;+I9nm4<)Z+2w_VkRJF L-oDwDWo9SQ;90090GGXMYp delta 53 zcmbPooqx)8{t24Q&lb&?u4u$8vC$=mgHdAgMhk04Vxvm{holN4V*=v~1_l8JFaWX~9x5>~JXG1dmc!78 YQKk8QNc;T|Mj&PaV&?7lLs%O50P-^$9smFU delta 75 zcmaEGOz^=m!3mno&lb&^{%|_8#736@4oL|{#stO}3=9GcU;tz}JXB&}cqp-XEr+2G ZqeS!lkoNl_j6lo;#LV08hp;sA0RZJd8QA~; diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index 3d216b3e2dac2afcf5e3517204a1334812690b10..21d879c3bb7ad6b2953735d288ba7681e08c6cd7 100755 GIT binary patch delta 114 zcmexyNASlT!3mno?@~Wc|2UsnVx!9oPDYiao0RU5OC?Eg; delta 114 zcmexyNASlT!3mno&lb&@{&7CD#737FoQx8ab-BbDB{sWqO%!9ynS5PAlQDcUqoO*a z^JGm$RYrr!{)(E6(vvHJB-`Z0it0?Cc1}K{sK#_}=j1Pn28^FKt13;EW|U~&ZQH)v RmJx`VfS7svZd;bU1^_)oD3$;K diff --git a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer index 8635df4fd741d1edec13a05f2dd913dfbfb6b009..f4e807b4ab151b46e361bcd54c9247a6aae4b5af 100755 GIT binary patch delta 45 xcmca|Q{c)?fep1PjGmM0RLsGo`sTYTOG+6%o112}H_c)MVy5j)vzUV>0RXxz65#*< delta 45 xcmca|Q{c)?fep1PjBb0RXu+64(F$ diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 37bee4ec7..3b963aa10 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -6,10 +6,10 @@ #define APILIB 0x211125 #define APIRECEIVER 0x211124 #define APIGUI 0x211124 -#define APICTB 0x220118 -#define APIGOTTHARD 0x220118 -#define APIGOTTHARD2 0x220118 -#define APIJUNGFRAU 0x220118 -#define APIMYTHEN3 0x220118 -#define APIMOENCH 0x220118 #define APIEIGER 0x220118 +#define APICTB 0x220124 +#define APIGOTTHARD 0x220124 +#define APIGOTTHARD2 0x220124 +#define APIJUNGFRAU 0x220124 +#define APIMYTHEN3 0x220124 +#define APIMOENCH 0x220124 From 3b1100053216b367d0f044c02337e41be261d3c2 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 24 Jan 2022 11:00:16 +0100 Subject: [PATCH 3/8] fixed getsettings (moench) for patsetbit and patmask --- .../slsDetectorFunctionList.c | 48 +++++++++---------- .../slsDetectorServer_defs.h | 18 +++---- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c index a0932b8fd..27b74883c 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c @@ -952,42 +952,42 @@ enum detectorSettings setSettings(enum detectorSettings sett) { switch (sett) { case G1_HIGHGAIN: LOG(logINFO, ("Set settings - G1_HIGHGAIN\n")); - setPatternBitMask(G1_HIGHGAIN_PATMASK); + setPatternBitMask(G1_HIGHGAIN_PATSETBIT); break; case G1_LOWGAIN: LOG(logINFO, ("Set settings - G1_LOWGAIN\n")); - setPatternBitMask(G1_LOWGAIN_PATMASK); + setPatternBitMask(G1_LOWGAIN_PATSETBIT); break; case G2_HIGHCAP_HIGHGAIN: LOG(logINFO, ("Set settings - G2_HIGHCAP_HIGHGAIN\n")); - setPatternBitMask(G2_HIGHCAP_HIGHGAIN_PATMASK); + setPatternBitMask(G2_HIGHCAP_HIGHGAIN_PATSETBIT); break; case G2_HIGHCAP_LOWGAIN: LOG(logINFO, ("Set settings - G2_HIGHCAP_LOWGAIN\n")); - setPatternBitMask(G2_HIGHCAP_LOWGAIN_PATMASK); + setPatternBitMask(G2_HIGHCAP_LOWGAIN_PATSETBIT); break; case G2_LOWCAP_HIGHGAIN: LOG(logINFO, ("Set settings - G2_LOWCAP_HIGHGAIN\n")); - setPatternBitMask(G2_LOWCAP_HIGHGAIN_PATMASK); + setPatternBitMask(G2_LOWCAP_HIGHGAIN_PATSETBIT); break; case G2_LOWCAP_LOWGAIN: LOG(logINFO, ("Set settings - G2_LOWCAP_LOWGAIN\n")); - setPatternBitMask(G2_LOWCAP_LOWGAIN_PATMASK); + setPatternBitMask(G2_LOWCAP_LOWGAIN_PATSETBIT); break; case G4_HIGHGAIN: LOG(logINFO, ("Set settings - G4_HIGHGAIN\n")); - setPatternBitMask(G4_HIGHGAIN_PATMASK); + setPatternBitMask(G4_HIGHGAIN_PATSETBIT); break; case G4_LOWGAIN: LOG(logINFO, ("Set settings - G4_LOWGAIN\n")); - setPatternBitMask(G4_LOWGAIN_PATMASK); + setPatternBitMask(G4_LOWGAIN_PATSETBIT); break; default: LOG(logERROR, ("This settings is not defined for this detector %d\n", (int)sett)); return -1; } - setPatternMask(DEFAULT_PATSETBIT); + setPatternMask(DEFAULT_PATMASK); thisSettings = sett; return getSettings(); @@ -995,44 +995,44 @@ enum detectorSettings setSettings(enum detectorSettings sett) { enum detectorSettings getSettings() { - uint64_t patsetbit = getPatternBitMask(); - if (patsetbit != DEFAULT_PATSETBIT) { + uint64_t patmask = getPatternMask(); + if (patmask != DEFAULT_PATMASK) { LOG(logERROR, - ("Patsetbit is 0x%llx, and not 0x%llx. Undefined Settings!\n", - patsetbit, DEFAULT_PATSETBIT)); + ("Patmask is 0x%llx, and not 0x%llx. Undefined Settings!\n", + patmask, DEFAULT_PATMASK)); thisSettings = UNDEFINED; return thisSettings; } - uint64_t patsetmask = getPatternMask(); - switch (patsetmask) { - case G1_HIGHGAIN_PATMASK: + uint64_t patsetbit = getPatternBitMask(); + switch (patsetbit) { + case G1_HIGHGAIN_PATSETBIT: thisSettings = G1_HIGHGAIN; break; - case G1_LOWGAIN_PATMASK: + case G1_LOWGAIN_PATSETBIT: thisSettings = G1_LOWGAIN; break; - case G2_HIGHCAP_HIGHGAIN_PATMASK: + case G2_HIGHCAP_HIGHGAIN_PATSETBIT: thisSettings = G2_HIGHCAP_HIGHGAIN; break; - case G2_HIGHCAP_LOWGAIN_PATMASK: + case G2_HIGHCAP_LOWGAIN_PATSETBIT: thisSettings = G2_HIGHCAP_LOWGAIN; break; - case G2_LOWCAP_HIGHGAIN_PATMASK: + case G2_LOWCAP_HIGHGAIN_PATSETBIT: thisSettings = G2_LOWCAP_HIGHGAIN; break; - case G2_LOWCAP_LOWGAIN_PATMASK: + case G2_LOWCAP_LOWGAIN_PATSETBIT: thisSettings = G2_LOWCAP_LOWGAIN; break; - case G4_HIGHGAIN_PATMASK: + case G4_HIGHGAIN_PATSETBIT: thisSettings = G4_HIGHGAIN; break; - case G4_LOWGAIN_PATMASK: + case G4_LOWGAIN_PATSETBIT: thisSettings = G4_LOWGAIN; break; default: LOG(logERROR, - ("Patsetmask is 0x%llx. Undefined Settings!\n", patsetmask)); + ("Patsetbit is 0x%llx. Undefined Settings!\n", patsetbit)); thisSettings = UNDEFINED; break; } diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h index a86f350d2..4a1635b9b 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h @@ -105,15 +105,15 @@ enum CLKINDEX { RUN_CLK, ADC_CLK, SYNC_CLK, DBIT_CLK, NUM_CLOCKS }; #define DEFAULT_SETTINGS (G4_HIGHGAIN) // settings -#define DEFAULT_PATSETBIT (0x00000C800000800AULL) -#define G1_HIGHGAIN_PATMASK (0x00000C0000008008ULL) -#define G1_LOWGAIN_PATMASK (0x0000040000008000ULL) -#define G2_HIGHCAP_HIGHGAIN_PATMASK (0x0000080000000008ULL) -#define G2_HIGHCAP_LOWGAIN_PATMASK (0x0000000000000000ULL) -#define G2_LOWCAP_HIGHGAIN_PATMASK (0x00000C800000800AULL) -#define G2_LOWCAP_LOWGAIN_PATMASK (0x0000048000008002ULL) -#define G4_HIGHGAIN_PATMASK (0x000008800000000AULL) -#define G4_LOWGAIN_PATMASK (0x0000008000000002ULL) +#define DEFAULT_PATMASK (0x00000C800000800AULL) +#define G1_HIGHGAIN_PATSETBIT (0x00000C0000008008ULL) +#define G1_LOWGAIN_PATSETBIT (0x0000040000008000ULL) +#define G2_HIGHCAP_HIGHGAIN_PATSETBIT (0x0000080000000008ULL) +#define G2_HIGHCAP_LOWGAIN_PATSETBIT (0x0000000000000000ULL) +#define G2_LOWCAP_HIGHGAIN_PATSETBIT (0x00000C800000800AULL) +#define G2_LOWCAP_LOWGAIN_PATSETBIT (0x0000048000008002ULL) +#define G4_HIGHGAIN_PATSETBIT (0x000008800000000AULL) +#define G4_LOWGAIN_PATSETBIT (0x0000008000000002ULL) #define HIGHVOLTAGE_MIN (60) #define HIGHVOLTAGE_MAX (200) // min dac val From 01e84141620af4e87f355e7c8655a2657ed36aae Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 24 Jan 2022 11:00:37 +0100 Subject: [PATCH 4/8] binarie sin --- .../bin/ctbDetectorServer_developer | Bin 301900 -> 301900 bytes .../bin/gotthardDetectorServer_developer | Bin 256916 -> 256916 bytes .../bin/jungfrauDetectorServer_developer | Bin 287584 -> 287584 bytes .../bin/moenchDetectorServer_developer | Bin 290424 -> 290424 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index 6fd782b3470554018db85f4579f52a28b11c902c..acda12b40c92529a9c38f04273fd222a68439df4 100755 GIT binary patch delta 32 ocmX@JP3X)vp$S?{75k?f9%GhhbZK>AY;|F3bz$D>!oo2d0N5-GivR!s delta 32 ocmX@JP3X)vp$S?{sc)tm9%GhhbZK>AY;|F3bz$D>!oo2d0NPaxr2qf` diff --git a/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer b/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer index d77e6bc0e4be22002be5800af173457543364886..c3f951ea9dcd4298def75bbeef0057712d6995fa 100755 GIT binary patch delta 29 lcmbPooqx)8{s~%46$hp(8Zk>Wy0p45wz@EFbzu&84FIQ&3V#3q delta 29 lcmbPooqx)8{s~%4sc)w%8Zk>Wy0p45wz@EFbzu&84FIWV3Yh=^ diff --git a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer index 20bc2ee7c2d242bd16389f10827cd22c8ff82087..1ef07282a69d5db133e8aafdd3dc07030a7e464b 100755 GIT binary patch delta 32 ocmaEGOz^=m!3kPS6^ExkoX#xK=+f%K*y_U6>cYI$g+(SA0P6A#G5`Po delta 32 ocmaEGOz^=m!3kPSsUN04oX#xK=+f%K*y_U6>cYI$g+(SA0PPzLOaK4? diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index 21d879c3bb7ad6b2953735d288ba7681e08c6cd7..43a7f5f1b1471448c705e01569cffdfaf0727f65 100755 GIT binary patch delta 30783 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%0Dt7eQ(^&!MF76X?$bwjluWW-QvP4y6^jU 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 Date: Mon, 24 Jan 2022 11:09:36 +0100 Subject: [PATCH 5/8] updated help in Detector API and python --- python/slsdet/detector.py | 4 ++-- slsDetectorSoftware/include/sls/Detector.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/python/slsdet/detector.py b/python/slsdet/detector.py index 3cb1d11ed..7b1652f2f 100755 --- a/python/slsdet/detector.py +++ b/python/slsdet/detector.py @@ -3019,7 +3019,7 @@ class Detector(CppDetectorApi): @property @element def patsetbit(self): - """[Ctb][Moench][Mythen3] Selects the bits that will have a pattern mask applied to the selected patmask for every pattern. + """[Ctb][Moench][Mythen3] Sets the mask applied to every pattern to the selected bits. Example -------- @@ -3036,7 +3036,7 @@ class Detector(CppDetectorApi): @property @element def patmask(self): - """[Ctb][Moench][Mythen3] Sets the mask applied to every pattern to the selected bits. + """[Ctb][Moench][Mythen3] Selects the bits that will have a pattern mask applied to the selected patmask for every pattern. Example -------- diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index 8096b3cbc..5de20a3eb 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -1667,15 +1667,15 @@ class Detector { /** [CTB][Moench][Mythen3] */ Result getPatternMask(Positions pos = {}); - /** [CTB][Moench][Mythen3] Sets the mask applied to every pattern to the - * selected bits */ + /** [CTB][Moench][Mythen3] Selects the bits that will have a pattern mask + * applied to the selected patmask for every pattern. */ void setPatternMask(uint64_t mask, Positions pos = {}); /** [CTB][Moench][Mythen3] */ Result getPatternBitMask(Positions pos = {}) const; - /** [CTB][Moench][Mythen3] Selects the bits that will have a pattern mask - * applied to the selected patmask for every pattern. */ + /** [CTB][Moench][Mythen3] Sets the mask applied to every pattern to the + * selected bits */ void setPatternBitMask(uint64_t mask, Positions pos = {}); /** [Mythen3] */ From c45f2a282ca9765920f37986c7e9140be5dfe595 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 24 Jan 2022 11:25:07 +0100 Subject: [PATCH 6/8] updated release --- RELEASE.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE.txt b/RELEASE.txt index ec166b8b9..895b3704c 100755 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -21,6 +21,7 @@ This document describes the differences between v6.1.0 and v6.0.0. - Fixed minor warnings (will fix commandline print of excess packets for missing packets) - ctb slow adcs and any other adcs (other than temp) goes to the control Server +- fixed patsetbit and patsetmask for moench From 27e48851e66e5d23e8a93751ef7686a7d1c58ab0 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 24 Jan 2022 11:28:36 +0100 Subject: [PATCH 7/8] vref voltage of ad9257 changed from 1.33V to default 2V (for moench) --- RELEASE.txt | 1 + slsDetectorServers/slsDetectorServer/src/AD9257.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE.txt b/RELEASE.txt index 895b3704c..66e0f4865 100755 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -22,6 +22,7 @@ This document describes the differences between v6.1.0 and v6.0.0. - Fixed minor warnings (will fix commandline print of excess packets for missing packets) - ctb slow adcs and any other adcs (other than temp) goes to the control Server - fixed patsetbit and patsetmask for moench +- changed default vref of adc9257 to 2V for moench (from 1.33V) diff --git a/slsDetectorServers/slsDetectorServer/src/AD9257.c b/slsDetectorServers/slsDetectorServer/src/AD9257.c index 20502922d..7d49d4f0e 100644 --- a/slsDetectorServers/slsDetectorServer/src/AD9257.c +++ b/slsDetectorServers/slsDetectorServer/src/AD9257.c @@ -300,7 +300,7 @@ void AD9257_Configure() { AD9257_CLK_CH_IFCO_MSK); // vref -#ifdef GOTTHARDD +#if defined(GOTTHARDD) || defined(MOENCHD) LOG(logINFO, ("\tVref default at 2.0\n")); AD9257_SetVrefVoltage(AD9257_VREF_DEFAULT_VAL, 0); #else From a44284834a6d4944654f3cced0beb8e1bdd1106d Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 24 Jan 2022 11:29:02 +0100 Subject: [PATCH 8/8] binaries in --- .../bin/ctbDetectorServer_developer | Bin 301900 -> 301900 bytes .../bin/gotthardDetectorServer_developer | Bin 256916 -> 256916 bytes .../bin/jungfrauDetectorServer_developer | Bin 287584 -> 287584 bytes .../bin/moenchDetectorServer_developer | Bin 290424 -> 290424 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index acda12b40c92529a9c38f04273fd222a68439df4..32355c17428502a8374c7919b7fc1f93a1435068 100755 GIT binary patch delta 32 ocmX@JP3X)vp$S?{_3_gUk1AY;|F3bz$D>!oo2d0N5-GivR!s diff --git a/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer b/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer index c3f951ea9dcd4298def75bbeef0057712d6995fa..456a38123d23fb6055ac297219258323424a691a 100755 GIT binary patch delta 29 lcmbPooqx)8{s~%4_3_gcjhH1GU0PijTV0s8x-bX41^}Su3MBvl delta 29 lcmbPooqx)8{s~%46$hp(8Zk>Wy0p45wz@EFbzu&84FIQ&3V#3q diff --git a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer index 1ef07282a69d5db133e8aafdd3dc07030a7e464b..854d9998c2fc61960c4b2be34ddeaf2b5524f286 100755 GIT binary patch delta 32 ocmaEGOz^=m!3kPS^-0qoPG^>AbZK>AY;|F3bz$D>!XlFl0OLIi*Z=?k delta 32 ocmaEGOz^=m!3kPS6^ExkoX#xK=+f%K*y_U6>cYI$g+(SA0P6A#G5`Po diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index 43a7f5f1b1471448c705e01569cffdfaf0727f65..ce28b1de4797ceb1d9bc5e1a11bdcca1f93ee848 100755 GIT binary patch delta 15323 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 X0zsjm2+(X$6lfV}70q2~*Zltgq6d_* delta 15427 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