From b3ff825ce85a6624b481893e1d530761d5594bfd Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 1 Oct 2019 16:26:42 +0200 Subject: [PATCH] updated gotthard2 api etc --- .../gotthard2DetectorServer/RegisterDefs.h | 62 ++++++++++-------- .../bin/gotthard2DetectorServer_developer | Bin 92968 -> 92968 bytes .../slsDetectorFunctionList.c | 7 +- .../slsDetectorServer_defs.h | 4 +- slsSupportLib/include/versionAPI.h | 2 +- 5 files changed, 39 insertions(+), 36 deletions(-) diff --git a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h index 54d5111d6..a47e5c92a 100644 --- a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h +++ b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h @@ -1,10 +1,12 @@ -// stuff from Carlos #pragma once /* Definitions for FPGA*/ #define BASE_CONTROL (0x000) -#define BASE_PATTERN_CONTROL (0x200) -#define BASE_PATTERN_RAM (0x10000) +#define BASE_ACQUISITION (0x200) +#define BASE_UDP_RAM (0x1000) + +/* Module Control Board Serial Number register */ +#define MCB_SERIAL_NO_REG (0x00 + BASE_CONTROL) /* FPGA Version register */ #define FPGA_VERSION_REG (0x04 + BASE_CONTROL) @@ -14,55 +16,57 @@ #define DETECTOR_TYPE_OFST (24) #define DETECTOR_TYPE_MSK (0x000000FF << DETECTOR_TYPE_OFST) -/* Module Control Board Serial Number register TODO: versionnumber and serial number? */ -#define MCB_SERIAL_NO_REG (0x00 + BASE_CONTROL) - -/* API Version register TODO: MSK and ofst? */ +/* API Version register */ #define API_VERSION_REG (0x08 + BASE_CONTROL) +#define API_VERSION_OFST (0) +#define API_VERSION_MSK (0x00FFFFFF << API_VERSION_OFST) +#define API_VERSION_DETECTOR_TYPE_OFST (24) //Not used in software +#define API_VERSION_DETECTOR_TYPE_MSK (0x000000FF << API_VERSION_DETECTOR_TYPE_OFST) //Not used in software + /* Fix pattern register */ -#define FIX_PATT_REG (0x0C + BASE_CONTROL) +#define FIX_PATT_REG (0x0D + BASE_CONTROL) #define FIX_PATT_VAL (0xACDC2019) /* Status register */ -#define STATUS_REG (0x10 + BASE_CONTROL) +#define STATUS_REG (0x12 + BASE_CONTROL) -// TODO: is this bit implemented (else make it ifdef virtual) +#ifdef VIRTUAL #define RUN_BUSY_OFST (0) #define RUN_BUSY_MSK (0x00000001 << RUN_BUSY_OFST) +#endif -/* Look at me register TODO: is this a RW register */ -#define LOOK_AT_ME_REG (0x14 + BASE_CONTROL) //Not used in firmware or software, good to play with +/* Look at me register */ +#define LOOK_AT_ME_REG (0x16 + BASE_CONTROL) -/* Pattern Control FPGA registers --------------------------------------------------*/ +/* Pattern Control FPGA registers TODO --------------------------------------------------*/ -//TODO: do we really need the get delay and get period? /* Cycles left 64bit Register */ -#define GET_CYCLES_LSB_REG (0x10 + BASE_PATTERN_CONTROL) -#define GET_CYCLES_MSB_REG (0x14 + BASE_PATTERN_CONTROL) +#define GET_CYCLES_LSB_REG (0x10 + BASE_ACQUISITION) +#define GET_CYCLES_MSB_REG (0x14 + BASE_ACQUISITION) /* Frames left 64bit Register */ -#define GET_FRAMES_LSB_REG (0x18 + BASE_PATTERN_CONTROL) -#define GET_FRAMES_MSB_REG (0x1C + BASE_PATTERN_CONTROL) +#define GET_FRAMES_LSB_REG (0x18 + BASE_ACQUISITION) +#define GET_FRAMES_MSB_REG (0x1C + BASE_ACQUISITION) /* Delay 64bit Write-register */ -#define SET_DELAY_LSB_REG (0x88 + BASE_PATTERN_CONTROL) -#define SET_DELAY_MSB_REG (0x8C + BASE_PATTERN_CONTROL) +#define SET_DELAY_LSB_REG (0x88 + BASE_ACQUISITION) +#define SET_DELAY_MSB_REG (0x8C + BASE_ACQUISITION) /* Cylces 64bit Write-register */ -#define SET_CYCLES_LSB_REG (0x90 + BASE_PATTERN_CONTROL) -#define SET_CYCLES_MSB_REG (0x94 + BASE_PATTERN_CONTROL) +#define SET_CYCLES_LSB_REG (0x90 + BASE_ACQUISITION) +#define SET_CYCLES_MSB_REG (0x94 + BASE_ACQUISITION) /* Frames 64bit Write-register */ -#define SET_FRAMES_LSB_REG (0x98 + BASE_PATTERN_CONTROL) -#define SET_FRAMES_MSB_REG (0x9C + BASE_PATTERN_CONTROL) +#define SET_FRAMES_LSB_REG (0x98 + BASE_ACQUISITION) +#define SET_FRAMES_MSB_REG (0x9C + BASE_ACQUISITION) /* Period 64bit Write-register */ -#define SET_PERIOD_LSB_REG (0xA0 + BASE_PATTERN_CONTROL) -#define SET_PERIOD_MSB_REG (0xA4 + BASE_PATTERN_CONTROL) +#define SET_PERIOD_LSB_REG (0xA0 + BASE_ACQUISITION) +#define SET_PERIOD_MSB_REG (0xA4 + BASE_ACQUISITION) -/* Exptime 64bit Write-register TODO: ?? */ -#define SET_EXPTIME_LSB_REG (0xA8 + BASE_PATTERN_CONTROL) -#define SET_EXPTIME_MSB_REG (0xBC + BASE_PATTERN_CONTROL) \ No newline at end of file +/* Exptime 64bit Write-register */ +#define SET_EXPTIME_LSB_REG (0xA8 + BASE_ACQUISITION) +#define SET_EXPTIME_MSB_REG (0xBC + BASE_ACQUISITION) \ No newline at end of file diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index 6393fc83782246c6644883d89ae1f4b011b9fb98..714924ac24da1034ccb162f9177fa8aa0ba1eb28 100755 GIT binary patch delta 21031 zcmcg!2Y3|K+Mcu7-4s$bkjZWesX!7+5=sC=Nx%>gBE8orp$Hhdq6T*_28e(Z4>~A_ zTtTEN5}Jx8*Ne(UDI!gzBsA%uB2psx- z>X2!Eq1hP81Y_jKvz{}sRh)T!#O4=&>@}9L^E}oxkL@V_*p%wcb`_uU|IK87(koUF zyaaPIL9kZZ%O?o}Gxi{^k%sF}Tmua^gt$Zvmq%Q@hI@v%C=HkIzX;7>HTb>IPArOdw7$#g^NZHmtULZj z@CCM1HlBZJ8^QMTx?%MUQ;d9GLQS3;VdPW78nPLDO<0^c%S&Lwe!f2}-Z0C^E0b&T zknk|JkSB-tVas_`T$D+?l~Gp6SBIyj?+y~Iw@b=ug*hzgMX?s^-HdW!e~?fo*x_*U zLWs(x7X`qknnP)|57dm4L^+9DC1p{5g2h@vjkcz9%6uPnjHheSS&5`P)l zg})OSV=^e^leJ+rLk#^NT;-Pqt`j9d^E>XanqozjE~}_as8MN509U% z=yn#!>(ojKD-ROHn_Js|u}W;%mcdaz{b{OXG7BX0mqtUUIalGNZioHJ+YW!gBbX#G$MkADmRl2Jpdk z>#lgrxqiK**``=WYiED8p0$@}!71qIg7qwtIcX4#LZKj@Ltn00 z+`s++#>$GfG-%HlM^=Z~Tl`SUOWwXFA*v$7!uQn(;{mDFctL7y?*NmKzQAbVWzjL! zML{?QU!Qb{AkiZo!Tf0INA~=M=zG&`R6fVgIxcTM-tK<^XRNMpB-IGTa%O4s?ANbMA~g*fdL^civ5DX5etSb0I;^~UlO9PGN_2~G#~?%n(4eU#>(j74?XsTRq(zb`Th7dB z9Z1&RW@p-`V13GE{cDp9bnr%L@uG#o%Mo5~FPDcN@*b6z!EAg@S~D?>!pjg|<_f== z7A?k8$Vr5pbfsLkX%8`xLXINjs4L|4rjN6R{7};j)|iJjOK6x*RzJe(N7c$CSbuc( zUtufonUb>aDofDad@ZFbd497LHis{5X0<;~agQPHF?)F-20vUZSdTg5nyu)1@`Bcp z?0$mXPntY_BD(yFgNf4)tzpD@46RW_YKPWX z;t0^#XBWn!>zHoOWovLY#JJ6`2$7A6l=Gp>}A!ZdO)zN$KuF>3nr;1@Un) zCh-GvtYbCWs}kPD#zt98=JVth?fvdyyTb%5D#l`ai$;un&NsH~QhO8G{|S3c?@oL4 zr9Yj0#ENNIc!}3(Rg&@942wCCddzlUEC@>P`2yI7@Rz_StHSR9HW2=LhJ`y)LwS1Z zc>8k6qm>T~Myo4x}$64^jXb2U$o`gkL4koyaqV@OQxV z34afqOpTfnNL zDu7i-dCim^73+-P14Z>z0I=$*>N8bO1@V7ogxGI;ddojo5NwcIkW@%ZNC!wyNG@ay zWC}znR4CF_D-jN?R-z`bT8S87wGy>})k-7)qY}-Pgz7?3Ymp4BHg{uSwGxj3tCeW! zsze~4pDEhY7I`%Jbri4y;`5Xsgg{~-^&!n6N`9G0OD$AeV6{+Lz^Z4nfz>i~1Xjz` z8CWe-S74OMM@iJ(2ZMOGHX-(5o`o7XR1ii&CP5sKIgmw=6_5>(?U0?21CTPvWymdv zF%SI}5(!C!G=XG7av*&nd603C0!R^LA!HfEz7Bu3L3Tj)L5@MrLvBEXVS?Zfu|aA< zQXwrN9Uwg+xsWlCDUd?Qe8>{WD##{CDdaoI5y%(9LqI*k3xN{}zXe>I@H@b9gx>>>CcFw5kG)Eb*8+zT z{t!5n@J8Sogtr1)6l@oapF#1ALrt0Ps=5HGmHj z4g)?wxF+!Tgza%q_K;Es_*=sDfp-#41^$X~8t|8d(}7C}X9900oCW*|;SRuC2UCF#{(}W{2cHi!c&0XAUqZL zb;8q%>=yGpQf4Ax4&m2;UnR_eXAoWl{0iZBfE|Qa08b^n8u&%R8-SlDycKv7;ZK3b z%h-Nws9jG0UE)3I7N@gz!n=frQTjV}q#JUjpt;_!rT(I_bDk~$VxT~a3l`%nfi0h$6r;_Rq7610@t!~hrRNxWmn`qN6dN z11?_2-2_)l$0hu16Km_Zu0PvtVjUf6hhc(_TLCUn$9)MdNyq&RuC9(VowtegbX*F! z`Z6carmFjUgKVHPoC+>k$E^UDqT{{+m#X6~gKMbc{4UtUMjFm8yT3We#u`%Q`h#nt z<0gVj({XQuYpUb^1+JNnI|{D3j$;>XcJVPCnRwAArt7#a;9BUo=fJhpaqoa@rQ>>B zvWcyA+!$~f3Wwd4>V6I~Q)jpxTpJy?<+4p|tK;^AdtAre0GFlXELUt|J1u92s~dsL z){@{lgKMwjCWGss9~%++QjZo&hB#mYan~*3^#!5spHDQ_0n+{uiM1lIxguKo7hLk<$&w! z!J++M2HDSp6pWR~q`!`9`r*n1UE>>y^TBu>$o4m4YBLU3Xr)vE*XV+ zO2=(NCQs|QYv6|JxWF4WF;B;}1UHO0yW0Evf*h_hoB?ixj$00Hq>lR@+%r1v3b;`^ zF5-8aINFmNZfpi}j3;Rv2JTrM_YZLSI_@KIV|CoO;Ku2=+x+crV*^Ap?gIia>EbAD z77y%e4Zi=tt#$W4Omc;J9Io*%x-Z7g5qM9+A>yT>}Vg}>Od z1^ZW(R=f^av9#)|R7MIaL_W`7j=HX6-t6hy_*C1vSFLGu2Z8O2!*Wf#cdLaMiNdYfLv z_(ubxP`IUwI&ssG$SUiWTvmstPEArP(9l&+_!>_gR=EPWZ&f^oKA`wM7KM{9@{nPs zf!`U@-VolA2lWkAI=E*S8kL*ykfx9iz|j=)%|&J<4}U5mEXmK=QIV~DH=8Bj*UiT{ za|O@Ojh9ne)PqIy!FdsC|G52B7A~J#KW)X|-cQ%_O`WA&gk<3gdv-(*dBoj7Qa99o ziKK4OwFVwftiPgmD1al{+xe(6$a%#PWfpLchq!2hQe5`Qx0{X{_{Fs`Up7ocK>~-y zvm3n8&=0EitXfnW2OSKK0{(SgilLd}tXR2h9%BY&lSdb>CFSQdp@Jt5Ys^~>_cmmC z%au{Q>p4ZdIV>7QiR$0cPidE$f4DFNr>_kni*F2lT^7+wc z<4uE=Im3{jK&|ymP3`cl;~ZUOxEqYZ^oicLF+V;#lx7gQC*7-b&mu#WS;QufMP(N8 zR>x*Fw28osBb6ynJG-b|gcptt))a5)*of-dVjv-mFS!xb2wtS4X4&Hs*fyR&&T7~e z$QMtJ;|=Ea;4#yD!|uXG@}-hCCGDKtdVEUs7@90-6yf~QIa$ys;@8K=^7Z3G%;;^# zJtchJ3r}#%gfLA}8%=1z#_{|K&00;UYTls%iL4bbJWqBs%Q@#KeriHIo6OA<<;7>u zjE>wfu_n;ciO+ki2e`J_QCXr)Drk%3NzLL4X1PyEUY>!Wol3cRay{RbxV**8X1v3f4vt8Ica-B8n)`AEEIIy| z;o*Jx8rRx;**>LH4COCRp6v%~B_z+6?;ViFJ3QBL(6&H9UgN9~*D^g^u4@Jps@w?h7w@3?!xdd-H1f z^1A-eK~ljpt^Tty1%eEP{t1s;9WnTKGks4O#j@y>&+$SV2S5qx)nf7J_}vV|B{ zMNTy6`|_BVJqzQW7m&xjHwSoO5$5C8s4LH-M?mxw_OWr=2C3$35T#pUc5v?Xv~y6^ zo4qgoG0~$Y9>siUVDh5weBHFFD*0dgL2jbGjly|A;lNmJ-2zZI3@7=ODrHxOVdvUj z%9Bs#2p?Wi7$#Rj-71FuQKHPjizl~weP$S~`&6JRJn`^QxZJ&gc$n$ThwiTbFQJdH zZ*M(IyKmnzs|#N2GS7}zHd5I6S$}oSr|GkYDC}=we{->GW-m5;=$?XU&Zm_*f6frY zE_Wb3A5q}VIr7Hr(Ofh@Hl6#z*eIie86ULlxqF~GYQLXb5YH+-n5zq-lg-tfyY>*I7otfotO-uV3W*CB_q$}RSi%WxgtEQOFu%#8@zsm zW|y&NeZ*s_RC)|t&*vI-Mer6x+{4SybXj<&D}?9eH8RsE*jceI~i2RWB`x2 z7X5U}hn^E$&rkH8j(g+fs_G*on(=oe+Wvo&=+(DJv(CK#V&@pX1ZQ4yjn=t~>(&0) zB8Zp4c3QU2dR_^!I97tYf-MMmc^{K`lb=|e;5%rx@|;-c<9f8ZhCn5V?H zQz?E`ok4yS@)j(mSF0(HM9M7R5jB!mGSn<{V>Nni+cTq%q13=nENv0!t2u3&*~#@Z z?)iRK=XXC7-=fSZMBY1LhKO3W+!aD2j6x1+LeyU6j5GJ2ABCx@sa0|9ba;MP0-ySx z#rHNU(Eyd1i3igtzUjSS_BQ|ey=IR+@Zpqp+gQGpF~7{SkL+;f+jM!f_`w5fF>3kf zURsCa8q_&Dd@YWp=mtv7G!41QGyVHUi`)>{3YT8xbyw6gB>9uu^H+@arsU*DW#hODOB5KP{QhSo>qzalL<+i{Zq-cwkt24qd#HyMvSIT+tl& zS<|dJmTHxi^4XvJtZ7aTA96S}cqz_?G-pkj)A`X)oBd_vCGN;{+@ze|Oy~VS!wYnO zk@HG-WV)YnMlO!qUW5HNv46*Y?04r54&{FN^WOrB{0p70Aqhs@!M*%Ng7^`fCf5-k zO<2#Uw#A=*k-~JwH%l7V+?wM&hc2N=`07pmiiql#U7BD|*yhnI51c~JJL4$>iED!2 z%cq@T>mFdIjaPy29N5+(du^B&+qKI7Hx4<2w}T&+X-l0a9%frr*rbPeV99B_r>pge z6q1{FAQ5F;eoGDc3mWnlwIKrp>o2tN+)8%)$WC)gfU$)8BC=agcJ}>b_%jmxS(D(; zWVoCR50M=nBdpgncGt-6EwVd8cAA3-CF9@7ZXVekb=uj*t4Q#wCc&#@IGqfSQG)VQ z(PfR@WwLvT>`ss!o|LRtGJ$PQoOStXyiim5(O$w$i5i}Sy(XEOXN5Xa|r z_`kl5WM}w^Z;Pu;;})es+g6%-zW6Sop)ObJ%@RyZbO3D*aL#g?Qz^`dp}SM6%qN6m zXb!m$W5VthY5II_RhHvw+MQP|ib<=6{Md+Ep4x3^xY>DnZwCIpr~Eyo{EgcuGfyjj z-&6jcQvSw$-v#`H@5hQwDM1=5R&;3;<>vQ|@e)DZ{q4mT6i#D=!e{J{NBA0qXHz&e z7=@dEki+Z#&|d6H;j~<+@s;p32=7nfxb(HI&NfAaw){(<)5PztBTN{z3CuR-`2 z3a6D&jek&yf3UsyJcX0P)c8vH8iYG2oElG!e<(#Pq7d3RQ)lRSs0C^^<4_Cn4GO15 zq?m^e)f1Oc2z4V02|e7Nt>l9bTdT`UqUJ;Z9h_%$kK?Nk$KXt3*Wp*tG@XxRw82$~ z{FRM0XW70wUh-wFLon+4hpP{+^Q;CHcF&OrwypT$k!Z$BxZlx#+e^OiSV8OG#aAJa zo{*7{0?2&G3dlCdcaSp34Tw*LX6N$_vJ-Tl>hC5_yRSPyoX5WIM%11Uz70S3!o_eH}hTmA}xLbi+CZu$mEcl7FM=QgyRhpfjc5=@`ERBc!}uh$!5NC zEaZeYIg-m7+d~6m9XpU4^+n}uWi2f3I;U6pbMz+0Oq_JmC-mX4ziXi9|B|vJ@~w3> zxr<@$uSscXPqXB-?$BdDAr9m$y0``$)mM`O`h3qH4eqJ5714-mLN@Xj^hix)@{WC>&gWC!F3c_-sy}E@stye!IPV3cD;Oo%JMTT0h?sa8G(ab#9(GXRxf3EYk7ZSu@Jkym264HJ7LNqRe zmR=}f&+)+*t$3B~2;(nLnfs-$__e~9Mn_kplqj4O6`BFXKc$c>EQau)0eBu)R zorZnIH!m9+Nw#QK-(U>bnjOuC8Q6JgT`Y?>Sp1~ju`Gd|-}-wjvl~HAuEQG1^y)e+ zmu-^#@U{=w#tATTNCRYTlT--J5K>KApTOEh46MckKLgeZ)|)jH1k(T`eA2894h=?1 z0f{U-ayvd}lMPN{jQX%%#@|@4XxTVbsCHf&o5;c=eKbj=;&a2+auSi)mkJiYt?wtY zFXe)bY``YU1v}n=*`W?fX3@bGB#jpuggi(LWTf<3G8-Wm?PfB|MuA(UuzDyke&V;z zNnu4kamD}?1OIsm0m^R^myWM*L_bXKFLe?L!?Mg83-X-<=#IAqbLQud?Uq?6NR z`yEe{4p^JjjJi8buH&OXZ7Kzr233;*ib-%5#<BxpPm)>v1G8*o?ghzY|9qNTIn`gRnp8$RPUTl6Syb$^%No>uc?Q>AbZA5Pdo%fB? z&vMt-@acdSEoO2Dep+sB3XqXn#dOw4u1n>I=<;EN+m*X+~&X>++und+X)y`xoaTV=h zNO>(q=!Qb{2uh>|3Th0Hp37v(!Pns}G``atu&Xa^&P0j(N(YfjTbritkD2kM@?tat zS$Bkf><##X^uEw9e}QpF`WWaTnNoHe7S-^`YIpxz3w{zl*E~Y*`ULv?r8t|Uc)Osl zlip~9Qe2ld%ReKfgZQa_YrMOm9!CTDbe7C*SyZ=WtK5l?2fwe_?Z4^JkNGgcpQ^q9 z`gvb$I^@g@{=yRI%P?4CDDw@_Z%C8dBG+-!8*N#}Q#=1~52X+vY^gqVr(PTSF^qwh z6uUL_B~#HoD7S3r+n2dZ*Bko4McA^F{cz~HQrhE69ec??^`*)932v$J*AW<1NbiG= zja-hGFDb4+He?4d&n+Q64*CY^?BgsWxKvZ2381e_X<00~VF&o7h^*Iww%v1gzpc(;F*-p1PBOJ)DQuyXhM(AhXeuu=bfGC{-BoT2+Q%q`W}|;*ZgRV33ivbGa1Xhn5c&c50RJna zWHIzoX;?N&v8gqxPiDtKXJU}4uKE@F91L((_w|?C=c{Zq#CIbx&frOTy)lpmXP9S*Ai> zgnk|#Emd6yJ?}O5r0s(>wy$Q)$3tHteT8HVKJQBB+OyVdg;cu(dT6cB;3dj@C#-Hr zy+Frp(lpo4a$;zwDU{i5=(cInn;lqGun#7RGsHItlvjeUI$%x{Cc2w-1n5nY=?RRA zT2k#N*x1;fgOMQBrtzvXtGCMZp2XI-;mewz_NfGpur?_hHp& zb88uY9OcUtFThh&rtaZ174(Kja$O7;oaO4;{9{N50Z8M?6 zo8ZXb3*>aByI1h{K>;cJv6F`@BaXau8==-qEiJ@d9=u6&p zyKWuyif`TVKZkC?f;Wlme}L|@+dadafj$!BL!I_stu9DE zBfoYJl_}58NuSs%2pwAYxqbO==DE9Bl`9L delta 21069 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 API_VERSION_OFST); + return ((bus_r(API_VERSION_REG) & API_VERSION_MSK) >> API_VERSION_OFST); } u_int32_t getDetectorNumber(){ @@ -519,7 +519,7 @@ int configureMAC() { FILE_LOG(logINFO, ("\tDest. Port : %d \t\t\t(0x%08x)\n\n",dstport, dstport)); // start addr - uint32_t addr = BASE_PATTERN_RAM; + uint32_t addr = BASE_UDP_RAM; // calculate rxr endpoint offset //addr += (iRxEntry * RXR_ENDPOINT_OFST);//TODO: is there round robin already implemented? // get struct memory @@ -558,7 +558,6 @@ int configureMAC() { //TODO? //cleanFifos(); //resetCore(); - //alignDeserializer(); return OK; } diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h index 57babd19b..43f69b4be 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h @@ -1,7 +1,7 @@ #pragma once #include "sls_detector_defs.h" -#define REQRD_FRMWRE_VRSN (0x190000)//TODO +#define REQRD_FRMWRE_VRSN (0x190000) #define CTRL_SRVR_INIT_TIME_US (300 * 1000) @@ -9,7 +9,7 @@ #define NCHAN (128) #define NCHIP (10) #define NDAC (16) -#define DYNAMIC_RANGE (16) //TODO: correct? +#define DYNAMIC_RANGE (16) #define HV_SOFT_MAX_VOLTAGE (200) #define HV_HARD_MAX_VOLTAGE (530) diff --git a/slsSupportLib/include/versionAPI.h b/slsSupportLib/include/versionAPI.h index 98b56153c..73c271437 100644 --- a/slsSupportLib/include/versionAPI.h +++ b/slsSupportLib/include/versionAPI.h @@ -6,7 +6,7 @@ #define APIMOENCH 0x190820 #define APICTB 0x190930 #define APIGOTTHARD 0x190930 -#define APIGOTTHARD2 0x190930 #define APIJUNGFRAU 0x190930 #define APIMYTHEN3 0x190930 #define APIEIGER 0x190930 +#define APIGOTTHARD2 0x191001