From f7997dd09a1348a58b9f4067bca66a0555c34bd4 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 9 Nov 2023 15:07:03 +0100 Subject: [PATCH] 8.0.0.rc: fix server logic in checking detector idle (#860) * fix buggy logic in checking detector idle and an argument check --- .../bin/ctbDetectorServerv8.0.0 | Bin 328256 -> 328256 bytes .../bin/eigerDetectorServerv8.0.0 | Bin 444195 -> 444195 bytes .../bin/gotthard2DetectorServerv8.0.0 | Bin 286768 -> 286768 bytes .../bin/gotthardDetectorServerv8.0.0 | Bin 277196 -> 277196 bytes .../bin/jungfrauDetectorServerv8.0.0 | Bin 312448 -> 312448 bytes .../bin/moenchDetectorServerv8.0.0 | Bin 295308 -> 295308 bytes .../bin/mythen3DetectorServerv8.0.0 | Bin 300752 -> 300752 bytes .../src/slsDetectorServer_funcs.c | 24 +++++++-------- .../tests/test-CmdProxy-jungfrau.cpp | 28 ++++++++++++++++++ slsSupportLib/include/sls/versionAPI.h | 14 ++++----- 10 files changed, 47 insertions(+), 19 deletions(-) diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServerv8.0.0 b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServerv8.0.0 index cc1d6e45661dbce4fa153a22490370e5c448bf03..87c08d8c7900ae2805fedc7c45b589bf593b62ae 100755 GIT binary patch delta 50 zcmX@mB66TbWP&EM&z;~t`x)^Ey-xnUYE_hy)K*O G&@=$Opb-8D<9jeje{Xbe{LT?m6dm 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�b^>vXO!NWv|br62o>6-$CWr{o4-NvmxVa(r5vTV zBxGstY*y9^_=;)RR%Nl^a|k;~^Q6avO6kWOrN8#Sw<%$wkga|9l+s@og0!yr%sF2J z=Z6I$LEErHnIQ-c?UQGbS+Hr5JC%3|LvC)7qCIQmR-tym^ei4 zRz_pUPT#HE!xIOadlJYw4rr9_P5pei<{rnT;CT3W`v4rLJG@&>kSyBzufsD2QZ}2uteH6UQiT5`;;i+DZ2LMrys8$^+^00&=^J;yesW zDbEc~Dpk1cKVn8(HrYN;^lK)^6#Jdrw5};gjU>+$&{k6($3m%M3fQ~J5pSQ5Ba)tY zAk(Qh9wZ*B0Pu^2%FE3%yS=Q6Wlhw;soCU609%-oD*@4BN@kExSqy5aI003|IkyKO zHFRYwGCAD-nkv0?fU+KdW?^KuL=&yXtKye&pxo+Kd+{W>ELvXTBd`xhCDNn)1QiG*jM>gLoqx^ z!ZLa}c;Z9O2kl|OabRIJbFW#d__qVFlmv?`T@_D6ljlLOETggq?el|kLCs?xnDmBG zl*J+*XT?{j(prBCNkYY{$eo0CDx+e={Axf{VG=p}8YNdTkv}ysQ7pM;B33}j43a5p zru|u%mtz)UX%xaBm)s0W$TJJos-;>6HRPTRP(c;5QOQ_pn2n;i?HbIY`c|vrA9Kl> zY=6^0Ta^s_#Bda~$;bqwm;)Bklr_ixtY0niT15Rvsp7vhlk*|_DSW-T;URmNVON7q z&I2~7l3z51%(agd=eLk&E*d0=8s?(>1n@ZALuCB~J*P^qg^)AFe&@jd)7YVcpayeT zc9dFlKdB-P(tA=+LmZ4{pi)^1dS@27A4Un?F*ywK zQ^oh1QG#W)g9aL-b@Du;3CbAMQ_DQFy9$<74(^RAddNK=!WUE3dA*-(CQs zN^&d&qpjpx2wF7pLg?i0EhsL})M$uX6_0Y;S;dFUQAIjTRSS_hmYj=_*`M5tkU5a@ zIOe7bj^PFsj@c+A4V383X^^aliaB_3P@o2hC!a#fQf9jx*x zBpr6u*i4>uR7ob+3e*MX$5z-^ibI;Hb_Hmw$hi_&e2#r3WOIUXs;Reo9#_R9jg-Y` z_(VZAoA4gYHhrt93}~>bVz8AOR>J5Yq~JD*MlVyv{r==yWgpw)vlj5QoY!cW+daON zw+iII3Uy{tu92$vqnm11!QP92x0LAGu1a0%5x1G*SjJkZ`&H@DbJPMf78IOo0G#An z1HGKXKRb{moXPRq;|iCR|9ZCg-DQtV+sz6lUe2+DDNS7L>^nY89D? z!TGeT1=}=oJ_bhIlC>tIm@gq&2_-*fkC`3_v^D6&Ca7W)Oi8erWU&vc;^AV%ldL%W zZ+9o?EiVwe1@b@v?fyD;rz#$Vn|urwo=5I=7;JBEp|W)l_W;$d19lI&vg}jEO8A>B zNSH=dSr`s0z`|1e_%W(jR6wrvklRhk>rppbLZCdgU^^HHo7D{;dgjw(ZvA5kBgWYc+O8={6y2lr;F*KPnW_& z2Br@i7!9}#oDvuw??2=4aEUJi5dVM7dv?L@g*zD%{y#Q4yI?27W7!7_6*dbz)$(VY zz1`Y`aXmL<@AlXBjP1%iE&>;JGVrKKT-eFMGlfyAeMU0l_8G}cxrZ4ox3j4;r^^HB zJU3=8m+2e2n3bltbunvAk7#4&o6gtGEU^7i7xT%jylD&!PqJ7Tp3DK#3%2iYV2M{} g?EtcSw##I&JhtYY0%Xqs%5MSEJGS#IVJT4n0FK98B>(^b delta 230 zcmZqZ6mIAgo}kI>?Yv<6!Dq}88(k8fOy2TD!^NVD>7hlJ!b1k84;vT_xD1>U7#<%# zwfq^? zw_BSquIC2Quk9Jzm3h2hw?N z%v>(hd%Bn{rdM<^D^2I?W)|4~sEhgJR^A>4h9?tP7@iyg(#N*%aA1j7XRQFTYqrZ| YuspWrZ2_`7fbvU#^os2~OIS)201p;erT_o{ diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServerv8.0.0 b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServerv8.0.0 index 52a6c6e6744d5e284f1b1fc536c46f0737242d7a..88ca14c1a5fcdccce775195b4c2d88e882b06ed6 100755 GIT binary patch delta 221 zcmeBa7V2phnxM(-bLY!CzR>opHPK| z6Bs{iU^L(|Xi8vsEPuk`p@H%yy2`6T+C4rkjN^ zYfZNZV&&4d RHbD6ZARV*4B#A{r9st;QQ_cVY delta 216 zcmeBa7V2phnxM(-?YwAu;c8}yjV>%lCPy66aCs5R^zcQf!ovxSA2u)=a2YfuFg#X2 z;qXvIhyjTIKh8YAVE4kE3<>`q_nlv`li{)a?Uf1+4;8`~K=`o>GXsx~z~(JSvb-79 zx62DK9_Iwo&m|d8D>16KZ?<9FzS)N9-vLI8?VJ8GnTrGIS0c=Ij?-qyg!y?FP&&i&a@=fNX{BH#AuKEqOJ7Y#pGy2axvJ KUXsKjArAmjwN9k~ diff --git a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServerv8.0.0 b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServerv8.0.0 index b4bcffd6a01fcf1e6c1c0677a3cb9ab9b797a2d5..bf54ab6815d82ee053943f5ee710bcfb3757616e 100755 GIT binary patch delta 36 ucmV+<0Nel2trF0!60rHG0ZfDXsE7Kf0k`_70+)CJIfs%V1GkbP1U_|Q-w_S~ delta 36 ucmV+<0Nel2trF0!60rHG0StrssE7Kf0k`_70+)CJIERuU1GkbP1U_|KR1nPo diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index aa4bb48a5..2aaa243c3 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -4772,7 +4772,8 @@ int set_read_n_rows(int file_des) { functionNotImplemented(); #else // only set - if (Server_VerifyLock() == OK) { + if ((Server_VerifyLock() == OK) && + (check_detector_idle("set number of rows") == OK)) { if (arg < MIN_ROWS_PER_READOUT || arg > MAX_ROWS_PER_READOUT) { ret = FAIL; sprintf(mess, @@ -4804,8 +4805,7 @@ int set_read_n_rows(int file_des) { LOG(logERROR, (mess)); } else #elif defined(JUNGFRAUD) || defined(MOENCHD) - if ((check_detector_idle("set number of rows") == OK) && - (arg % READ_N_ROWS_MULTIPLE != 0)) { + if (arg % READ_N_ROWS_MULTIPLE != 0) { ret = FAIL; sprintf(mess, "Could not set number of rows. %d must be a multiple " @@ -8472,9 +8472,9 @@ int set_master(int file_des) { functionNotImplemented(); #else // only set - if (Server_VerifyLock() == OK) { - if ((check_detector_idle("set master") == OK) && - (arg != 0 && arg != 1)) { + if ((Server_VerifyLock() == OK) && + (check_detector_idle("set master") == OK)) { + if (arg != 0 && arg != 1) { ret = FAIL; sprintf(mess, "Could not set master. Invalid argument %d.\n", arg); LOG(logERROR, (mess)); @@ -9028,9 +9028,9 @@ int set_flip_rows(int file_des) { functionNotImplemented(); #else // only set - if (Server_VerifyLock() == OK) { - if ((check_detector_idle("set flip rows") == OK) && - (arg != 0 && arg != 1)) { + if ((Server_VerifyLock() == OK) && + (check_detector_idle("set flip rows") == OK)) { + if (arg != 0 && arg != 1) { ret = FAIL; sprintf(mess, "Could not set flip rows. Invalid argument %d.\n", arg); @@ -10365,9 +10365,9 @@ int set_synchronization(int file_des) { functionNotImplemented(); #else // only set - if (Server_VerifyLock() == OK) { - if ((check_detector_idle("set synchronization") == OK) && - (arg != 0 && arg != 1)) { + if ((Server_VerifyLock() == OK) && + (check_detector_idle("set synchronization") == OK)) { + if (arg != 0 && arg != 1) { ret = FAIL; sprintf(mess, "Could not set synchronization. Invalid argument %d.\n", diff --git a/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp b/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp index ce1b75cdb..27b652f4d 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp @@ -705,6 +705,34 @@ TEST_CASE("sync", "[.cmd]") { proxy.Call("sync", {}, -1, GET, oss); REQUIRE(oss.str() == "sync 1\n"); } + // setting sync when running + { + auto prev_timing = + det.getTimingMode().tsquash("inconsistent timing mode in test"); + auto prev_frames = + det.getNumberOfFrames().tsquash("inconsistent #frames in test"); + auto prev_exptime = + det.getExptime().tsquash("inconsistent exptime in test"); + auto prev_period = + det.getPeriod().tsquash("inconsistent period in test"); + det.setTimingMode(defs::AUTO_TIMING); + det.setNumberOfFrames(10000); + det.setExptime(std::chrono::microseconds(200)); + det.setPeriod(std::chrono::milliseconds(1000)); + det.setSynchronization(1); + det.startDetector(); + REQUIRE_THROWS(proxy.Call("sync", {"0"}, -1, PUT)); + { + std::ostringstream oss; + proxy.Call("sync", {}, -1, GET, oss); + REQUIRE(oss.str() == "sync 1\n"); + } + det.stopDetector(); + det.setTimingMode(prev_timing); + det.setNumberOfFrames(prev_frames); + det.setExptime(prev_exptime); + det.setPeriod(prev_period); + } det.setSynchronization(prev_val); } else { REQUIRE_THROWS(proxy.Call("sync", {}, -1, GET)); diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 015d3b2a2..5410d5e07 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -2,12 +2,12 @@ // Copyright (C) 2021 Contributors to the SLS Detector Package /** API versions */ #define RELEASE "8.0.0" -#define APICTB "8.0.0 0x231108" -#define APIGOTTHARD "8.0.0 0x231108" -#define APIGOTTHARD2 "8.0.0 0x231108" -#define APIJUNGFRAU "8.0.0 0x231108" -#define APIMYTHEN3 "8.0.0 0x231108" -#define APIMOENCH "8.0.0 0x231108" -#define APIEIGER "8.0.0 0x231108" #define APILIB "8.0.0 0x231108" #define APIRECEIVER "8.0.0 0x231108" +#define APICTB "8.0.0 0x231109" +#define APIGOTTHARD "8.0.0 0x231109" +#define APIGOTTHARD2 "8.0.0 0x231109" +#define APIJUNGFRAU "8.0.0 0x231109" +#define APIMYTHEN3 "8.0.0 0x231109" +#define APIMOENCH "8.0.0 0x231109" +#define APIEIGER "8.0.0 0x231109"