From 59ad15b54e25a6c04cdfda487b596fa39d3a316c Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 20 Mar 2018 16:36:45 +0100 Subject: [PATCH] eiger server bug fix: in 10giga mode always used the 1g ip (dhcp ip) if detectorip is before tengiga in config file --- RELEASE.txt | 12 ++++++--- ....0.16.1 => eigerDetectorServerv3.1.1.16.0} | Bin 293060 -> 293085 bytes .../eigerDetectorServer/gitInfo.txt | 12 ++++----- .../eigerDetectorServer/gitInfoEiger.h | 10 +++---- .../slsDetectorServer_funcs.c | 25 ++++++++++++------ 5 files changed, 36 insertions(+), 23 deletions(-) rename slsDetectorSoftware/eigerDetectorServer/bin/{eigerDetectorServerv3.1.0.16.1 => eigerDetectorServerv3.1.1.16.0} (67%) diff --git a/RELEASE.txt b/RELEASE.txt index 6b32f1df1..8d81059f4 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -8,9 +8,10 @@ INTRODUCTION This document describes the differences between 3.1.0 into 3.1.0 releases. -Detector Concerning +Topics Concerning ================== - Jungfrau + Jungfrau adcphase + Eiger in 10 Giga mode Resolved Issues @@ -21,7 +22,10 @@ Resolved Issues 1. (Jungfrau) Bug fix: Same adc phase given to the PLL will still shift adc by one step. One can now give same adc phase repeatedly. - 2. Updated Command Line Manual for adcphase and clkdivider. - + Updated Command Line Manual for adcphase and clkdivider. + + 2. (Eiger) Bug Fix: This bug was introduced in 3.1.0 release. + In 10GbE mode, if "detectorip" is before "tengiga", the detector still + used the 1G IP (DHCP IP). This is fixed in this release. diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.1.0.16.1 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.1.1.16.0 similarity index 67% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.1.0.16.1 rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.1.1.16.0 index e4262429137a353597e0baf5d2695116a49b0775..0f2ee669755e5192aab3ef82992d419cf931a00d 100755 GIT binary patch delta 34572 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 WAm>FH3$vDFEm&lC$uxi9`u_o`s68_P delta 34961 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≦̸0> zEd;bdwEm1b)9MjPQXW-?&h;Tx+y9xSRLl+PDVCi?^q9K@CpVQTgXoc9RE;9n6#4iQ zbXlD?FY^X!4R@bec|+jl{+Jj%%)jlS&X2=a)cLXOI;LcZ--;nU*IY3|ogjzzs8tUe z)v9$jP<5;_^zBfZ8;_tgN;#Ug5`W>|hmjS|+wYLu{Io-c?Z z3lSvZlxbPRm7kJFL*77YCEFJVA?R`Sa*aKU$_-SK76uX60{e08k7RCZc{4p z@B8Z5E>G2_>XX-c?#q*y{7?Fm#p(dnoL2{^=D5=Eu{ymZ4t8wGxg&|l z{zfUt!J6l)ROZBydd?EtEzijI#o1B`{N24QNJ_&2-oA-FTRLl<(v}-U61Oj(yXfU*Xv;E0~XFpAJu44Q16O0Y|s){6yKTo4=4p3LfADE&#ac+?ozJoY&7! zRI1oe<=3Zu$Z|zq5spb7zaokRDp@ODM6B*yvBg zzxZ4`Kj%d#GMRPrL?q~LAlxCZygGT3JwCqsim3Q%yx%-s5l|keavygiZ;ew@*UlBI#$)4p_L^DimDaW4Lvp(f6SSLk z`7SjOunVRkOD-x1@?F?7PsTo_<4wMrc+*$bZ(kRVNhDWzD`VGrks(-5<|9RRrz@Ja z*Dh9uJUhU+>rUkl4pA)6Mqx=t0zx01r|f-pE?KvI-5^>y6QTyw%1C5@Ptg?@5#zI! zm?FM{@c5qRqU02X`rakHr)%N;<-HXVRB&&RXF)WWtNeHU zaLso2%{bF@FJ~B$S0t!3OCBzUW-K*JFOS;(ymxmWeE1xu&`4$O^L=T>Atm?uL9}9v zx>@PFA(fOPw9QqHY~ZbRZt#x0)pKLh`R$6mu^O{(`VJ+g*uQ&A)5-0YcAi&T+Ii@9 zOHJGVIYZgBQFLo?T5QiPO~VD-?Uvfix@jkrn;Y+FX&Mr!=81HNCt3-Id#Zb{J&8)^ z^OF!E_&&58N&2Qj^r~f(w{Kw2ZB3c8y(9=>)l}lm<4VbsH18@_hBW1B$w=Y3sUo58 z9xhUelDT;R-EL6QlKRtamzDC(Lx;FH?}<`)=EryJ*w?O9_pd1HW7OSp%2K6s^B6Ky ziGE=y8K`8w@Et#%UNTBq_hQK833qzrzH{3C5P1b=JYr}B4{7mLk_+~OC2w3nHcU-WnqC@%%!5ykm5oY$8&c~DV!iGzc>>n!tpjK& zHrrdn5$rmPyp>~Hy|BY-`P^UmX=@JAV`^k7b!Fa0BP`S{MXq{HX)ohTT+Ft+?gz%B ziETl#Eq7k*J)_~o#U8&4#i}l*r2W+-Ak~B2UL2T(4QVd*2?!YQB9H zwi>BQsC|FiooCz`r9^qO`w}`1MpY&mCi4y}o$rUxO~~oWhvHPFtUR2YQ0mH~u*v7S ze9oC5#rED9x++68Q_YSb)lA(EUH$|!?XYL_WABnKJb-n3=UR9I-++zv=-G1~z^cR^ zMShsjFu?DDbv-jB;%b#mBD;9-+<+ClA_|8lX;UpqLtQVrs#7GCUcyE4^>D)wzcF|5 zkTJK^eDXPX$S!yYKVFbu_9jVU;sp0!Kkv?&v-6r#@p6ybhMm|pyv#i&ZCro9(RT^6 zqp>{y=~3JvSN$n`$X#4u)H+Obv$NCWm-A^fVANgG+EJrWMcWnfsZ{8}4fN~v#_L%W8 zqH?$MyZaX-s`wzfxQNK2M`R%>wt|&B#PuqegRA~{C1!o9l9uWsX2$9SZIknAaQ_0s zou=QmOS$^$7;Hacs{9S}ahRX?2=92qR|p+_B+1)cxV7%tf(P z$vhL>!!tpP#ao%S#|zn@7XNdRD0lAhMqX_S2vvUC7p6@6vk9ws?w@BHeeaAIFTJj` z{W-{Zp$E!p#p^GVgl7!9%kC!jq*D5qpn1hS^}I6^A9k0NCsvIRv6j_U>&GIHqwcx| zv-7(SC1U4sT)L!xfG;K~wkLNf?t6n`YkO`b_IS?*i^cMUTFrNmI#&6|J|A+F z`5Yio7=~0M7vch4)Yn6_6#d0SCGD?q##?t%UciI}Vp4fV2%aVfLD}7SJO$5h4m?@TJP~{=pf7OIEsGRk+$LB?cC}5Sm}G z*gt>USdy`Au6RSkvIeg;MQAh6vIaFH4#iveYfw+9M*!-n-76AaC3zs2*DVSn*@c_c zjc$gjgH~s~*4kPL?cBJ{_uele77XSl48I2Ac|Nvf5TaFHn}!A_I0zc0l)k=#6mS3M zqru(!HVD=2uZpd$gt#fn&AI-H@=p`?thN6PC;ODve@5{G!8f8@cc~(!HIkC>M$kYt z`{Pc;wI5YTaz-tYhB=SRpp8n=8{SC1E8bW^>bQ?)*7zd_KiBBmBNEAIMdQLfW2@rfp$#WYYUAF?`)>vhEiT@ZzkBa=VnZ} zf;qH`T;t6w{N#2sZ%pb<7w$ROcBnUTy})b6nhKJX&bKyT-AXzfgiJBuy%4{^jXetu zgh{OYpsUjwj%Fy@v`uPR-tc+izD#-$eQ#;W|1N1C`V?h|a-< z(oyw7No?EKm1x`c!2Wai9-v#RPb0Z~$3ATR5BJ=x5y|bbP_kbsITq@Bm$luvOKCh7 z=i00tgBj;+Zx~IV^+Ki_WWS^7ZgekfLX{}x)rJ7_K6i-6cEceC)5nmj9AAVp_Wa|a zzI!xqflT(zW5BY^~(T8`v zkMqEN+=nB(JB`Oewfz}5nraFszK-phl$NGtXfx@=7~|qQ+gx-@wApgvuIB`O=4}7y zjwbsU)h5%h5&MX5#L}iZ9^(`yDW;E?8E4+v;KEDF-j8`F`L4t5E}_L0p`|&zdoNvK z`{qgHvU;>K^?me`-#CXTH=2iGgThC)a#n`6I_!7%Kuu723?F)6s^c7y>VA&$sekG%Dm}A zIPN*gk9+um!y6~Pu(ROTL(~4;=N_94`*r@-1ecNuS6i&?J~hY~3|n+NCwTmja`se^ z@p2E8^@{sv_WdB`$u3VZx^;nIm;Tv`*qoj-YjWi-wPKa%(=+%@^XX9EyR2H$9yNma zTm0!nT+x;fq7!jEbS8@5&a2z|8RWXsaApbihBaRV;brdB&u^b4bkmalaYl^-$>-Fa zVDbU%1Q(Gs821^PJVLFWgUgdp-^rS~-HsyYt?6p@@iW!x;}QNpw_pkB!^dbn-o(cd znb$dg+zW6;8nD!d`kv@n((fl#NjTf!XP)C;S67g6>$iWojNDXmzg(*(zultvBU`qA zrG}xeynT1~Xis_r=jvZgq|f;vBnSG_-vaN#HfMY5Br=M}c)U&{m$=xZ$k`73=l3|E4_ z@TO>__5yov$fdCkN3nM^)30+0kYC80onhC9^G*U+1;? zWBaR0YsH~jsPCMft$%f)YW>lR)eE@M(CwQjT;AUv%@}DzfYSO6KluBPKVle{xFMPA z=TCn=-?Pl0@fr+XWr)9|%8bVu;D4fU8{sIkRLT6Ws^)*~YHp~-%LWj7sjojiTr6_&wBoZh2laGf$Lx3iz-hrN6dkmaoP(E zIp3yu)~d0J{EA^KH)`0+ zXPmh%zc09EDplVN9<(W*v&9!lvYB4yd7p#8%PR#dlB@4N#$KiV;<1JN-9lYV(WX{2 z{r(dKDi`dMWFf3Ww2m-rst9UDdU2phfN8n{EVna}{wA4HEz z0!ED`J`ODeDrMjM_5Xn{ap-VKK)gkg)E`{X?=LG2-}{A>m>^Yl*7p)0PWvH4t8(-E z!ouk|E0Pf2lQrE+BD!?DsBRI^YqNuOpwlIzrrY-uMB_Q5#!BWc-7cNyR>h3wJ2G8d zLrJb?%}X2kLTTqMZ2SeUirj~t82#SB8v&u~XCw3y&*ym0a=LnUX`>R+5fXCA6{BM2 z5cDN|lKw9CbyW+ONG_sr?E`j0>kt=frA3 zH1$xiO3>7|G94=NdV2+pJGb5aE0vf|Z{JEjMFmxTU({Yxv2bdlNzx0di&NdQPH&{W z`#brIT1}lniH>r7I49(u&}yFQ6jRK_{={e`I7th;G7@q!ucR28%(UIt&IcaMfEP?k z{T07nFGRrW1C*GpMjid{Waa9WRd`7*=jS-ASXDo-BJ~G-e%U}gviVdkdR6i<)3!s( z{;T15C#B`;GEe@)4>gd*SY9Xw4d>3+R(Pl}8r+!F|Hjt%TDV8EgI>)_jsI{~(}(m| zrv7j8;?rP4_9~@8J$~-Zy9qCR0lxQd{=2$(;At2BMfl*?H-P7Zg>Jl<)TP?jtF@oD zslV3Yv|I<;obA7cy>COj#gVMB|QFMl0DniTo^=zB`_LJU@g^9Jn*yg5K&*F*bn zfdu?w5+}6l2V-E>&Ti2wE!T0~7NB%q55ntU@{LLAKnzsY-PlY^lN6WV9;9Dk$MGA( zEr0uOak#kg`F#e-S8{$Ik4w3l-x+R?%{PPas#W$)Ubp6^;-OwDXoGteFOS@Mrr(yN zq5+b_vhc-5REO>b{;AqYl+b=TAPldIp$8u zBGSq7ClL59&&ovf^o40VMzFJT}~?O-MMl4w@8 zkob>)8@&|PHApAV*pI}=RcgNq!nlhUu}{_W1uVs8LuP3TwSKB21w_1+Lt9)~x`7NO z7FKK^;p70THjqhy^WbcJ%0l0l${{$uOV3ZIFu4~AA_G}WFH%SDCC=tUeQ%mkXIh(pV;cWU;+2WVR6j*y*RY=+f4F=H*JpN7i6iwTp>`QoZx zy2wtul1E7_i*_R^20rC3m5_OCSG-)f4?&Ne_rf^K4huK z)vggf5y+C72H4m2WPM+#l=G8@PS`62el+FQz*Z>bwM9YS=Di1QrH4shcV%h+9 za!}3RVyeoLSkgV@9k&m;M!J{=z%G5sr-l4%4TDf-5rVNAzQ3H~VohcIU4gW&&b&WM z;0u7SbHI-i_!8g)9Pp6>Uk-e+1KtyghalE@#Y^lFnfQ`+mMatQfohJ7$q&D8Ji$8$ z9{2U&gB*44t)G0Vl~v0arB>DV~kl zJxQP@;C^;bKVmdCnCW}moB4_+R?1Ut*7$y;5AjgrfTq*C9xUx%GSZ{Yt`64py6sn^ zS;M^~D!3J+sVeFqq}745m03oRXluL|Swa&#RBPjfGQ8UwR%DZWplN`azOx5Ha#0B* zvMv5DJnL9ne-iFm%*m*Nx#>-!42@=KL+tk7`_p#}EW?|8>f52Vt$Acjm+_CnrF_W8 z15fkV!Pf}<23~Jx-4=D~ti23BKh0u%VcD}R)t5XxV7p#x@yH&_~MeJ{iGcMdwZvu z)_ud;1IVxtMV+aD6NR<-%t!x~OwEdQ16fT931vTRByQ~Wr-|H0!aHf|kXp~PqChgz zb*}(-vxY!2*3fLG*5gb+03N9Mm3E`m#>@lA4ARCb2as@&HdQ-2rDXsK>V~>GfG9)S z&GfBUp;v^~)p8_AZv}Fz3O`1F%Hfi4xw85o@`zh`jHb<@aV)?@{3As-4)JJXUl&z# zAg{<2B8$xQ&_ZT05xmU9@=frMeXIhHDXpq3sp67ggl%hYaEBaalBkxr*wc*ij`d>^ z)1&axJv;*Xg*xwqYDX!uw?7LCCe~g%5WEgvVy(esydeX{JuEDQ3^nXWaVg8N7e`r3 zLr8BuX|iLs)0#Glyh>b+*c)IEwd)YOKAOyqy{Q@TW#VA9Jb^Q6 z#@HF1fIQZs_oQZ8agG&_A%lnQR40u}FWMOmal5sFq9XC!sYX2qI%32a%-oag<`^=@ z_cHfz)m1CiUp-^Py0g(t*)^7yfU&v8vJ*&n?1Ub;;LuFHl(bLBu6a@cw?wrbh4X3? zb|ymh1m=^7n)lM6v{jVO6mM z+3PQoKJJ=vSRR+miXI?A(~E`Gv0Cgr0H;mh4uoD3OvnJ0U1F6EJX^pcCLybJz^~-I zaSg1Qbv}Tx9mgO3Y~)ztMNVtwML63a7qqg%@$G8accydX*s)m~?DCU4r;BsYBs8dq7QCNy<0UL}JXzvv(a0T#oXOkPS=+|*rOMvf zY%?ue$gU?NDqLZy6UgtRg_$RkkpyvtKQ^+?NhE-so=67JT>}94Y#IN7CSDY0p^<~MEk@B^wWcJs|B$8}l zEtAP;`m&dX8}tx~pf6%QeTc*v(##ZZb5xBtT6aH0{OIis9->dlF4mYz;ymoDIu?zR zSyufNvWa-Ki7^E3`S-baleKOtd6?Yur?4){#tBxRH1vhdeVFv2#l9*Z%bHGp_o(UO zdhQC#d6*oVd7Y!o^tnh3j{QY);YyY64(zUQr7(v96mC@+(Z#d=0w2^^Q)MzMngO>$ zmOXb6_$G2l_wungix=LJGkg&f9o=1^8DZ^45o36E!0R^hgqyFCTH9;)aTsz&?0k%bimOh#7CH4}~V)6ux2%De+;2?w~8)&Ww@r-YQ7`m zi&UOwmshf!rLE>?sbWR?yj|2;U4j9fe>2Z(A&Ff?dJd8MPP8>?M=Hs~wr@?fUmM2DCc7Iik@nCyR z(?w^}?7Qj&#>h+SNB#)bk_k%%vd&C0V8HDv6U0!}JFt#p(Q}YQ?6FH>Idi&(X%*t` z90_`z^xxA z-mc|ZAD&stI=Pf>s+9S5DJw6DA+R_MtAmu4Cq|96hwoP#?Ye4?m3M&$AZIszwMlDk zSbM2QD0lq zZuOVAnATM)&aMV{=e#wae5kt}R3LZRW_EfZ;^(ZLg~;=Qo*>D+H*0#br;;#)o1P%W zuEIB-n#{Zwk+<&I6CiX$>|2UOa1n{a2HHIv`|72xd@38+;%qY7fb*@Tfoy*^iE^#b z`kAwywPuqb*Rukg#q^8G&R&1U!DP-rR<)RncKfrBMq7f3wU~r-!BedAljN6Ph8#1^ zI?7y@lP`F20W#U;ScEULw5Q23Ljf?v+W0h1H(b?~#!Tl$vf+8;Ggo113$`LF$q%0D z=Eh9t&Vu)9~>*Z>>Tq<|-u3 zf#7`dP(OR+%o`#!w(xb>k3FAHBJGkg_p!SCE=ifwnfq#-SuAIztI21GC6+bh$zFT) zX8PDQ*0P4Y;y-2Tp?q)jkFmo@$BA1EcdX|jhOe-u{2Uq7YrhxD<5=-?B%CkQGmNYTMc=9} zt2`|34fc1K>BDDO=X2!2Ua!TYyoJSYK&>nk=W)3StZD;Jw#qaEPltO0G*p}Ebl9kv zgb!>&k!NW<3Onq@KTFWGehs~vzLa-5o|P4oe)s&{K9e!q(q3mZ#aQwF9?x2ek$A4e ztQ*OKHj;E!xQV!6*H`mA=})JfU{#w)9Q$x1X+!ke|2)Fn4h{AD^Q0IX$D&O@9p$Ja z#Fu53;H0mPoh?Bqox;_KYxsx6d^Uq;AdBBjW|MDN`DXHC$UjWHTe#i2$4no>0j;BH z|6wuHlwel$qPE}jWM^L>LkFsk1?DM&S?v4&Q6~f;|9=P(_eHRt)=W0pK4ik@s?`aN zHqrmdNbX)F;|otB_^PRjnVQwBKTYZCcx@e+e9k#no4i=i(^G7}4D3czI~;4O=9-B^ ztIvja#k|St*->0WbxDft`bn*>pM4uWS-V}5s`n*M6s<~NK~)aBhVi>{1z==ob(C1zJ&xCa>4c* z3wQ}fL6s=ZvgW)*ekI(0C(O}mL#`J;Onto-I5=+^`P%KDdd;5Wkv8%cum|_Fp58`& zBlMp!tVO}u=$xJ981Zb4Zye4{%E@2so|}Z_u^b_$S)(Q)QtTjWh}#=#@HW#2cB#o7 z`)MZve456T_)S++td3zCh{%_S<&cpX9{V|;HcJzcv{jI2+-khEx(Qf7E6AeYWHU|J zjOn3`zNH3Ul_2I`4GfWh8M}*&u^$_ZInF9~5r6SQ4IP8++AfkZuA^%#Pg%Oga?B_M zBYVm#g3JN9)fnEO%zY%rav%WkYF4&}gjsW6CJzvLAc58V3CS(ioKvWo0s4SR^6 z^{L(DW}jYfCYfpUOqTl^rgi}P$U>tsCH zXg&Kn`GPtg&xS$81EfDYRYPK(@K~=7kXJpg@&Mmu<4_F20W#j$9X**VuB4eFSkjy1 z0a_czir&ON2+vA92h@gbj?|7NcSYe(MM7kZB)yVol69jZ!E^de@&iIx!$DYP9XorF zMEUaH!MennB%Y&qb+sQn${J8hULqm25u8Dsv`JkILF$Oanrh=&=OyA*Xr@7`e*u#! z+I8qo&>TK~pjiYh$3fCKLCbS!sl|aFEa)Yo?q~;^dO{7kBPs>)l`i4{HGF_r;~@C7 z1N{W#+8&sZ%tQ&VzxY~+cV4)En# z##m|_%{1^lyJ*Fo!BUn~M|Qd$5+Ni2CoOd(#P1N|Q-HQ$ONWxgTy_U;oHgJuSw>vb zwYltff|b9G0n2AaN3>nx5%Rd-TlO01X6icuJrmqM=U7-h`3~IfN5PF1=P23AkG8yT zu;!zL*|(GZv44GsEU*Wt{#aVyAy(IVtxY46{bQh>72qsR9mEDVkbF0*=!X{)um&>t z9;->{j=ArJJh6c+3N&l=y!ftH3k{MrPs81dv!ml=w&ThDy$fDNcn^75T>{@aC`n&DYOILIK@QIUT{K6j%TOt4bBD9k zMjQy_3c;AG@<~<-l&cy+0q$T;jbxIsgIBOS1~PpNhCGUey^lMP!=lrD5y;;s_qiR8 z(R$Mt^bd&QYSF-ZFke4FhFv1S#q8<_WRpGYd*E#DLo(P6f8Gj_+e|%>cz%e=!df1< zWNRX!!5cA}>UxZ2x(dIyM1%^^?p!QyBj$JvVHHi}3-SreJwZ~8#ax!Q3iR0lCzQ<8 zeIRQA$+aO7Gd}*r+oxIBM^LI=fY({ZN4O8!$Lj~M+KRVE*exP~KU zmevf1{DuqnXRMi2``Smu1-AAvQx{i0LE$k8Os>PhbQ!N1V>yCl+GPYQ`-H6Jmp8o+ zS>=C`X*zp^*1?}nk}+hLb?-^c8jlWP4+x}*%=8&NwBAMFuo_Y9B2-+Mz?sYxrYuu& z_Bj;>9DL$466K)|EDVFmiWUAeFh!zbG%y3L@uzVaRY)bmBeLE3Vx;=2Q4WV0W-5*1 zZ#1EA6-cVw&BUhudsY;eWE-|G>jQTi3#8)OHinw*p(wqREJInI1{v;CiwX;Y@~a28c0>ALo;_07&I z{V}cwl`h_?(yi&5N=;oV{V@tE`CGSsLH6s#E{)tkmeflA+3TomCf83|ueOpWiQCZ# zZeTO{-!*IY*W?KGNEHV6F_Wu9Sj;!LpvZPW;i&T)GBmaUDW|JpH;*jtiHFUxW;W(E+;f@evd8Yz3BDF-g zua5ZldZ!Y^OUzV5hBNsh>FrvJ@IlR_1C!t)7WxJje-V}&A-Z2|CO@2GSrt| zYOYT@F0UV}U44s_CSkdES|Ml@tG!4*Gi08oHbk`q1I!UNU>qaVeTnKg-Jd< zits-Tl485Xe>bK&Zj5xy9%0aj3zu2$Ph?~;e#3;D4$^*$2Rt4w#_hJ1YTY}A!M<>d zHT^^;h8$CqWQa8Zr#c{aX_zOE^TwKv;pDQDgp9tR#*cKVH$SrLjbk#tCZkUKI38C7 zzAx}%MLL$O4OTl=gH9ZD*};8EO@Keo@Qv(ZC)V$UEa?i8f*Y**3i%5zaMFIpR&Inf z_h<4UA@8&JtK@G+HH7n?n@QX9c#G~Lp03Q~N&Q*hYb13DKcW&pDEn-G*A)Nv?HP*h z;~HKJ?fFfx|Ub8qBQeI?ki8;kXV9 zl(NhlfUt_)ATuU6i#f=nH@f}RO3ljB2kJ<^V&4KZbb@wV(2AXD$KecL?PI3jNdM8t zqfy?>`8ZEfrM>>~RN&P=^qr1BE!?es7HCNEeDOV&s=BzPcbcf z(cfWHu!Z7mFR3?ul{B)p-qhcNM-9yJcM-2X!ReX{eZ$DlX@~RSw@)uKX-0^0q0@RK zAx^r|FA&*X+~^X#wUXyX|AJ#VpFT8*EVah>p&KYJaOyqi-!S~#O|6CZ(8}Ieo&);R zzujI$!_4HJE!LL)w66zAu(pNLz6KIw?Tnyb-Agj8%?WgwE9tN%Or-DOjia59(MecJ z&5zL^f+rUdoItzi{u&=F$y19YZ0H|0$shP7(|~Wy|DDgV4lfsWNBn<<qP;URKuA3sUBeU}Avl^yZ+^3pn%yM=mLg2V4fq7h$n{miqyHj25@E<_~E2Obe=jP5q!6Ewb6Rz(!JohT`3# z_k8KQ6N0&(N(TiM{wa4RJj!QzXBV6mI>goqkN&`g3%=K}E6?=V-QT z0_g1+iff#Hh_atr=~RP?WDlOF*@kwR`sP^QI8XcOv@-jkjc#&C=X@G93_M{h^(nGiYUY;(Piy@nR7_&p$ba)Emo-Xqa64Jt=b|1Y&z#If)2Vn{wO9#XM-&Ty3%2h{Q6_iC}27k}bK zQwQhWr(zq~@}KD2h9;SY>yd7w(Pp*yLnr+?H1sNT!CW90dEG{WH@>C4lH{8v^_6Lu z7rp^If2Oe^Fwa1EJsktKUN3Mqx({rxa<+kRzJa-H#?SO2LzqklC9^;OOcP!8Xr)t< z?%l(RTy$fZ-!=L)+w}`|H>d>b-+#e$a|`d3X#}ilG~DJ|*GofMcVD9s#1&?Z0z?07 zw)`>;V9Rb&H&*Da^JN~t(q|2=oXX06rN3lCY$Rq8`K7BTZ%9(`YOZ1=^oopz(y~U3 zLN__FR3*YRk=!AMbaf6k2v$26*$(1O_V4R7%^;&OA9lX4&YPv&phNg5$Ck2nH(*k& z82=l_u?AAKag5I6t*PS}ZQ)pT9AlDrQ60x2UYtQ4$LJNrN9 zX6t{afrd6HagqJycUtLMiuOAs$v=br`xZSahm%l(e#LREIE5K+(PBd_iuLT3TXbZv z*be;3ifH!LE&8#&T>S@KhB+Q!qX7o|gmst;OSI94U87|>98ogx-5!ko^p43ocZ15Y z<1t-!NL4>5-Uh=zC$D^Zu0(KtEsev^A1~aC*5EgB$vfJ054*zY6A-Y2+?_>MdiHrs z(|aColQUWSQJoK&RRg)29q*6lO{jLfU*=fVj-$(XQMKcU0?we?arjkURP8vNOVH*+ zd=}?b?KnbW8+5uiU168;FkWbIH+^;*(7QTLw0atJ{-jp|Tr^R#4(p{`PYmud9k-X& z_13-9Ydowu!G$4JJ}Ju98Lqkqh^vcCCx#*XRB@Mnmu2>WKow_Q+DA8$xWX4xIwdL6 z*sW#utOqz@f|O3{Ru5eOF=RthKC8J$*WikVCwsw1Z*c$fXXSl$NrnL6!q~aKx}SQb zK*{uS_AeRAXl3g@Pn{o`Rq2V2t5GGj8AZ*Cse3tAwc^8hyr^1nN*iZTtvDrv7gZ}x z@#00*8`IJ_uWH39S9=e&k;6vtyYlBQ5DUhVt|2dmyzdXSMzjth;U^ zr>(y}sQZLs@Adu!-APK?t<0?Zn35dpf)xHdYaKdO_ZT4&))%JfM(9Yhwc%mi4}|r7 zL^sCzZMrUkAbMKmM|3j?-mL>I-dg#nZZ$#0{nG8uGWo5zL2y=7l(WyZ;fsY z@`ai;x{-(_7x^Qdnbzt?bJonY0IRI!Yjs;+9oT{avVZiVumMj#aJ^(YTbA%;W`BL? zkQfwWkRc-W-~QOEYy*Z@q5Qv&!~Z(v!YWY3(1>EAwZUKiCmo4lnL+wc&qhhQ?{;-w zOCi*U?GMr)j74Nc-iqIg@F&_vV=C;S!4Ry$_XxPrT58e{rKF72hv)GX(4^JYk5gCg=0W>xTxngDQj=hRH+$w-l{$8>Xs3t~y*lV7_A?3{S}-%K=+qU00uaEs#k8Cb^U<*q+6JQ~}lt_$8UdxC4$6@IG03 z8z5;Ea2@C^4)jy9^k6OE>w?}Yli#WUcL?|wS;yQW^`61`K=O46y7ms0rT?K3DooNl zP9|Dh+>2z=*2zjE^#kbRS6Ma4u?R!g zQf3;23q$n&QYI^-*-b8$J4>d<=HicP*(`c6(8IfGyF4ZnT{6oAniR1DJc2VIOUQOP zB9qnd0jW+1f$RX8)q^b-Se@vPs|?vST|!;`WO8pM;9RYmYn&|o*^9YHK|12M)FjZz ze42{UTAF}Y%H)wUmKvoWN}5>#xJebO1*J*07jQoV)`tUr89XLjC?_VT9)e2B~mP4%&g+8;ExtC{>wxX@-jd0KBcmM}{6vjy zK%fF#q|awEsjUEL76LBFQZXO>W&!^qlhj<6IYhNl=@8f`i&b+7cc_4-^O+|c$^8vk zT38QQDDU1NlkeIf%SDsr4$t|e3G^fZBUM$mNBcD!y8lO(4&7v__hGcTjhZwzkG?Yb zPZq@J1so!i=TC#4A>fI!loih^d9^yAg(*CqlgUOC;3C2H3XdNUBVwP&UuEfs7}jwg z`qIJzh9dgF9=%Eg_pg|T38*dR={;~c?;@5n6z*IGAqg7WJ@_4&v4B+$#oW2j$?8E4 z&IP$zkSk>}20G9d0mC9k+t^L8;mxps82wzlW?2w}5P~tadtBd5+IB^{sF|hjR+)U2 z1iBdWzW{ed+hwv&2AeRE{H82@8Gv>xMYUtl ztDRNGqO*HheXM@KFun`3cgqvI%y%(k?2*sYA8{G3OvQM4j*-bh3v(Za>UtJEOh0rw zI<1S>jN*y^kSMUFOBv5nnS47O(&M$pJzthdc8(;uiizj>rc9&~@b49LY-g@zv+7~` zX|d?4p;i;y&mfcY=##EZW9#Q5OJ5hGny`JpXw0u@79EFbl|TzO=!Z2XFd40vifTv@ zXD0#XLxNSj-={D|1*?vO_h4k~Bh~LWpxan0&^Wcf83z~42DMQWaxWIPwdH^t1Y9DM z`?FZ;aQIjoR4fn_C*bQCTs{jnTStfJaz#X9p>Az4W^ITXxxTiOO ztzPSS{|Z^!3V$`og6;3xX31r*pdUnpr~4N{9Ob+F<=#koRk#-I3 z?JrX)3(APrz3)>u$T?uc`=zBL5slng{Yd>-b=eRh&ifmFq61y3w6?vGqtv#cZL<*i zJKu8w&e7;T1~?Y%YVWd7pe!A|3OftC`rIc=n=(Pasnz#^oxj}+c({PmWGSSbPZu#> zKJ#Vi0JNq_f?=sFeRq{r#=~ZCBAsw5pB*y)Uy5(fGM~T7bbNO}zv>RwhlgEOV58tY-$$ zBJla{lBMI(tQyjA2H1=TW@DESWKQ_0>CI940S{m506tk0=7;1dP7hf0$q%O({fBqe z^P3_|&(}iGe!-t9lOg$NRm?}fC9+hJ!E#1pB#}u4Cx1fjxX z{XJ#rAr5zFLj7Z5h$cz8CriK&%hG>c9Qfxz`35KM`ol*UG6?pjx!H0+9BHpJna|a9sGDOR45l0gv))H?Y+TwnbRY zi&!eyJWX%`;TZu)d>$~f0**#)DP3@%K|rWu)j$_s1h*LQz$iF!JlMn}3QUs8MbITN z7=fv>bkzm07}7v2MI!;;hI3(uCcwfDf$L>yS0m(`v}OZel%?qbpxfKqjdb~;M7^hH z9gHb@68JBi_0+MPM9oU%w5a>DObXpuCD6eY5Fvba0G5C^BLKH*Yy)txq^65A(CR2#HB1@|? zy2O}}8YFSCwHnJc$u8xYWfKJRG4?oSbc1v1x&dDi98{h zk3qVC_si0yWWYj6)7$X3QozE%rY|t27XgbgHGK`3Thb2WM0p)LVPEiqq4bsOpm%8U zgMBe>E7E|-69{b8uH>PDyMQOkq%Iv=i#ZvLRm2a~dyi7(|09T6o zuYw-qKtCi);jps31Htdfg}PI`0@s)e_)3;Ga5J410?>nw0?^w9{09Vbg0 zXvc7*O_N_3ia2{6CNp@63jdbL6D|%7A_3XdjxjfD^e{h}3~B*gIAK_vOujDyoF?e- znUs3KwE{)}{;UeHP&h0Hu-$?_QlS*KMwZ@#7t>r(;RRXxyaO7G9)#_XNf~^Ah%pR9 zf*K2X_9Zy%UmV~c)W;{RO_q){LY|!;$E^GkNS~(lIP8XO_$`NX%98C$Au7PBK1UB# z4gDl(ARiy~qX`@s+6~60`I{0bRHP|9FiDmIng9zQ8JH%M1JS5+Q_vS<$j~9X1qS9K zHO>TF33?&64FfT4Ht`B}fqP-1c!vr{5&N?NiyjU9TqZmDnAeF0;B+y(N5eIEka`>j zSXg9Gw+;-7heBK)W>F!Zc7xD^efdCGgaDi%MYO_%H#L(DdQ>K}pfN2K^c7I>H2B4s z4l2cIL=xb=f{qaW8ahOUQx5tRLxv%-2eLu`mB|Y=fLr^){;)te#qYQG10kF&9Gl3& z*C9YyBs@$eerC{xNyFoy0KD3+K=^~Q^hOHz7dGg7Ez^=?7S<5_IISAMqXtuMTg9!T{|S3;!GnaSIBIg#RE*>hdgn zBK!}|%s-k!5$NDCceGa+tu+u4fzZht%ogxCnH(;IyfgvNkjX>bNkwFgSSCv^#XvxV zps$muTLb7F0@?ijAL65|))So+5md20kJCf9ZNGL22IYE}<;S;^n1wCDs`e&j2 z+XCjwM9IOJ+Zk5LQY;_iWKp41mQvk8w+L9lp$S(wLBQ4U>LS4EyvAM4L7DbL2WXj~ zx5y;D1Qy5;@FkgiaUJcG;R5l8EG<5Z`qwphu)C}~mj$>87D8MY?1cvS5D5zn4wog% zeh2>Hptm~ElVPz02Y7)jy#~6WRmfj1lZL{0C~#3AkgL3kF|{AN4SoRvxI*>@Uqft% z7n3Bx52x&`2P`Zw7>9!EI{+68IzsyswScPxjL?3;0(oK<4DP`Ce+^?ogoy_KCaYJ0 zL|7oo1wE?jQXmSe*~jp5B8DJp80cugu3!{4jP2=wg_A|`vigAn_(VMcemLcA{(Kq# zgHsU%iXKHF3pM3|!7gAYB4ah+c&!IfwK6q^fnOHz8GdsF`gJW(Mg3RSoo@zxxHe=_ zmq1fLLV+8yG@i>lt<{h2gY`fBCJ+9X>{PkMM308d2R+GwUH~}R0mhKN t%sZ?NX}B~5r(d6$9T+~7rH5g1`!pPKL8g7rTALrzPYt$)=IGyc|35$ys>T2S diff --git a/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt b/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt index 651eecb39..8ecad72b0 100644 --- a/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/eigerDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git -Repsitory UUID: 8b02aa9e91bbee0470492dcf1ff67415851e14fa -Revision: 315 -Branch: 3.1.0-rc -Last Changed Author: Erik_Frojdh -Last Changed Rev: 3455 -Last Changed Date: 2018-03-08 16:44:32.000000002 +0100 ./FebRegisterDefs.h +Repsitory UUID: afac5be3c3674fe87044d3b7a54471291698d4ba +Revision: 316 +Branch: 3.1.1-rc +Last Changed Author: Dhanya_Thattil +Last Changed Rev: 3467 +Last Changed Date: 2018-03-19 17:26:38.000000002 +0100 ./FebRegisterDefs.h diff --git a/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h b/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h index 857ca4ad2..f2600c3f8 100644 --- a/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h +++ b/slsDetectorSoftware/eigerDetectorServer/gitInfoEiger.h @@ -1,6 +1,6 @@ #define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git" -#define GITREPUUID "8b02aa9e91bbee0470492dcf1ff67415851e14fa" -#define GITAUTH "Erik_Frojdh" -#define GITREV 0x3455 -#define GITDATE 0x20180308 -#define GITBRANCH "3.1.0-rc" +#define GITREPUUID "afac5be3c3674fe87044d3b7a54471291698d4ba" +#define GITAUTH "Dhanya_Thattil" +#define GITREV 0x3467 +#define GITDATE 0x20180319 +#define GITBRANCH "3.1.1-rc" diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index b4cb565f2..22f60fbd4 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -39,6 +39,9 @@ char mess[MAX_STR_LENGTH]; int dataBytes = 10; int isControlServer = 0; int debugflag = 0; +#ifdef EIGERD +uint32_t dhcpipad = 0; +#endif /* initialization functions */ @@ -64,6 +67,9 @@ void init_detector(int controlserver) { if (controlserver) { isControlServer = 1; initControlServer(); +#ifdef EIGERD + dhcpipad = getDetectorIP(); +#endif } else initStopServer(); #endif @@ -3488,16 +3494,19 @@ int configure_mac(int file_des) { printf("WARNING: Matched detectormac to the hardware mac now\n"); printf("*************************************************\n"); } + + // always remember the ip sent from the client (could be for 10g(if not dhcp)) + if (detipad != getDetectorIP()) + dhcpipad = detipad; + //only for 1Gbe if(!enableTenGigabitEthernet(-1)){ - if (detipad != getDetectorIP()){ - printf("*************************************************\n"); - printf("WARNING: actual detector ip address %x does not match the one from client %x\n",getDetectorIP(),detipad); - detipad = getDetectorIP(); - printf("WARNING: Matched detector ip to the hardware ip now\n"); - printf("*************************************************\n"); - } - } + printf("*************************************************\n"); + printf("WARNING: Using DHCP IP for Configuring MAC\n"); + printf("*************************************************\n"); + detipad = getDetectorIP(); + } else + detipad = dhcpipad; #endif retval=configureMAC(ipad,imacadd,idetectormacadd,detipad,udpport,udpport2,0); //digitalTestBit); if(retval==-1) {