bp)}OpF7glSiGG&|g|unKlQq-s!8cqrl2JAAsk=eScSveX4<#7X_|>~i*%J}; z+(T`B5qM63NShB3op0%9;Ml~1Y_0>*i7!%yg>k(c75%`@k#YT+YlwU&ji1aAizmke zfknZ}VRD`5;dt*LU%Fvl7a0QRkWVz!~4MH$+qtYb!|D{e4f1`dRN7DZ4#<^ z<8R-v8qarYf-$^39joz$w0IHKj{G_Cw%Dzl%M9+fPfLRKvQlktYeTvGIe{K6-wRY~ zHV)owVSHES2n3V)9$i1Q_vC`99*pdqT@vDk3wfI26slf_*5IVgDQ|N>+a~8>R!qC= z8PqO|%w!uiHxc*A_%3*2A^cX!AxnRKEH72)hY!fvj%o?p`4pG6AVfDqW!WbgdeAc% zK_YVpnBv+RT^?LaPHjSW)pTAQUc?7KSV_UvTv&vE?;ciTqA}yDbJWY6hFwP(jJo1@ z7@XHF-UP*!O&hHgjM*hne$loqh-z2908(f3Pd{nEsZ7_w+_3c(Y%6NjjM4h14-v{S z58#VjAWmv>DnBoP+luPaTba%?e&i7Op`q%wX5z`x^`a94i)Fni6f+Uw4L1bGb$nIk zN7`8HxKs)3w% @v=Yka!eYD-`W9H|*}un?G2gxy`W?`w48AXXBy9M>AWdI{txD@(E>6+P}GP zsiiouJuGRpY6|Pgg&HD 8l^TVgp~4-H`W`LMnIXWmGX;vzTN#xT{x= zgs2{K;H>GtUkBTEd2!QI5Sa17eXQ5;gBNULt33Fo>Z9squcm0SS@#f@OeKW$0l=xE zeH%-s%>^vf*j{R$dN&5|r|~oj>9WY-u!;x{x#8Pvs;vEuSzf0*bZ=AdzHdK-G-1uA z@@WS>n;6h*H8^K->5}S(7J*;sazpxM2Aa)AQ{nrx>-BXjc7s1($6;0hkGI27Ivp*{ zk0B(2sv79KO0K#z{KJy~9a4~C+4fqP-2YdX1lnbOL1s%8x87~;aJ4~vfawTW&!6wz z$=3#QqWV1+N5Jk&uUG!Uw@G-*l}y~LOR8m
LUi@`kFJPDMV|*=&7M+>H3YcT+qYS!%v@i@gfr1^sz48>7 zg#P41Gt!9Bpe>bmoWJ^zy@4I?O<`s*+wuyK*7 3uzidx!xE`XUnJV_W&ZBJ8e8>X$3ZyWLrazAcgz!D|bAweV@Jo`2l-fR`bCbFiq zdA;fcr95uZe8j(u?y>iLs<@`?jR;o?NBlc7x1hj@rmJ>~ds%6z39T6PbtCY3GLW1Q zo)$S1-u4v;PYY66+j@S4Py#}pyxrr*de;MQho|5Zq#4AiaI}3x4dTlj%{O#%Ri1gb zbWn{iLr$vpikCAEUCt=C9TFiHmEdBDGXfq$FmsIPxh<0mjw;Ypet&wS4dE1I$z&Mq z?l&0n{^Pd1L<{VK^+2U7&?&3l?kRR0RDY=O7PAOdt1E0lC(``vkK8C0#+qJF7P$l_ z5Op7JFvPk%E$sg7#l}0z|EPiU`unT7Ws+3#-tt@8YmUTu)F{f3^4-#2Lkqq|&Zh0U z>^6+1vjE?g+nJSw)pNbb^b@DW*O2&Frdxpy99=|m;Egxx>KPm{U0D#I2l;fLcR>#$ zpW1?TA@ttLF{p|4Vz^~qL!VeGJ2Y2j3sQ^(!o?MwCro)Exyw?d@oJ^onU3`7MNbx5 zjku4Mqb?ggJp5AQV;UQ1y2HBYsa^v~@mv eLr1r!U(pN-X}tj_$^Tgs7z_kdMvKrQm|U*pQ~WHGElrDHqB|k9_Gh zb|$-Js~49yRZ^di_wIHkY8q(iz;8ul7Oe?_5F; ->hd(+h|>%M z22+`%VL?j0ASC ?}t%?QD%qC|{2VG7Rl1Joh_}sb*PcgH?BN=|UyS^-+uN6K^F{L~xxQb!t5)twA zU|Ar*Yi;C{yh;1>FE#M&pB;pK5i6@aEBOu93@q@AY)|b;X#Rc7FKc;QQAIH>b3Dgt zEF?&8d>C@_QC712WxXaPInohT_$jEElkE-hbN$vS>rK{kQs9rKO-Pf+%|I)Qc2%r@ zd?k8dCNWqH)lPF5vcEeZNMV5!uv8Ij)bg}(`**Gf>ip9dr|%**y|4{=>!iz-kQm#4 zVaS0O>Oo^{^MQM?(N6ok8fFZUd_0sG%rB{ZJYcSRTA{*=lQ`yI=`MbzLi!V=wpzgO zyh=sCX3q1d5?j_tu#$qjDbSGBtYnPH)ue5#{~~%ma^V?PzSwhp&9b7sjGB$7lk?Yu zvPYq|UxV)XElrjv3x{P(c`k5y1iR3v_1UrTF8vde>9sqwnm#C4?mhd6($ODr@R|Tm z%!H~~v1C65{D%{+&8La6EI*FvYowSs2ZoeYuN2$EXg-gwjJs_I&)ACvrMjCtyS8$c zKPJEMafWsFl9n7`;+y`ncP=-Ha67ar(vUlJ^)jlY4Wj1Et)xHb@bJxJhdJ2nS=?}L z3B~V>7uH|oN x3VN4MEaA6I<&aq>vFjh75WOUF71LS9 zQ(WtU3wh~N5KreDGHukcokGo{hZ9Vt#%RehJNsO0-t8+V=+~qv9{UT&1^gOW@GiV~ z{fJkY*P@U(r$2)_t^}d0Nq!^3b8M(Lq;YhL4^m%Yb-Brlnib=_Hon%A99IfDry-IK zchP0!hIgK*e#E$nrwNSRuOOoH;yM*RSZ(`@_o1;~S+Re!om5OeJ8Fm^CG#_F=d?hA z{;%Rv`}1wQ_XKiySyA9L4b3H)l3|xGoR)GZEv}++B|ujew931YLrs`F1`v*GwfM(9 zZgsYh8WlFhXNxE^ib8dBD@Ja|aTbk7%FK= G?9_4RnjuDdinAw4$ PFtuy0$KO*}5?up9s?@ z^2lI$OS)|91zY}!;cfhim=oelmy%<~XX>?>Tb|UK?nux8HiYVHCaeX0@a)%c>rsZs zU91%T+vuppLK- -1IGTSps UU_xx5XcWhv?!9r~)v9bE7Hb4QU(eS&;ce3hg;W!c~FHC9djLAuV6` zaCO4In>1(~7}KCq{(_tceqcSOfX4T;Szm}nXn7#B7``#lb2yng!QnLPtPaXc%B=$5 zul S_|`cAhCkrS5t=@7B`X?7P9{)AiHNw(An+Q-g}Q^GFo zI5jxOzUE+_j^7f$J=u$eY`T#RsHw-4=``>eeKIlhzMv?5-dkB2R=;m%C^6izDWZ%( zp3613+hHfAq|z=6b(hxKM^t3{O@qmG`1`O`f=v4l*C3~P+wPOcas$C?mAVc?$kEc~ zqX)5|*o>dn@xtHF^I*q0Ppui*YBH5wE=sqrKM&$J^B_pv5!#X15o+dI320X@Z*)T# zmlA3 C*qYt@F-`T;s*_(YgD6PMwH%`sDHjK*qnwo >f|uo DC%^%O%vA5tZmcZy>Upt|=0wXWWDNi2 z@_u-hTIQ34a5tt!RZ+Vr(dAUJP+al}xAJdPEy@Mt{W*yw51^_T66+1x_;yxp@w$Wj z8PR0Est_u09mKC|N*w4SF6)^{41n5q8()Y@IiYEn6IGs6!wzSDN_6>An_E!6Ef7+{ zcPufd^l)7&r3z0+zNzr`yeyk&iHe%JhWXh;A_qZqviM};%u!l2S%juHaU9ApMU%{K zfstseMae;Oit(eT0xd+WRK~Z$pD4>v>-{Xz?06?4{Zr+lqZkv$!fi}5o=Xt@W)#;< zf8)}Uhxc(6BYhWy2evtV*3J2Ndviqn0=HMW*F!{~KrFeHHEl3X{KUnO9A~3yGot@X zTc#_x!vqta={^9ymu*`3nRDN(z57~BOG$I)2&9%d2Kex&H?BR?K8<|5qRSuE_aVHc zlvWSq*iTe!_eUiJ52i6=bT4N#ov(rf(%k6LM{4^FD1` >(7p3`vr)%q&~h4 z43nK~5^Rq_T#A~7BmtN{tmCCRja>E$beprb%a@CnGTbgY!C$d)Xbzi-#u%7>#I=;% ztTy6BjFhiM)pF>(GZM>xpO48fen^<2(HVsGr(qE0>c$(zCX8_Xa2ij=7 wx-JRITwpmvt zL-%KMexr>sEin;MNUSR)5GD0y8JPD#y>Sy7JJ_B6)^Tkk`L=7>iWlhDa6jgnn&$S; z9>-e~MasyhEVCa92h~xyZylnJFEp$t`zoJOd=@=?6 =kRoP{rrD`c;tou0`dQ@X^|~zq?9#{fvfG3PBl4xwOLv& zjjVTAzxOYqgP;Hjp693dzn4f6nXPzPQ7t)N!;D0Ke1akK8^ThT9szO(I`67 z+R;APb8*iNX4PDb!C#gTJl!Cm&IQ$xL^IEJH52;ueJ?v-MRIe(a$@p1r9dJER*v^DUTTK>M>Cwv zQLG~<1uGtNpF_V9N65TMV)Wy)soV_mAEjDE6L z4pk+0u|U=oHrMVT9u;f$A`z;+PWGLY=~*_HR%f36dG!=(XtQ-)JXt1J)u0l1dr(*3 z%12gB=}Ae{lj>oa-6^Ka=Va1REG&%jS8eStKSTF{D*Vt#B6U(L1Wgqn+s`an+(ADdq-+tO^2#ACLIDj4C$VJ;QGn@64g%kkL7li{b0(bz5Uhh3@ z{Cs&7{9Npu9sK-kbOo(6ygdDEoSa;|toXd&dj&Ya6`}moFQb5f3P1 ^j_krcroWC2y}M_1~JPWmQ*uq+ku1Zit8H7`u+U{&;q#gT;nrF?ID<)Ys-X z31p_no!s?m{UuAq24i8FDibJg$<&(7P FZqOP7%-M>&%nL zyG*K_aM#$8+FUl0P@Bbb$WrgeGk|-rh=1F(t_8#FXsl4@+>N9>P1Ih2H}PT!O^2+n zCPn&uhmx%W=l;py?0lj8-l;oa+H(YFyE&nbkI`v$YyY%c2fJpKtFasuqPb7l!0dO% znuLnu!Aj=zc$^?~&tVY^qOB_~KfN)5=FX?ZQNGfXBwtv3N^+!P5&^7rQ_Aj?ZY9bk ze{OZeL_K3i$y$ k`TMIb6t3Yb=6-o+|=^~I%Uogc=tAcHSS*IvI^WX+i&3>4POkkRgezi z&jnwO+Vy6Q`}H&eu*)4SSC~&|(V8EInn{bI>^Aoqp}(L&znS7!2ZXIz6q$p7OzdwI z^wl|-^*D@@GuAWkVf+oy |=$QQU`o+F&!q>N;=SzwAYTiutZ`y&P?fPJ; z--uB1M2-&$b#<1%QF=deBYQEmeI$|KMuRkW3cW_F3BZPM)#hUfW^R{H{RO5P+PPl9 z18OVJ;aof-wcbw^3Y$2E;r*$>EK1#GFrwXVW{^GjabAH$AHPRi2uH8zv;-{ySOLKk zYr5=+J6j;qek|b~x?z`CwAT3ICTW(Tv=8yST;JJ>xDg_}b|M9d@;cu8!1V97WE)s; zEwE1eCw1od+tcU*rhnx$U0cb{d`qa %*Drs%lpEby z-Naj#`oi>l71l_U_o +y9F*J4k&IO5IcFcGP(dvn9+cUfU`vhx5av%ndc-rMN z3c8T>!`(FefX|@9#MN$yE4E^Gk`dcg$S^Z$e_u4YB&QF&Hrn`TaN*?NF^ao{Mvh#F za&u{AYCz@U#}r3`@{Y8~`icsYpB@7Fw4{_-i{l;dTmu@O9gSq3>9dyLj^F8w5?@(%uP+$9FHThT95$Lp< BYQGO0#|i#FGl=#0hN9o}j~mG@Iz3rVGphviW?R0Oj mkza&y#A23F`qlh#`Wy ztbGqbIW#$LcxA1B)N2|s$c1r_QxAFtlpjJ(iUbB4M?{}auMN)ZldO73zH)p8{|aQ3 z4v-{eS0c*t*1M#(3*-PvhD`cN`q96zIARw8gaFjefT7wj${gSZ@wm=rC3gRcvifZQgL?X z(sxp}P@l<~Um_`2HF+_iw#3don|%d1b_pI%tZM5gGdO7c{Ifeo79KvIvSc;kdF(^l zu5eeg4$_zezBI8TTMiINAVxRR!X+VAd6s~OPJ1P`^sZ$1@?Tu-y*6n(LXS&@;05EB zGbfK{a_6!5$;*l4$slT1C!cwUZlY+ffdEkrA1dpTYudV>JOh}LspO1?jmQxHYW{Gl zC4wJ)=MA=bGOINur60684W6&xRCOWd&%@f*b f7D|2>*9LB#v?w@+BFA)GvVs9ot*~5{9y#>+s&qzolcY>noA4cm3e4Fj iKr`wdm-!8*qaZZ4i1D#--@7N}3`9ef z(v||pT!suqsp+s)(+Res9-v>nV%y0#d&rW(cVrz$L|wt+iF{HIZ4=K{%-D( I~R`okqModBZZyFt3d4{Pf?qC6oRO&vJy&u&cYMwM^hwl!+gpe z3eWmAz2=S!c6I4XQi8e1cxIK&viQn_QCcRg2F@~G{{B0FiskU+^a~36YH1wDQi#IH z^mTjjp&8A>{XtCFSi8&YjVTT~dDmUNb z>2bF#iPE9yl=dV3#s }I6!o0eZJ`T~fz;e>jN`fq+#v5paHjd*)f z%ssrgQt*vtGVcbDP3zt-ht`12i_j2>w6~j{TWZ_<{V{vftjqGnQ%mcdJSu|E{$VC6 z;tkWMHV@ZO3w5C1fyhtj$1EF4-!w{b%wR= 9pDfqy>j4 zDogHuAER}^OW3N uPwX>yTt13iI z`PDJfg{1z^%5WNp$Y5zUsiBPUL0wSNcqzt$DBH~>epI55<`eu+i8=Rhg0z)y#8I!O z!QrgO3S<~mQ?nyW^UF!EA3FbbqiQx>qg1|s=Z=8kLF5&Xr6Q&U=sdH{RApLL_Kx z$U_bK0SV!|u-!(Hr$#ZlZ7&lu-&*fn3LKH?k4Q7S?}-RbO%^vRT|l8XNI}O$|LP!7 zMs8z= ~r6d9Py!Lo)$AmBem? z>H2{8M?HtsO=WAr^v0TNw~SOnW OsJy_+k4>N zmT!vbCom9LrlNl)_ghVOP6us#$Rb%dYGPJqF=4X0oVW3jYX@LwrIch(V3L~wK1_+v zvXs8UHxo}F`g)I`k1Sjj3KInzntW!w5lY$f`(x>uN@~v3JVXB5nIM3=%RyB2+Z>;t zIEa?;#_VtA4~!4LABba1^cWwQM4ka0qw~9N#((7eGI^n)q!vJd$(_Kr 15{&yR1PY1yOiU>!#t zzEt2^EiSSJy2OTD=DM4yuhg%^$tL~7>`a1i7f)Ya@OA9CugO7`;ve=~wU%7@s_W(% z+F9hYM-+N7UWqzz8$Y6%Gh{J>^Cq{2akP?i-VfKw_`2B%A}*}qLL06;ili$=-d!oq zARdf2{Z1J6I;)U|BC1c^KXYog0+HRW*dd3X!un9pxM2QF(y>N7&)~j%C&G97^3}l; z%b@v!!5YK}8fRRI4mb54T7O6e^`{97`|*NoD31z+p<|SnmdM8YqPmPKLGuqM5arID z6iG;4>Y&uzZqkX9NoF5(w8WvV@NWOt%i?)4D^5`vswR7+vW^VCluTFct>;v7`zkd5 zkhsm#;#w_KulteB zqIS6JAbFIHIm1c_JNV;X >-+nt{=H7QxklDZ4W@MCN0HrCHISdc7KYTi$55cYFkt;)`t zP5CZ=q72A^<0P# mZ~@@=;nX3zGa|J*5icA^qrmFCDNH%SL )_v@#rPNo z?p($_9l5SW`TpvIxl(vrOrNgAI-cA%B26UtXjqH!iLT!l5+w5IkS?M@Nrk;N&alT3 z9mC240KSKEzfyO@O_;KdXK$r{Ka!H!)pK<|wVtSs+Gfg6M6L+x4dGFK(zT;RhnQ~( zw8$x0-xIbghU^E)KPm(bMG26`j+#gI;b+2Nda4vGTr!<=c(w<8&3T5rz(48zaIQMy z$#T)sNKwC?#wwl_2f)srWPN6lbNEGdJECxteVI9fY(p%>x&ciMr^6OGv-&ty#Sg<5 zee$i<(NoC@Tvlei0j u&+jY-_sm`$*4RKI@V%z7yegABbB})WW7_YuF>%`cmcxy zz}|H-Vr9{8IQQZUa`t5n|JD=U#jW5Hlc_@c1^xFum~w)N1?XajfvCaiWpf3dvRWaR zP{`+l{&9R-GC{H^kIa55C{H^J3A!@&jjk$Zz#Nf>w-%H}5mvDOq^*i+%YgK8_p031 z`LoZ%`I#nZ#>+Bx(yP)}#2?@ 7 zw_&SgOAmS{)g7YFY|5rLATM?$y&IxMTnX*atu9g+G3J;PjPu1PBdIgDkv~CUYXcbb zf h6L2s+>>)wujNgb (si7v2k$mZuAlu!m7NNGk zI&!9aIL^^@zu@mJF2#up6Zxx7@fxYv+cdyTWG0C L~pe z4(jXH1)U$COsm`L>3zDlWY;6G>4YF}6x+hTqx@F-z}CV)GCBi@$nVr|OD>&NleC>s zGMNDZyDUPosTo+`rfy<*uB$W|RF|6PmXKHpYZ+w)Sy=+|h%I&vIJA$8V6%&SZ;JB4 z_gerLm1iO2s=cbrzF+a-pPK4#<`*jaRH!5)^`h4T# }x{T3y6--^~bLL>Pn@@>P{<+g>U#61W>rSPwaNnRy*)|QRq%bUW* zk^o=hRkV?gNtCNM@_cG%tI2PSOQov)?mkZ#@-Mi#RbD#X96d+PDaO0!BIkP8*0r XTtiQF^bW32sgI#qN77{k#qN6g6{l z*mCF8MF}vsi-`tj)EOt~%s`aJtkhd;`sg(#bGe-~$=*&I8g<{^M5#_8SK6 j~l zx*%11;HkldCwKLW98N;&iz$lZW5n>m24^HVAJ>W}!|JfwciC^Sn4^w*u -t6X zmzJq2RiEDGa{!--=)-#0{Qb`Y8K&y)Uk_mh%2flWIQww8Ekm|(1$6{l(i_+;0OZ@? zqhZ`Ap>}OSK+j?Inx~qA^?qR(!5eDa_))N5i<)F$=dDJdeRv|IK96Ue6K;&uR{>gk zJ0{qWg87!MX>1Pu(`U3z#NbhZ>JVplzL>UmT9Mx~B|=`+uIzG6^N1C0hQn KM(# z!J`5^y-}o@>wH6aTV>GE>NUL9Q@WwQL`fOw9zvRaS}-r& $N| z%-Y)9N&EkB3F&JDg-|#E03HDVp!>%q{%;<^?d$Ft^uM6Q(&7K0#D6Akd*ZV5s^f|$ zJH^lVs-5}iz_S9(gpWFC#W6UfKFX|b$5AfZwP##GgyKk&kV>YDc6qSy`ir3SdI-m> zPBFaSET4gaQ?bLiKb5i6G(zleHQad{;iIv=kT;HnNa`AP*wSqw4U?Js5mF&;{?pc1 zifB^#T-wPtl{4bW-t5I2Kcc}=Y~^R8;PbrLvaoY0;97ysc|R=q0~kHmvO}TV0mLp3 zJF242>WVO);9?I|4(U6!>H1JN#PGF{KZN(9$KkABDsdm{Ih41xIcY=2;X@$Wyi%;1 zi2jVIcVI{WLc2egQ`7S$wxDioMQ_$xk=S+#;p`G6U}mP0y+Cp $ZG-fYb zzQ<{dop9ndja;B4hoQE5THCyjEm($9lXv7nwdvp^) :{YY}{MO}{DD}{HH}{MI}{SS}{SN4}^FS +^PQ1,0,1,Y +^XZ diff --git a/src/ui/test/test.py b/src/ui/test/test.py index ebcbfef..2f187cd 100755 --- a/src/ui/test/test.py +++ b/src/ui/test/test.py @@ -504,6 +504,11 @@ class Test(Widget): leak_test_1_step_spec = leak_test_1_step.get("spec", {}) leak_test_1_results = leak_test_1.get("results", {}) leak_test_1_results_data = leak_test_1_results.get("data", {}) + leak_test_2 = archived.test_data.get("leak_2", {}).get("0", {}) + leak_test_2_step = leak_test_1.get("step", {}) + leak_test_2_step_spec = leak_test_1_step.get("spec", {}) + leak_test_2_results = leak_test_1.get("results", {}) + leak_test_2_results_data = leak_test_1_results.get("data", {}) printer_fields=self.step.spec context = { # RECIPE DATA @@ -517,6 +522,8 @@ class Test(Widget): "TSET": self.labellify(leak_test_1_step_spec.get("settling_time", "-")), "PSETMINP": self.labellify(leak_test_1_step_spec.get("settling_pressure_min_percent", " -")), "PSETMAXP": self.labellify(leak_test_1_step_spec.get("settling_pressure_max_percent", " -")), + "PSETMINP2": self.labellify(leak_test_2_step_spec.get("settling_pressure_min_percent", " -")), + "PSETMAXP2": self.labellify(leak_test_2_step_spec.get("settling_pressure_max_percent", " -")), "TTEST": self.labellify(leak_test_1_step_spec.get("test_time", "-")), "PMIN": self.labellify(leak_test_1_step_spec.get("test_pressure_min_delta", "-")), "PTEST": self.labellify(leak_test_1_step_spec.get("test_pressure", "-")), @@ -529,11 +536,13 @@ class Test(Widget): "RESPSET": self.labellify(leak_test_1_results_data.get("Running test: pressure at the end of settling", "-")), "RESPB": self.labellify(leak_test_1_results_data.get("Running test: burst pressure", "-")), "RESLEAK": self.labellify(leak_test_1_results_data.get("Running test: measured leak", "-")), + "RESLEAK2": self.labellify(leak_test_2_results_data.get("Running test: measured leak", "-")), "RESFLOW": self.labellify(leak_test_1_results_data.get("Running test: calculated leak flow rate", "-")), "RESRVP": self.labellify(leak_test_1_results_data.get("Running test: calculate RVP%", "-")), "RESRES": self.labellify(leak_test_1_results_data.get("Running test: result", "-")), # SERIAL DEFINITION "SN": str(archived.id), + "SN4": f"{archived.id:0>4}", "SN5": f"{archived.id:0>5}", "SN6": f"{archived.id:0>6}", # TIME DEFINITION From 938f0dd8ddaa074196b0109f973a4b5ecc8615fb Mon Sep 17 00:00:00 2001 From: neo-dl Date: Thu, 16 Feb 2023 15:58:09 +0100 Subject: [PATCH 6/6] second leak test tbt --- src/components/usb_586x.py | 42 +++++++++++++++++++++++++++-------- src/ui/test_leak/test_leak.py | 21 +++++++++++------- 2 files changed, 46 insertions(+), 17 deletions(-) diff --git a/src/components/usb_586x.py b/src/components/usb_586x.py index e9047a9..4d1f1e1 100644 --- a/src/components/usb_586x.py +++ b/src/components/usb_586x.py @@ -36,6 +36,7 @@ class USB_586x(Component): def __init__(self, config=None, name=None, period=1, lazy=True, paused=False, threaded=True): super().__init__(config=config, name=name, period=period, lazy=lazy, paused=paused, threaded=threaded) self.mutex = QMutex() + # DEVICE INFORMATION self.id=config["digital_io"]["id"] if "5860" in self.id: @@ -52,6 +53,19 @@ class USB_586x(Component): # self.info.DeviceNumber = -1 self.info.DeviceMode = 1 self.info.ModuleIndex = 0 + + self.open_device() + + # SET ALL RELAYS OFF + for bit in range(0, self.out_size*8): + self.set_bit(int(bit/8), bit%8, False) + + self.state_delay = 1 + self.last_get = None + self.state_count = None + self.last_out = None + + def open_device(self): # DIGITAL INPUTS CLASS if is_win: self.di_ctrl = InstantDiCtrl(self.info.Description) @@ -90,15 +104,8 @@ class USB_586x(Component): self.do_ctrl = self.do_create() self.di_init_status = self.di_setSelectedDevice(self.di_ctrl, ctypes.byref(self.info)) self.do_init_status = self.do_setSelectedDevice(self.do_ctrl, ctypes.byref(self.info)) - - # SET ALL RELAYS OFF - for bit in range(0, self.out_size*8): - self.set_bit(int(bit/8), bit%8, False) - - self.state_delay = 1 - self.last_get = None - self.state_count = None - self.last_out = None + def close_device(self): + pass @pyqtSlot() def start(self): @@ -177,6 +184,23 @@ class USB_586x(Component): else: ret=self.do_write_bit(self.do_ctrl, byte, bit, int(val)) self.mutex.unlock() + return ret + + def set_bit_verify(self, byte, bit, val): + + ok = False + retry=0 + max_retry = 3 + while not ok and retry