From c0d5303b701dcc070cbe3faca2796f4160c1922e Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Fri, 15 Mar 2019 17:59:36 +0100 Subject: [PATCH] removed pycache --- .gitignore | 5 + .travis.yml | 1 - CMakeLists.txt | 1 - python/CMakeLists.txt | 3 + .../config_test.cpython-37-PYTEST.pyc | Bin 629 -> 0 bytes .../eiger/__pycache__/fixtures.cpython-37.pyc | Bin 927 -> 0 bytes .../test_dynamic_range.cpython-37-PYTEST.pyc | Bin 3915 -> 0 bytes .../test_eiger_specific.cpython-37-PYTEST.pyc | Bin 13713 -> 0 bytes .../test_firmware.cpython-37-PYTEST.pyc | Bin 10140 -> 0 bytes .../test_general.cpython-37-PYTEST.pyc | Bin 23904 -> 0 bytes .../test_load_config.cpython-37-PYTEST.pyc | Bin 6806 -> 0 bytes .../test_network.cpython-37-PYTEST.pyc | Bin 7614 -> 0 bytes ...test_paths_and_files.cpython-37-PYTEST.pyc | Bin 6583 -> 0 bytes .../test_threshold.cpython-37-PYTEST.pyc | Bin 5179 -> 0 bytes .../test_time.cpython-37-PYTEST.pyc | Bin 10186 -> 0 bytes ...st_trimbits_and_dacs.cpython-37-PYTEST.pyc | Bin 1945 -> 0 bytes ...test_version_numbers.cpython-37-PYTEST.pyc | Bin 1592 -> 0 bytes .../eiger/test_firmware.py | 3 +- .../eiger/test_network.py | 20 +-- python/sls_detector/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 428 -> 0 bytes .../__pycache__/adcs.cpython-37.pyc | Bin 2309 -> 0 bytes .../__pycache__/dacs.cpython-37.pyc | Bin 4766 -> 0 bytes .../__pycache__/decorators.cpython-37.pyc | Bin 1269 -> 0 bytes .../__pycache__/detector.cpython-37.pyc | Bin 39417 -> 0 bytes .../detector_property.cpython-37.pyc | Bin 2126 -> 0 bytes .../__pycache__/eiger.cpython-37.pyc | Bin 18528 -> 0 bytes .../__pycache__/errors.cpython-37.pyc | Bin 934 -> 0 bytes .../__pycache__/jungfrau.cpython-37.pyc | Bin 7664 -> 0 bytes .../__pycache__/jungfrau_ctb.cpython-37.pyc | Bin 5689 -> 0 bytes .../__pycache__/registers.cpython-37.pyc | Bin 1294 -> 0 bytes .../__pycache__/utils.cpython-37.pyc | Bin 1212 -> 0 bytes python/sls_detector/detector.py | 4 +- python/sls_detector/eiger.py | 14 +-- python/src/Detector.h | 119 ++++++++++-------- python/src/main.cpp | 31 ++++- .../multiSlsDetector/multiSlsDetector.cpp | 21 ++++ .../multiSlsDetector/multiSlsDetector.h | 16 +-- 38 files changed, 153 insertions(+), 86 deletions(-) delete mode 100644 python/simple-integration-tests/eiger/__pycache__/config_test.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/fixtures.cpython-37.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_dynamic_range.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_eiger_specific.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_firmware.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_general.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_load_config.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_network.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_paths_and_files.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_threshold.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_time.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_trimbits_and_dacs.cpython-37-PYTEST.pyc delete mode 100644 python/simple-integration-tests/eiger/__pycache__/test_version_numbers.cpython-37-PYTEST.pyc delete mode 100644 python/sls_detector/__pycache__/__init__.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/adcs.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/dacs.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/decorators.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/detector.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/detector_property.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/eiger.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/errors.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/jungfrau.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/jungfrau_ctb.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/registers.cpython-37.pyc delete mode 100644 python/sls_detector/__pycache__/utils.cpython-37.pyc diff --git a/.gitignore b/.gitignore index b3255ec5e..ee1820741 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,8 @@ bin/ build docs/ RELEASE.txt + + +*.pyc +*/__pycache__/* + diff --git a/.travis.yml b/.travis.yml index 3c2e4287c..155d3d259 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,6 @@ os: linux env: matrix: - - CONDA_PY=3.5 - CONDA_PY=3.6 - CONDA_PY=3.7 diff --git a/CMakeLists.txt b/CMakeLists.txt index bb05ed3a6..d11b8a104 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,6 @@ option (SLS_USE_RECEIVER "Receiver" OFF) option (SLS_USE_GUI "GUI" OFF) option (SLS_USE_TESTS "TESTS" ON) option (SLS_USE_INTEGRATION_TESTS "Integration Tests" ON) - option(SLS_USE_SANITIZER "Sanitizers for debugging" OFF) option(SLS_USE_PYTHON "Python bindings" OFF) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 9f9a3b7ee..1bb0985a8 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -20,6 +20,7 @@ set( PYTHON_FILES detector.py eiger.py errors.py + experimental.py jungfrau_ctb.py jungfrau.py registers.py @@ -34,3 +35,5 @@ foreach(FILE ${PYTHON_FILES}) endforeach(FILE ${PYTHON_FILES}) +configure_file( scripts/basic.py + ${CMAKE_BINARY_DIR}/basic.py ) \ No newline at end of file diff --git a/python/simple-integration-tests/eiger/__pycache__/config_test.cpython-37-PYTEST.pyc b/python/simple-integration-tests/eiger/__pycache__/config_test.cpython-37-PYTEST.pyc deleted file mode 100644 index 5ebee4b770bf54468b025fe91cb8f587ec7dcbeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 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 diff --git a/python/simple-integration-tests/eiger/__pycache__/test_firmware.cpython-37-PYTEST.pyc b/python/simple-integration-tests/eiger/__pycache__/test_firmware.cpython-37-PYTEST.pyc deleted file mode 100644 index bc17adbf6247a0dc8b77e8cbf287e785a0c9c3a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10140 zcmeHNO^h5z74DwD?&9TDcHV#7g17&nZHP_g?kP&aBsK z8yvAKdsqGXb=9lt>aN${)O%lD$mO()hraPjJu69nk_P^gpr41s`xpe1suGh~%#o`x zI>(!dm?TThWHlv=8l|dGjapUV9Cy-9t*SLM)l4&6%{Ft@Tr*$IlWoE&G>g?D=}D*5 zELY32WaU_jDL17Xa&-iBm8D4^1zlqq(#Js0vK;B-pyyeE^nIWgS&8%sR%Rn?v=OgP zS~*Ku-oJK$jaifHF*eTjp#}7Ra7)bun~Z9nV6m@BmHn%?w3jT;_jIpq)$F=m)9WtR z{UuAU+q`+rLh3A{xw_6R} zZ0XkZw(E7crD-$Q=lWN=Z#OL{nb+GEw_OJ6N!{x#ZZXg{U^b+MN-|WL<--kJ9wsfj zVewF1?z9?pZg#>n75MN7VYXL@R~0!de$Z75}OR}SPrG9(rQ3EEn09sB{#adBQwu=u3ZjrqytR5#8N-9!+F7Kt0N zZqiqR*bTXx3X(zUYOJdS3X`s?{0)|5DMxLlyDIobk|_@OPd5#{rUR9!H)JNUG?=Lh!&_rEAYhutJ7!|#K`Ib z^#eLsl}JxPpXGPdajC1J-v*j3gP!rR?~x$04*vQEJabkvUbia?2qW-8v4*=}?9y4F36 zHYY0HQ8J#dconUypAk)G`)yH+8b4FMPzOGeFf z8~}zkuer@O09%-aYGbiuJAh{%%!dmWUN~WROK!(uWNI`VchPhVnz6LunRN?$2=mVg zXLDNwJmH7|xY{&*a!0d8o>9s2IE;dqQHDaEtV z;Kfa6PlzVb)%?2>pM%?d@~OIZI6=-1?~2n?(+>en^cdXRI}AdKCFB(RtFju`I?gnstTnGe6Wa_Q`4o`xCQiqPbo6`9;~ccSqZ zVbqm4&%uf3Q53L1=0!UFzYv%(PM`z=FhNB{<)f(Mx5UR$>_ahuViLuE6bC@u0l)kp zlvYOh6KL@y3j7h`I*QMtKuG0>P|)o@hZ>?M|2zr=PW}{%r%`+X1%AxDg5n4Ye2x4l zh&vFDAH%9C6w@eXP|TvB8&KcJ@$v);1SuirK@0T(Kxx`7y9u~E^b3Nce=uM<4J{r6 z%dQ6&+l@)mUIi8OvB#jYTR~+Xfr{h8I&la~5ThOpOP;+emb@8-krY5m6ih}$1stV2dvJbRTNBKp?*X#StcEW$&o0S9A#tuU~&X% zNADR-jxRKBy^ViAKiBxzyMO!L3yUv8REcSzy|-q${OG{T7_C_#Af>d?o?5$<2G%ZO z_+LVR!R1mf3c8Ot=qy-ozg&3?F}n_8>|etgdJ|qaPWaw~mzQAFkI3ppzzaVEPrRqF zrMS6-5zz8gc!CFomh;eNduX|NAFCHgfs0j(NP!QpTDDJtzYf&NW(r)sj}*8Aamr39 z@Si}vNP+(XBbpsj;2~Pls^!mU8Le7&PJtJxcaZ|$PyKI~0zXMTixl{I>ic1)z$w*z zH%Ngz1qRW(I>GWP4)Bpmu=LTS8aHd-+}#P5Ndl5pi@SyZ662cfFBvfImto$9q9ItU z?3}W_04@5S8Y!=yYy36$%bB;2{O}y5vuY64(;p_>(07S+V}Lgi;fA!^_Jmt(fN+Zs z#z;WFrGi+HIsnuWL^cYLZYoe}o1~l4R53Op(hXxK4G1Al;%CM7m)c zfh7mYLSRXebc}#X?vE|8Ewsf{jN-ble)?=MOk zI2kwJ|G{$+rMCO=#DxLxfG3L)Q}&Q3Gor z(PMrRTezPe3GN3MGku`Id^{$J2`Dh;83YQ!&;K`x6_(lr4TgZB1nPv;O#^_W0YJ1s zBLKO@6iBWhYo7rCQCON-`z!!RHpnoI5-pHsVL3{)Xz&Ry!4d#=Zv+|uNCA5z0O>R9 z-fwWZK#7*$<6ne`MUs#hCqV+JRAV11SsPR8!#oCuzz_&!OJT@e(%=b z-(Nku_u%Dq82%3M;yz?}*$!XyV*+b{H@^dG?!^IJg5eX}GmJN|hoFl5{He-lHH(15 zER*5K$uXDoDFRMmXTagl%IA~cE+DLIHpTT$t@K&2O;P36f@F%0I`3?o!~+XRRZ3nzPf5X3XUHjpW9iJcAU zeo?4IWr9w_40$zEb6a&A_AJ0g5!?%M-G}W{9>;}}czL+>g=40Y<4<>WWN`P%l!cp| zJdR&owLDbQ@omTB#OEQI&XJVhn6c)VQ{v}Q;F7JH$2&9AH;Jl;y&6rEUkx*`9|HEI z_}qroAtExz7clUCiK-)(PW^JzWgW*li#w@2qzn_XDwQQ5`Q?LhR?a4}*=!E}^C&er KCQsyI@_zscSItuZ diff --git a/python/simple-integration-tests/eiger/__pycache__/test_general.cpython-37-PYTEST.pyc b/python/simple-integration-tests/eiger/__pycache__/test_general.cpython-37-PYTEST.pyc deleted file mode 100644 index f0a0f3613decffc537db4e6df8acb42a35b000f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23904 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 diff --git a/python/simple-integration-tests/eiger/__pycache__/test_network.cpython-37-PYTEST.pyc b/python/simple-integration-tests/eiger/__pycache__/test_network.cpython-37-PYTEST.pyc deleted file mode 100644 index 7972e53f5b91a1fe2cfd4bdd28b268b2612d9422..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7614 zcmdT}&5s;M74NT^>FN2}FWYMpLSqr|1bf%J_WA?i$e0igz{&zkK|`WuJk>MPyFJt6 z>Yms;%peq7kwHOPp`0Qg)+iUGh!a8qE*wzK0p)=DkPBRvKOrZ6uey6a_AB<<2zyua zy1MFhRlVx^{oZ@kR|^G$|GVDA4kX`9Rr>{{S)V;g2kt7SDz*-pdeVOCrM^c3oeQcWf${OR%U z+qn9lLfrmmAoZm+IZ)QrJIX848y~%{4CH~*m;1`PGEn;}lh$>9T`Y;#N)0rzOsbo1 zWdZke|)9%PjVkugZU!%RR`u_;@tt`{~YF%bo>Z`6i(3lYzTe%0)dfI;r?fJg^ zK<4kDRG?B@p~V|&ye~8qX#8Gipacyp>V4&?G)S`oEB4cljB+L@LZj5rJiubUg_#W0 zn^UjhRbx?0tDHqGjLixK7OpdMj1mw|RgzvAl0q-L7q} zdTslZ*>UZvZ<}5GPDEO!4TYqzT{J50My+irVh z`7`D6<+9wHdGTat<4oB%FJCsPxLo$bLNcz^^spOpHLqQF8ses`gevq&Ecc4BQS{t7 zJcr72<*88ZIh|0aN5zQA<21=iX}#^;YKyL@(GQPU9kIR(w5nJ{E7<7RK2O1dP><_; zo~B#lN~CI4c{pv=s;+BsyTfZYx&i>O+AFgZ$I_?<8*GxzGNWuRfd>d!b z)Gmx`o3d{NnJpbC*96MZTa5DTmLX973$*6~Liw*y%2O#ud7|-K(&$Uj_<%I1L?{!H-o7^!7jSei!A1hZH} zyT}-y<}Ar+Aeep$j?>b65spuyb%gBO8ql;nr z3pC!>AjSc6b_9#4I)cUd@tcb~L179|`0!t&8CpI91J|}hY;_W&L{L!D07HHZ3YxSU zL16(pdqd$9w9xi%C=+l{0f@ce@M8*29{~=3!Y~WZeui$@NKx?6@+i{M2hxkdpyL>9qn=SC4#qyqkKX2L+9`TdP0(iAnuPS z8F4aKVpFj*m}WBvI0FhqrLDpPWZ?))i*O6G10A;MBilA*zWh)Ko=Y4Wg46fM>^nmJ zP1*;Ix|laYPW0aqGmpa0$gROfQHQXR9Tk>j*)cZX&x)YZ2qL#;j0KexP^tr6xV7V} z&f0%~-gOc#i5A4Og5&epgNMg)mvtuH8j?!kU&0jC`{;S(-KH?qgm*h1WuWJ`vGt|x zi!>9tw{n0Zt#isikw|tM%}HN6G0^^Qv{WHC8qfN1=p$6CwVPpKVnXFySN~jbJ3o9CtWdad_6)okLbA9uMBJI=kZBQjX6V37#GRV|5g?Xk zhR7gul#dFK=7-dB5ABho{fz))1kk)FCjh0auOI-Lp<}jwlJ!LZ9nbpWjBgJTjdNfS z!SfGg!Bk=aXoTo5v0<7>dC~@GTuZD#|CPP$U^9uu(Ehp52Ax8i>`w@FhRwz_G{=q{ zL_^5vCkgfF&Rl;};o3vld2DE>;=hTxBzDg4epj1{e^Jbw2vy-%#mt|``$`D)W4J}< z?-0)ljlK+E9iB#m+723hwCrH}3XLxJJ|_p+H42e6@yP^v?#0slEVTGJi0!M~1@O=cJCQdYBnG)E-N$=B?R>q>%c;U41YeFHlFDujfzg#tQa+9Zch z5|@O7M@-xKJPy8$9)}#P<7OBFzAHk&Vb~|L$wOcNdDsv;By5(}H!Av-rtupBR_U+9=zf8na<);=}?rfa_)+ z%8KcjkyJ1x&5jspA3LD&YGMicCl*dpwa9}U-j?Wt%^QY^zw1rM7wN9aJli+hUSQUm zc5PjJ$6?jL^xEQ+!qS=V-f#jF2lwlzQ0H!lTBOKkwarW%^^QLBMExe;E}r^Rkndr? z9>8;p2Lx{c4#}KG^{_`EuWtW<#x7JcaYv6sANVvthcBa3kp20>Bt0QS_V=7%34EEk zf#VJ4_~IJR=oP3&v00iTGm60W=8HXJvnzPId^F5h7V~PB73#^C5pf6_9#1~IL}bK;lj99N{k8opc1NEC_AWpz!T&8P6M=M6>v EFK3T=kpKVy diff --git a/python/simple-integration-tests/eiger/__pycache__/test_paths_and_files.cpython-37-PYTEST.pyc b/python/simple-integration-tests/eiger/__pycache__/test_paths_and_files.cpython-37-PYTEST.pyc deleted file mode 100644 index f5f84fe1406038daf56028742fc5146f50c22cad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6583 zcmds6OKc=Z8SeM=yzTLGpP6j3o1KvOwa-Z2C2TebMaT--h@cjz)9Y&6ZFkR1s@l72 z({o|>zy+~L2#IJF**Dd{b-lg3#J%;j zC@W%L#A#)>l1eQ#ZQRb^`nDIY`)_jI;forX#IJ;>faeW7;-3%<-iJz0OSDyWOH0&M z9gnfC_4Gtf6xU3YRkLR#Mxw82Ju@+xvS#zUcuNbdsL-?EzshuqO|PITNg=VA@sJ{F zGWh!=19hhOdtBNoGdnStR8}NgOWL-NlhJ^e~_)nL9@&%PxNu6XR|7+C3c`9UyO&KF`N{)@fCi65gAI)=wbYbaD9QR z@Ex(LzP&+Fd(Y$TpuJ2L_mOq|2i-7O4C2izo)A8d(bkMt{N_E1Xmg>{_FrjsL*EmA za~;pQOsg3P*>-MoaeAc_`O~4h#5=2OWm<${_fszO&U%+B+})aK5kxTdYS51TW$wj6 zr~N7oN=(adJWYAG>%}X=_1er`3PN8@bvJhEKhHF8G$}XJ5>xb&G+*j9Z)DY%TY~Gbo*L9G`p}_DV$OlM zyjjcrB@12g#zf|}ISbF*_rb=3sb4d8vJffhA(-4Yos}0ps zEyc!P1%IPhCM!s53crZ5>!0bm#q7ow926FbyxR#hmEe2#stfT<^u@hV3&#!tM zkej3&aHYXU`Wl~*Mq+NOk5z7y4&|XUBJs()y?SCNb$C3K43Wp^^P^+=Jem7E^jH(`qR&xw zLi&7?Y)hX{?Rtc${23Y(2{07)|02hq;pr)vufmtU|FEY>ZHj=#OHw0`06Q(wcNldP z;~~WO42_@qOQ?1-sl(RUCmQ0?V9&8;(vWc($>TCI5SJ?AQlr@58S2&9^T&#h#(#gT z_?+vA6+!1HpNHhFH7xb5uX>16(5~{e60Aq*pH7P zehMFsnm>kUNRMg$82q&K`0)4`;&rJ_@iF*YQu|rN=lrqaWAIOo6`u?J_?Y6?@ZqTV zm|{+POz|-}A&mum=hhEC~kW->-C8OiM{7$E0QRJJGPoZ zTjsBT@mbj{feX|XABG?ncm=PH$ycw@3pt&fg&j-*v|n=!3~FYxK0qL6VOv(u(P(D# z(Y#1QMtLqTpU=ye@-lI!)~P)*#)+ZuF%mT6_ymMgl5|r}9j6LT-x2HFcjF-P9lH%~ z4yr7iGRnk1qYm@ajGz)t%wG=L%zxnM-r@&of#xbPz!~abk_53;eu4zeIDV4EDH6o4 z_!$ysNjyiQN#c2k)~IBZoF+l$!DY%3b>_1W8EMQyG&fkt8D!RSIqO|^Owk#nny+#C znw)|-`2K5yh3n}6H@)ge7M*d^+1Y)iO9xhMdgjRGNpnH`0)p73k?~97nE9WrH8dM6 zbB}Ra3YUztqGq)uOF0|0l&*3?wvK*bt^6j&+J`p!qm=ld_s< zU}iWUOD_6Nrs4dnMp_SNUF3~Wk8sYUb8muM0Levh5@xpKqPqA^Y;J+m;tUK9OSU8{ zE60T`TQbp2v=`-B_z`lY{489Sc@->^>NK#a?8Ixy6R#!NR3Rp6d*6k2-;o8U*zT}EEP9;f7ZY-Ae;GEim$6)q*vRH-w>s?N zf$-PO{dT(@+_-G)ZEDzMIMIQ@Erwq~#lDRU+YG;oN~f0F!Hqy1c;U_~R9VR@{iqvn z>`alhYC0-$|3JT=3(jph&0Wm+W(BT@3O@9v;qTf>9QNDu| z6INSrDjr*1y63SqaZjwa4DbPYnUh-F3xqGy(%#)8zXh9^%JeZ0I)3&L$KA{fZM1@} zY!$Vl@^2vRk9r?W{}Cb>Q>HymQ3m!T_&BObn-`CDjhO{DhjeWqlR>51LT(v14yhIoqm zlGmoiepOn?>oOktCM-GS#ZG%Ez~w3qc62}dAO-`@fHmWww7NJQo;dzhqBtXi7t>Qd z{qI0d3-H3<5JBg3$V=^cQ0w*3zez|Vh&S6xL$Os` RJ*`$uO>GqLjN7(t{2O>2mhk`p diff --git a/python/simple-integration-tests/eiger/__pycache__/test_threshold.cpython-37-PYTEST.pyc b/python/simple-integration-tests/eiger/__pycache__/test_threshold.cpython-37-PYTEST.pyc deleted file mode 100644 index 256e89eea594f0291cc733228fe32eed73308751..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5179 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 diff --git a/python/simple-integration-tests/eiger/__pycache__/test_trimbits_and_dacs.cpython-37-PYTEST.pyc b/python/simple-integration-tests/eiger/__pycache__/test_trimbits_and_dacs.cpython-37-PYTEST.pyc deleted file mode 100644 index db4e43254a9917b133dd096b8b132ec5fb270aeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1945 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 diff --git a/python/sls_detector/__pycache__/detector.cpython-37.pyc b/python/sls_detector/__pycache__/detector.cpython-37.pyc deleted file mode 100644 index ec20c2e95077274815c70ae44c443e537be7d26b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39417 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 bY|t-85}j`a??X1;W~Jj6c4%wf0`=J60*?4k diff --git a/python/sls_detector/__pycache__/eiger.cpython-37.pyc b/python/sls_detector/__pycache__/eiger.cpython-37.pyc deleted file mode 100644 index ec868bcd871c82f7fb08efabe1884af6bb7c29be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18528 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 diff --git a/python/sls_detector/__pycache__/errors.cpython-37.pyc b/python/sls_detector/__pycache__/errors.cpython-37.pyc deleted file mode 100644 index 984ff4fdb516b42fb322c6cdedb845110ae31339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 934 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 LsnzhO&sF~mL?QPJ diff --git a/python/sls_detector/__pycache__/jungfrau_ctb.cpython-37.pyc b/python/sls_detector/__pycache__/jungfrau_ctb.cpython-37.pyc deleted file mode 100644 index 2f25b63cb46e3380b62a2c8a3a35d01aa0f5d32f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5689 zcmbtY&2Qtz6(=c5qGamBvh4M4(?rSUOZkv@)22<*#bQ6)EwTqU*e!A(+7dKpWYZmr z%8+ss!R?`IU=KY6MGrmX(Co25fEK;?)PJD20KDeX{Reu;rG0PsHFRt_aw%{$^JeC~ z_j@z%y&2wVwVDb%Tc24!?{^jDD{N$s4wYN*hF?HI6rwW4S1nb=y2doWVpT-F!gRlC zRYhHAHLFIdq{iyLVHrTHk~(YnO{*#D23zq>%k*1TOSBuT?RTt>s5e>HU$s_6eTDV> zHET`OP1g6 zJn|d{Rpb4La%Y!Os5d8$Pf0YJGP?6rO@2vw2RxWk9(@9|Hsw6v_P#SA%$w{1E8_v(^FmN3Hi3=J)0T@$ zXHO3*x8M!$KtUBtC5ojHm1v|wbTlxj6N5BJldKREO@d}1tE9Krvnphb^p6!<*;XE@ zmQL2eBpY$({%o>0=FaTy&+Z6yb?9>3Ya9*WecplM<0@D!Azzose}kQnlHZcZ$CaG? zJ&Am!82x>TEb)F@B7dsoOnxAd|5eY)Ka|K4lXoQYgF=&cC34E73MjA3F#lr+=7KKc z{4!x9=rYiMCT0_f4q94Wsrf1@73*0`+vLHh`IzABjgMS)$WjjqL-O*pu(qZjdA1!lZQBpXjA7lhZS=9Ur)tA;g>eJ_kQ5dGlG+;Lf!(UKQSi%97^-&eucnDP zE)35fG$%eG0VC%=_WEOGEd1=aVO6M(-gb3*yrn0>3%E6C1A00b%0x>??-lhXZ9-2kZ|R9Q!>ARy0zK>K+oGkD4RT4;O|nTY zA1hW1^u0p9BWP`?KSRDN>K)pFna}1eojgYdqNhu{(DQuW(#Z?ts_0pztI+de-qOiS zR*av#`Y5$-Gl-CN%W7xSCMxi(26={cvz3SrD!3Y0g!;3c@ zK_yZiDWAjkegY{c(vE=pkz!XOJ*`!vT3V|U1-Jgr(1@$y4B{?sG;iWXwk;N&Zvr>o zf&#Wx7Hv6hpSWc^QUnIC(L>6{vE~to+zs1ynG=S1rtH^N*8P3RC; z4;?n6r>SxsCZwt?34B+U$zMYGrz3t9y526toJ734JYwWnl8*5N&6W)dQ zVo2SRtOZDiAmU~r<|I;gd8Ej(B>g<3IN?sA!jfxBO0pIpeGNq1E5w{cN|r~8981#A zLy8mb7b+}+R6n%6pd@So)Yn1AP9bOBm4gN{S{^I1EQvo4D^7S&=&%gd`k~D{--}A} z7QlT2#C%wYny;1N3SP@2My@3d&O?k7tU`?vVhqgUKvjbZM#UtLsQg)IpB{u_Q_dK_ zEEvx>Wqk6Wl1NN(LL}w^0x9hPZc{fDQUTHWy!Y_eUgYi%g7J6|?bE^S?Yq1R1D|5H z*#V6(;Gdyb4P^fG-n}u5$WlV@gi6p|Qsz|r^M5p(gY>yQ8F-U0awaYXod((U2J%uk zn1z%K#sMEVu1muZ?lwYYJig&rXMiL|b6zmgpRvdrWJk*J3idT!hGRpwBRFbs$B;6!witJ#T-u0pn zyeWnI9b7L@OV+VTV9Ycf^V?j$R^B!8ppt9ky9N&;i5|(pC_DOO+F-(#wONqL-U3#? zD>PXWx0&JIcfzwkHv}FW@VJmOUzgTxl#jR&Tr-0!lvscjPYu5>bhseayDV^jb;be< ztS%1tw2<>ntYXCfg*8!P0oHdw{vQh+mc-hIb-fRt2p%R5c?Q~gm~{WCkW-HDY5#?g zwqaFe6&7Iq5y=0n(Ba!*ogd|4=HZk=5QAui!Io2p1hZ%$)(Be6iM&HPhyu|&o-sBE zal904zHQu+retU9J{bBzB2g@$E~2Z=k=6{z8XAw&*_+OC;; zTZgxr{$o9P4WnlEPWEVOyQixhxePDIjqz*(Ukn2la?BHP#|;>RZ-`zn2}jPZ%Q0%l zD-xCCEf8?SBGM=}vP8)7_z_oUkq4~c%a;=Ckjq1kNuM{c5cn|%#jDvQJ2&PE(wl_3 z0e9d7W+;pjH?o^YG_z?MIHXN H?&kjhh2~PP diff --git a/python/sls_detector/__pycache__/registers.cpython-37.pyc b/python/sls_detector/__pycache__/registers.cpython-37.pyc deleted file mode 100644 index 478aa9fb1d816f6d483efee78bfad01bc083acc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1294 zcmb7Ey^hmB5Z?7q;>(|Ma3?4bHEu3E073^y(4~OR6f4WSmpC|am~}uorMo-?C0Ft; zJi)ezf>)qoW_{~RqNBKxW`Aa9XTO>4ZXi_ZUk|mzx(%Z7cSAq0puw_>~31ui-Xluzfz8RV5y_)2@QjlRb zR%j-DgQ_Xn4c{<<`Jg`^$J`tVsVbFKB_P;9tKz~$&hmpngjfE)9Zk!*8WrLK%9)&w zbfKNg1j^Nt3{9B*4cq|IXUnyTgvb|pB?RTCEku5K>@c6X(>?IyYQYZ(Je#o@|L$%0 zHLnx!Aw;_gM7qpP4^%2$xY&ah9r>Ts+NMztM`Y^?F;P`ssksp3RAccjPuyk1(l}%U zfrRD&)xtT!#VwqTca2@)s#=4BF1nchSHO2%+}O9Epif8Pm$X=^JFsbojR*{b&<}M5T+x(|aW|0r%}nOX>}Q(8gB|aZ)~%i7U?O?lZTIL>ZIN zd~fE4mN^W37kMzmkcX(KtfUUr;{#MXw1x110z9OFTB&B}zr38H3-yeqEQl8%%Qy~A mN2;uZ6u(~$L`=;xxmlMTh?Z~L{?UuNO6+G2hEP%dB9f6Gf?5 zVJ!2)d8xZB)0}y0$~`4q<2d_DavR@r+9=a<5MC9cNOr+-UGs3LpBOU|e``Ft(9X zK!*eO8cd);+&nCvd?p1Appy%-NzUjQ1)%ZZ*{gzON-?2CUuf?FKyg@Rido@Hs{vLi zn1MX@NIJoaOgS-0gmuA0ZA|n4mLd6Y`;-pp1ypH)>_Ab~2R~t(`(-%uBEv)&-drMBaidz?obAX1lvi$u~Lb+Y*;N)s%tt+%R zKCqn`2L>Pn~C3KF~qDEwA!8W0Sn!y>UFgPIO=LDJxaM#Ic zGz8HPqdVj-;kAcAqB%AA-e52`MQ*qN-E^U&!m>}90_mW%D=EpoKmofJ+rhiB+8jtX z2s;GHSbKF(`s*l1()Sox99v!NEC=ytQdioCPD5EV{8*3%y+V-o%3`Peud9 getReceiverPort() const { + return det.getReceiverPort(); } void setReceiverPort(int det_id, int value) { @@ -276,11 +273,11 @@ class Detector { std::vector getRateCorrection(); - bool getFlippedDataX(int i){ + bool getFlippedDataX(int i) { return det.getFlippedData(slsDetectorDefs::dimension::X, i); } - bool getFlippedDataY(int i){ + bool getFlippedDataY(int i) { return det.getFlippedData(slsDetectorDefs::dimension::Y, i); } @@ -308,7 +305,7 @@ class Detector { std::string getFilePath() { return det.getFilePath(); } - std::string getFilePath(int i){ + std::string getFilePath(int i) { return det.getFilePath(i); } @@ -611,16 +608,14 @@ class Detector { return det.enableWriteToFile(-1); } - void setFileOverWrite(bool value){ + void setFileOverWrite(bool value) { det.overwriteFile(value); } - bool getFileOverWrite(){ + bool getFileOverWrite() { return det.overwriteFile(-1); } - - void setAllTrimbits(int tb) { det.setAllTrimbits(tb); } @@ -635,16 +630,46 @@ class Detector { det.enableDataStreamingFromReceiver(state); } - // //Get a network parameter for all detectors, looping over individual detectors - // //return a vector of strings - // std::vector getDetectorNetworkParameter(std::string par_name) { - // auto p = networkNameToEnum(par_name); - // std::vector par; - // for (int i = 0; i < det.getNumberOfDetectors(); ++i) { - // par.push_back(det.setDetectorNetworkParameter(p, -1, i)); - // } - // return par; - // } + //Get a network parameter for all detectors, looping over individual detectors + //return a vector of strings + std::vector getReceiverStreamingPort() { + std::vector vec; + vec.reserve(det.getNumberOfDetectors()); + for (int i = 0; i < det.getNumberOfDetectors(); ++i) { + vec.push_back(det.getReceiverStreamingPort(i)); + } + return vec; + } + + void setReceiverStreamingPort(int value, int det_id) { + det.setReceiverDataStreamingOutPort(value, det_id); + } + + std::vector getReceiverUDPPort() { + std::vector vec; + vec.reserve(det.getNumberOfDetectors()); + for (int i = 0; i < det.getNumberOfDetectors(); ++i) { + vec.push_back(det.getReceiverUDPPort(i)); + } + return vec; + } + + std::vector getReceiverUDPPort2() { + std::vector vec; + vec.reserve(det.getNumberOfDetectors()); + for (int i = 0; i < det.getNumberOfDetectors(); ++i) { + vec.push_back(det.getReceiverUDPPort2(i)); + } + return vec; + } + + void setReceiverUDPPort(int port, int det_id){ + det.setReceiverUDPPort(port, det_id); + } + void setReceiverUDPPort2(int port, int det_id){ + det.setReceiverUDPPort2(port, det_id); + } + // //Set network parameter for all modules if det_id == -1 otherwise the module // //specified with det_id. @@ -720,31 +745,27 @@ class Detector { int multi_detector_id = 0; }; - - - -void Detector::setFileFormat(const std::string& format){ - if (format == "binary"){ +void Detector::setFileFormat(const std::string &format) { + if (format == "binary") { det.setFileFormat(slsDetectorDefs::fileFormat::BINARY); - }else if(format == "ascii"){ + } else if (format == "ascii") { det.setFileFormat(slsDetectorDefs::fileFormat::ASCII); - }else if(format == "hdf5"){ + } else if (format == "hdf5") { det.setFileFormat(slsDetectorDefs::fileFormat::HDF5); } } -std::string Detector::getFileFormat(){ +std::string Detector::getFileFormat() { auto format = det.setFileFormat(slsDetectorDefs::fileFormat::GET_FILE_FORMAT, -1); - switch (format) - { - case slsDetectorDefs::fileFormat::BINARY: - return "binary"; - case slsDetectorDefs::fileFormat::ASCII: - return "ascii"; - case slsDetectorDefs::fileFormat::HDF5: - return "hdf5"; - default: - return "unknown"; + switch (format) { + case slsDetectorDefs::fileFormat::BINARY: + return "binary"; + case slsDetectorDefs::fileFormat::ASCII: + return "ascii"; + case slsDetectorDefs::fileFormat::HDF5: + return "hdf5"; + default: + return "unknown"; } } diff --git a/python/src/main.cpp b/python/src/main.cpp index 75b0ab0b5..bb3ba79fd 100644 --- a/python/src/main.cpp +++ b/python/src/main.cpp @@ -43,9 +43,6 @@ PYBIND11_MODULE(_sls_detector, m) d.n_frames >> 10 - - - )pbdoc"); DetectorApi .def(py::init()) @@ -180,8 +177,15 @@ PYBIND11_MODULE(_sls_detector, m) .def("getRxDataStreamStatus", &Detector::getRxDataStreamStatus) .def("setRxDataStreamStatus", &Detector::setRxDataStreamStatus) - // .def("getDetectorNetworkParameter", &Detector::getDetectorNetworkParameter) - // .def("setDetectorNetworkParameter", &Detector::setDetectorNetworkParameter) + //Network stuff + .def("getReceiverStreamingPort", &Detector::getReceiverStreamingPort) + .def("setReceiverStreamingPort", &Detector::setReceiverStreamingPort) + .def("getReceiverUDPPort", &Detector::getReceiverUDPPort) + .def("getReceiverUDPPort2", &Detector::getReceiverUDPPort2) + + .def("getReceiverPort", &Detector::getReceiverPort) + .def("setReceiverPort", &Detector::setReceiverPort) + .def("configureNetworkParameters", &Detector::configureNetworkParameters) .def("getDelayFrame", &Detector::getDelayFrame) .def("setDelayFrame", &Detector::setDelayFrame) @@ -222,6 +226,7 @@ PYBIND11_MODULE(_sls_detector, m) .def("getFramesCaughtByReceiver", (int (Detector::*)() ) & Detector::getFramesCaughtByReceiver) .def("getFramesCaughtByReceiver", (int (Detector::*)(int)) & Detector::getFramesCaughtByReceiver) + .def("resetFramesCaught", &Detector::resetFramesCaught) .def("getReceiverCurrentFrameIndex", &Detector::getReceiverCurrentFrameIndex) .def("getGapPixels", &Detector::getGapPixels) @@ -259,6 +264,22 @@ PYBIND11_MODULE(_sls_detector, m) .def("getNumberOfDetectors", &Detector::getNumberOfDetectors) .def("getDetectorGeometry", &Detector::getDetectorGeometry); + + +//Experimental API to use the multi directly and inherit from to reduce +//code duplication need to investigate how to handle documentation +py::class_ multiDetectorApi(m, "multiDetectorApi"); + multiDetectorApi + .def(py::init()) + .def_property("busy", + py::cpp_function(&multiSlsDetector::getAcquiringFlag), + py::cpp_function(&multiSlsDetector::setAcquiringFlag)) + .def_property_readonly("rx_tcpport", + py::cpp_function(&multiSlsDetector::getReceiverPort)) + + ; + + #ifdef VERSION_INFO m.attr("__version__") = VERSION_INFO; #else diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index bd4f9af29..8d6f8e766 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -72,6 +72,23 @@ multiSlsDetector::parallelCall(RT (slsDetector::*somefunc)(CT...), typename NonD return result; } +//Const qualified version +template +std::vector +multiSlsDetector::parallelCall(RT (slsDetector::*somefunc)(CT...), typename NonDeduced::type... Args) const{ + std::vector> futures; + for (auto &d : detectors) { + futures.push_back( + std::async(std::launch::async, somefunc, d.get(), Args...)); + } + std::vector result; + result.reserve(detectors.size()); + for (auto &i : futures) { + result.push_back(i.get()); + } + return result; +} + int multiSlsDetector::decodeNChannel(int offsetX, int offsetY, int &channelX, int &channelY) { channelX = -1; @@ -748,6 +765,10 @@ int multiSlsDetector::setReceiverPort(int port_number, int detPos) { return sls::minusOneIfDifferent(r); } +std::vector multiSlsDetector::getReceiverPort() const{ + return parallelCall(&slsDetector::setReceiverPort, -1); +} + int multiSlsDetector::lockServer(int p, int detPos) { // single if (detPos >= 0) { diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h index 21e624c7a..9a3b7fa63 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h @@ -153,16 +153,10 @@ class multiSlsDetector : public virtual slsDetectorDefs, std::vector parallelCall(RT (slsDetector::*somefunc)(CT...), typename NonDeduced::type... Args); - /** - * If specific position, then provide result with that detector at position - * pos else concatenate the result of all detectors - * @param somefunc function pointer - * @param pos positin of detector in array (-1 is for all) - * @returns result for detector at that position or concatenated string of - * all detectors - */ - // std::string concatResultOrPos(std::string (slsDetector::*somefunc)(int), - // int pos); + //Const qualified version + template + std::vector parallelCall(RT (slsDetector::*somefunc)(CT...), + typename NonDeduced::type... Args) const; /** * Decodes which detector and the corresponding channel numbers for it @@ -440,6 +434,8 @@ class multiSlsDetector : public virtual slsDetectorDefs, */ int setReceiverPort(int port_number = -1, int detPos = -1); + std::vector getReceiverPort() const; + /** * Lock server for this client IP * @param p 0 to unlock, 1 to lock