From b15b079221aeb71943d8ec2aa44e73bd75e00933 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 4 Feb 2025 12:52:40 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D1=80=D0=B0=D1=81=D1=87=D0=B5=D1=82=20TWC?= =?UTF-8?q?=5Ftime=20(=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=B1=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D1=82=D1=81=D1=8F=20=D0=BE=D1=82=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=D0=BE=D0=BA=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=B8=20?= =?UTF-8?q?=D0=BE=D1=82=20=D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=BE=D0=B3=D0=BE=20closing=20=D0=B4=D0=BE?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BD=D1=86=D0=B0=20=D0=BF=D0=BE=D1=81=D0=BB?= =?UTF-8?q?=D0=B5=D0=B4=D0=BD=D0=B5=D0=B3=D0=BE=20relief)=20+=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B5=D0=BD=D0=BE=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20ROI=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B8=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AutoConfigClass.cpython-310.pyc | Bin 829 -> 829 bytes .../ConstantCalculator.cpython-310.pyc | Bin 1349 -> 1349 bytes .../__pycache__/OptAlgorithm.cpython-310.pyc | Bin 15519 -> 15519 bytes .../OptTimeCalculator.cpython-310.pyc | Bin 9745 -> 9745 bytes .../__pycache__/PhaseCalc.cpython-310.pyc | Bin 1128 -> 1128 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 190 -> 190 bytes src/base/__pycache__/base.cpython-310.pyc | Bin 22952 -> 16151 bytes .../__pycache__/controller.cpython-310.pyc | Bin 2125 -> 2104 bytes .../__pycache__/converter.cpython-310.pyc | Bin 1578 -> 1578 bytes .../__pycache__/file_manager.cpython-310.pyc | Bin 3469 -> 3462 bytes .../__pycache__/mediator.cpython-310.pyc | Bin 1367 -> 1413 bytes .../passport_former.cpython-310.pyc | Bin 0 -> 9032 bytes src/gui/__pycache__/__init__.cpython-310.pyc | Bin 244 -> 244 bytes src/gui/__pycache__/main_gui.cpython-310.pyc | Bin 6025 -> 6028 bytes src/gui/__pycache__/plotter.cpython-310.pyc | Bin 11777 -> 19532 bytes .../__pycache__/report_gui.cpython-310.pyc | Bin 7557 -> 7557 bytes .../settings_window.cpython-310.pyc | Bin 9308 -> 9303 bytes .../__pycache__/start_widget.cpython-310.pyc | Bin 9991 -> 10075 bytes src/gui/plotter.py | 37 +++++++++++------- .../__pycache__/__init__.cpython-310.pyc | Bin 267 -> 267 bytes .../diagram_parser.cpython-310.pyc | Bin 2877 -> 2877 bytes .../__pycache__/json_tools.cpython-310.pyc | Bin 867 -> 867 bytes .../__pycache__/qt_settings.cpython-310.pyc | Bin 10685 -> 10685 bytes 23 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 src/controller/__pycache__/passport_former.cpython-310.pyc diff --git a/src/OptAlgorithm/__pycache__/AutoConfigClass.cpython-310.pyc b/src/OptAlgorithm/__pycache__/AutoConfigClass.cpython-310.pyc index accac8649d2e8929150a52a8f40c6be3f3e9ff03..8b08778b352364ee570a61a0aa3464b6a2d04186 100644 GIT binary patch delta 20 acmdnXwwH}NpO=@50SK-&PT$CF#0&s6Aq4~g delta 20 acmdnXwwH}NpO=@50SGc#`!;eLF#`ZE5d;zd diff --git a/src/OptAlgorithm/__pycache__/ConstantCalculator.cpython-310.pyc b/src/OptAlgorithm/__pycache__/ConstantCalculator.cpython-310.pyc index 0c2a312491df4609ca3a296c277eb62fb067e613..6cc3eab38fe175de079b768c75bc429b6300a3d1 100644 GIT binary patch delta 20 acmX@gb(D)cpO=@50SK-&PT$CF#R>p6^93dV delta 20 acmX@gb(D)cpO=@50SGc#`!;f0u>t@v;{-GS diff --git a/src/OptAlgorithm/__pycache__/OptAlgorithm.cpython-310.pyc b/src/OptAlgorithm/__pycache__/OptAlgorithm.cpython-310.pyc index 7b03fe1727eb6e4edfa8ffcb114d5c067def180b..8f016f604574dfad7f152c3596e935be476004e1 100644 GIT binary patch delta 20 acmbPVIlq!SpO=@50SK-&PT$Bq#RdRD)&@xc delta 20 acmbPVIlq!SpO=@50SGc#`!;ek-(#syaZ diff --git a/src/OptAlgorithm/__pycache__/OptTimeCalculator.cpython-310.pyc b/src/OptAlgorithm/__pycache__/OptTimeCalculator.cpython-310.pyc index cc1f6525493a39e0cfa592029c80b8091d57b82a..8dd4c0b5110ed875628b35ac3f80927be5535f27 100644 GIT binary patch delta 20 acmbQ}Gtq}TpO=@50SK-&PT$DQrUn2wJOwWR delta 20 acmbQ}Gtq}TpO=@50SGc#`!;g3sQ~~oECf9O diff --git a/src/OptAlgorithm/__pycache__/PhaseCalc.cpython-310.pyc b/src/OptAlgorithm/__pycache__/PhaseCalc.cpython-310.pyc index 990f3c75975df91b41b9027c5773d762d42273cb..086747eee374a119bc4f15dfebae96a279371f42 100644 GIT binary patch delta 20 acmaFC@q&XppO=@50SK-&PT$BK%K`vAA_a;7 delta 20 acmaFC@q&XppO=@50SGc#`!;gNvH$=!5(Jn4 diff --git a/src/OptAlgorithm/__pycache__/__init__.cpython-310.pyc b/src/OptAlgorithm/__pycache__/__init__.cpython-310.pyc index a0c6fbc3cb49d84c5d1a8874f1ec7988db851aca..7af8d689c1da79586714ddeb8eae8b2172d6a0f7 100644 GIT binary patch delta 19 ZcmdnTxQ~%LpO=@50SK-&PM^rV82~T11zG?A delta 19 ZcmdnTxQ~%LpO=@50SGc#`zCU41^_CW1ZV&N diff --git a/src/base/__pycache__/base.cpython-310.pyc b/src/base/__pycache__/base.cpython-310.pyc index bbb4e2098877c7e34ab15b5b285caf14c98b7262..bb910bca1cf3e60d708621767e8ae61f84f12e71 100644 GIT binary patch literal 16151 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 literal 22952 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 q>*qi}7L3?v< zVV%You*nnH304;O239_T-bS(uKj!;Bm|^C_UfO14nmLrc(dT0PnwZr=Hxn*$!AAi& z5MT#`(%2^fb?B-lz7{Ztt!nD)0e5&{I0m2&ay6GdBA0pmfjBu=@1r{ZR{fLbqY6%~ z*3HywM`0`?-}gky`(7MR!tr#J6w9zoey+fJ>%uXBCGYVQ6s1k(P?8HW!p61K=qYT= z7L~9gzvv58WvI=eCV#aVP&s4gurJ@)C1|puHx6(%R+JTVg{neLVPD};fyhwb11{(K z)^L;j|6L+@mYvn}>BhxfFFtAZ;=#lnd+}7PT9PbH^XsT{I}ublg|*X;geNp*8N+Pd Vrh;IZmNsu#>e@CcKmlxAB7Y3$Sf>C0 delta 441 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 HLwD zt1%i$@=7wKa;EYDN&YleNrp6*6y_9`7M3W1&83VJ7RCQE;+4OKd#I`9;hif*VArfCwd2LK(#60TMz$Tnu7xFfcI* zFf#pDV&eM;meCZr#a2>T0Cav46HxvZTR~!8N@8)5*5vyv9#&wJLHe+ne2c>-H$SB` WC)JJ-WIV_{JPaI6Jd7GlB0K<^D@f%4 delta 311 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 X);Vh5@{wksJaxt{0C?+n7LWZOSzenr literal 0 HcmV?d00001 diff --git a/src/gui/__pycache__/__init__.cpython-310.pyc b/src/gui/__pycache__/__init__.cpython-310.pyc index 70d82539eb3678dc883bccd79ed3c8b378c6a1e7..edbc25b72429822f086f5a0830ea3a6d37e36032 100644 GIT binary patch delta 19 Zcmeyu_=S->pO=@50SK-&PM^sA5&$=b1^fU2 delta 19 Zcmeyu_=S->pO=@50SGc#`zCU~1OPH<1quKF diff --git a/src/gui/__pycache__/main_gui.cpython-310.pyc b/src/gui/__pycache__/main_gui.cpython-310.pyc index baefbd38a1f97758ecd1eadadd5a2d03e85e1247..754693b39588d0bb8d4886abc61d22a04e137861 100644 GIT binary patch delta 2422 zcmZ`*O>7%Q6yCLW?X}nItpD=g{4`BdD>P|KXz33DHEjwAqC}xBT7bcuEtk6AQ?(ttnsG969rLr* zoRd?PD+-AdV_P8xjoptr`JFGOhaw_<(F^G7UZr-uQX};{!dRtYSgDnRoj*j&ystVb zQhcDSt0YRa?UZ8?otiX#vu8jdDv7LXBu3)fnq!k9F-QVXMp`F{xotRE(58q5+8m%X z=>e1nWRnb_0-!9(0qO;mCj~%#q?hzA0eNZ|!48k!Rem&efkidX#=jwQc4WgA4Lx4m&*r?xer9IdM1N_&XkM%DjOHAcA z?EWjGXg!8v9K~S}MNLK$5$^;$ipnVzU2d&gbaNT+b@?`}g_HaT`<+%65648R-k@x+ z`0#9es4#=gU|(l4+SpsL9GntKX(fFXBkhMigHikUL*rxEDG<}}4Ga)T6+gDRRcLn| zf0P;KpPLqc7`>`y`CrjFHNi)y_|Kuh84i#B!8^^v}gemmfLI)7qTz= zmz@9|>p^i6MHx^w(b{kI4!^2f2h5xM`wQWnLy;Ct0I;>|DczhkHE zIQo%MWPlldK0Y~k29?i)a4hCE>Tq|j6jtgrc9w6&2M3;blt`v$4y<3~U&q4)=7&vy z;B&^<$a!2nIk4Xx>^az2YO?-O;JqfGh>AIW=VL(SigM^zhn?he}R(w*7wR=tn?x1%?6k3&C#$bymuAu13 zGhSthUrK(j%l74lIWm62E^*}Bw}vKryje;iTUa2i{PS| zVyoyWfezeiols`Nx}6sbE?;xkD?WAC!Wuh`8)x{b)XdyDgqZ41xc$1d$)GDNI}4UB zf0+8<6%5ASK#@WrNAh3J(gCHnfKEG8-|Y<>rOZp#?$iRHEwkM+WAgIXrKVoW)L zFyRw?Iz2Ihlfm9Z(Uo1iO_lrU8UBem*g_Tvm3zuf^-*LOe@F56{m8p2VC|89Pu*4V zPsFOi+8n@Q=o4o|B!CB(J?2#d+2NumsFZ7-zh4{n7Fg{S2)VC4a|iE}179m(bsN5c z2BKHBc_Ul*WH3YS$!2#G{5l{-2}q0>s(k zFXeteE-x6B{plDBtJmCy7j6jE?atX%IPo4|%>TSBEBG=jg}wJ$?>3c9(|&G;VGV2} z^u{O{v)51@d^jwxf$n`y3dMK^&{FX*e^{7pIcO)sCjry!H=_{WsYF delta 2243 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 diff --git a/src/gui/__pycache__/report_gui.cpython-310.pyc b/src/gui/__pycache__/report_gui.cpython-310.pyc index a34c32eebad7a3b8dd66033fda93aee535bfb19a..8db590308bf0e2c109edf910bf740b9ad43a914c 100644 GIT binary patch delta 949 zcmZ{i%WD%+6vlfSGi_&@CZ=gajKPRT91x*eLFmJzCe`{F6WhibqiI4X&CtAhXWC#X zN{}vG--TPZu4)knsSEB+pEe|LNfO2(Mduy_SQE!oaGm& zgEYrJ`YxQy@B{V#LjYESBM;*t$6kWPRl!TRH zvi}sx+X?>_Legw4aCUBu>*`Q1y5NfDM@KTtjdoq9kKuEble3Ql8A5KeUni%=mqc{k zXc(4B7ZH7nC4IGmxz)&kmbWK*~DhG|szd}^!|jxFyXXctHVqPwTC+8mBtH=25> zV{BM8DjIFU)$1O957jr_&2QUZ!yWR{Re6VpYwAef8fgSKKLMTtdmO6L8~FcNkdG9SYx#f&z>n$r?w#rME-k?P|JwO!L1}I>%i>H5(D)YvYiy%H~u@tK!eaJ}1KD{%wK8VVq z3pZ}=7jUU7B$Key=)$!NcM}u8h%w&(Oms1US^V<9=bU@bV@`j%KdrP?RUQyuVe0LU zvLlVyl3CST58Jl&P1^O5Ild`pNQQrrO~LcZQIfI>$~i(7tT&?*gyi@;bz=CIcz_PF zJpZhoJiZ_fEbt#esHDIO#InHiBu~guo;diG&cl`$u%$|;qqWwl#1z=>0M1Kks0^0_ zhe^>&2F?;P&x^rhm+lHX9de^rJ<;N5OGc&HX=v;oe4cXh)^6}JAy@hDLz83Ioalz$ z)J=n3LG&U|g{IUp?EWh28Z}nsTcKp+y0Fk;H)RHa2w`>pDRg@L2Bas=n)N5NMJBUw z-2|3^0^kheHqdJ`73Oaw6#3GO;#)LKLDHpH-!2y$f_`O00JZg zvQ%cyP-kF4Ypez|1?-__J&ks3+0e`t-O#IIK96`Q63_P#^b~OC4OIe|fGs!lmR9QN z>t>BPjXs8}4AkNGF>S-!ykUKh^vEku<i!_F-d!^Xx_jdWk*b{PrZ^vjZg^MQu zth(Dk5em!g{sLVndoSqTkq6xTJ+xi-ac^O3O~J68pj!u{mG7nu)Cnq^ElF2gz8*os<2fwlQ9w%qp!a zl?D<{2N4+{LJ~xngNV$@dzBuTNerUm}XlT!@hkKsDEZ7;Yqocu~XVLOu1>^*zIYc;sF~h~k I!^rXn04y?m{r~^~ delta 500 zcmZus&npB`9G~wPyVLFrGi%1$nbz7tQjUsJq#V`(r_Jvl+pd;fwLBxq7E*HB@J&$; zT-=bRh+O;y9EjxR=!S5RytgNZeXsX<-#(wu_w&B*A@UrNGqUXA=!!Syk}aol!s{6W zj$7wa+^mWx-XQLHub>s9Qgh8J*h-owJ5+>yHS5j_2Rv{y8M`#=rJ9dwht8372d*c< zUYH)owUQf2;uVlU0fiU7oLK1vKp&cFryiwml6DFMBFW5;CSrDs^x}fr2y@P{DgbOa zj_(@eerl;#NF}om;fm&m0o>JsFo@^c2t=`5?|^L_)IZ&|9@AG$%5cgI;#~O$^gAj4 zBJWycomqSh48tXM8fS2~W!4%=#!fJpWDsD`#2|%jW`&-nbXK9CVYJ^6_|U3GjyZ)~~`w&L@)|RwePJI<7V-m5M29B6#SQK=}Cs)Q5Vq diff --git a/src/gui/__pycache__/start_widget.cpython-310.pyc b/src/gui/__pycache__/start_widget.cpython-310.pyc index ba9185ecb8e1ceb676fca14a6d5a95e319cb19f3..cc613820723356359decd54fc55e47b26451f4dc 100644 GIT binary patch delta 3152 zcmb7G+iw(A7@xDV*XitbyWQT~ZI`wSTSAe9T98sK2w1VDP!n-qrn@`Cc3>~70dy^ka9prRatr-=fwfE48 zD6!mX+|*bn`N;=_XC$372Td(wB(GEjm)dL+aWsKkkZl$BcQwF@h7np;R-D`bq$Q;^ zQ<>3K_^DsIF1~6bA=c^a337=QG1?5WO)Tp?Lh9HZ=jLHFPep`I1Y}!YMMh(nef2u_||6 zh`Y~it@?$2JcT0d?0~y>O9w9h^T6ESeiVza+wMuyz?wa~+C#Xp2VwoWEw=&T$>daR zfX#XKjy#Pb+%pFq!1Z1Lt3t`OyaGE3a2yFuV6JMMj9z86+eLNSu? zL-5B-cfb$biNJGGQY08FdJy3`gdv0x1hh(bA*@DgwPyN&frbqqK(S_mqC4maIsz`* z2c>iK;KKz2qE?lXn9|d#V#X886<+LsG9_eyJd{v(WyoF!OLjzT=%$ZYOf#q(VOJ~P zYbeuTG!E=JHs~LmcfiU84<^gV1LR3TP{|@WV>8Kl;f$CU3pUl3x1A6dZA9Rd2$X$= zvIFHn%5;LfJ#R0#@}SRU-FZ7-2?bAHR2`;Ns8|#Vvg%wUbpq;y^FqO!7g0zRV3xRs zE#JiKq^TrxSu?I@HOfL&1ABay8;Wg0qvkAcaH|69Z)ADLa#1a%=dy<7Ois~h&7k9O z4vLwfSYLD-J6pBwu!C0;RbeM4O~7zcbev9>2&u5_DXOb$GF==)Nvgp_!(7dSmJtMy zh?Ds6pLqiBhIoIN_>R>g;WH%(dzaYffvya%$%_A}Ld*x{`Q`Ll;~9%VSg%Om0>(GUyo_*>eb&^o{UL3B+A^=@+TU?)*3mpPpMa(1 zoz}G(42lV3)37`+QwNeJv_-U7_%R7@3`5Ci*{K+YnadT)N@Lc5URcqNRbj8i%^Y3X zT5}3KIXw&TB|Julzu(U8tRqYiw6*SLua*3H0x= z+16e@$%~N;l(tSa2vNMRDfS~Rnde^IdldmQ&)uXRTwy*e*)Zd#p3G?GcuuAGy7Fzt zHKu`mneAxXOs1i)n%T>3jCa&6`-6^Z3x|s%;5u3=(?@?WB^-JD>HQ~~i?FZ5Ka(i? zbVFF(0vnbWl9E-9>rk5sGfSN)#BWYVrwS7_0jk+jah->1z8d@IdMdW^rz$3_EC5$cX_0A`IZms9?b8wMQfKiR_yNwb^ z4M#Un8xmP|zwdQj#*YPGEg1R-@l}9; delta 3010 zcmb7GTWl0n7~a|0`=#C8ZcFKPpxwe2P>hsvtw4nWg>tD0(vS?houRDmcFUP5P}ouw zV*?UNJpqHFv?hueA53bZ#&}75^zz_?3FCu4!iz5&Ux>v2J5#r{E(mSroAY1Jf6n~p zJO95w_l)<1^Wkv7L4QYl69YXH;d<%z#Io_RE{EpR{4Y5)zb>DX`)WuIXhD*LLarq_ zq=iWi>jARYkzA&glU%O5NvYs?lr`I|IlDmf7D)@GJYil))m;$IPj)b^~L@O|$o9c;-Mz00a zpU5verF!1sX^RVwq8qCv-x@yd*(X);Tb^Y-2+w3dGXQ2Qtg8LllwtJi*{rJCODeE7 z0I(XXB#6>u_y~NCGH019CbLSu-+RMVMJj&DS+kujpb^8ilQLU~F;=spYI-=6)l|bw znZt&fPBHs~M05piVhQ-Jg|wKfzV;PO7(Ors;tMvyEy2I>9h0hgn}2;%Jro@Pr3fNn zK7$gL%WL{3&iz~VJ_W1TtD9}Ycr$?&R0s2>u4YqdJ%Bm85QdER;w-25;n-Z2@ct1OdAV zENp*&YH&bjJ^ZWCi5-ta8AxebugP??|0r7tg@5bGq12$385~GD8TQZ@ocW-U{IEIi z6W9iF*vH4h&y206QBq>aCcPxQ!mOQMYz;u1%RK5JUu+v-2VfUq4**fwI)GAySthL~ z9ReF=1U8f6awzVOyJKDkBd!8xWv_NUm`!FXJwyNdvWZbNVpCUngU!)`ujXNCbsSR@ z{G;-#3rk!+c9_f~JRR9FhV$~$1Fje+2@297*Qj$;9(9enO~*OMsHfnWlr*UzPdO!r z7&{BD;#e-YF*cp#=`DCC<$`lc5`M0NSBxB!?t({inVw1Slw;DTxu>KB4l&;`=?@n? zaMB!9Vmv*(JG!|sAg;F+B);rr`5~Q|BMiA_U<_Nyzl}c8=M&su{iLxxb`fD3%sSu* z)G{U5at*MIHs=@xg9H6cry8b`!x{24;shbdBZctKyJMFd1o?*$N+|-SvNXX3elON~ zKoBnYKNLHRIeCC!7iQm|SSneE_*g}yr1HxZcc|Wt#e2izhI?nK5&tFLyHsq>KqwP1 z3@A~GCU{@vwuhz5H3UiU?<-%VDzvvMqliULL#q@)B+pI9GCXvB`c~Bk(mJHi@{@+z z0M&5@)>&ba_oScG`^}zIPPbe~Gn&rE5ak5mEZ`*nqPn^yGe^k$?(}cfpGuwk{I*$h!bL{{KBOLVbQ--c`|m)24pKk&}l7uKGKiyenu zz!;mizwX}?*(+rD5yp#vbNsK`wpIU`eHJzaP-6B^&|l<7>UK*h{&Ai1EYjH*K=C%z zoIW_*ha{O)Cfrr(Y(g6TRoI*!DEYWOH29P#fzlnyuPWrTeLn=pJX_o zm9gvgUd7P|bE(WAb!E}So`iK3Kq-Pa(n%8U@v}{xhvs!Il!p1qhI8oz!tf@+AN2fg z|K5o?%iIxJXpu`$*1_H&NcydCudY8&RGhiP*Z7|1`W0`%0oi761Ev5ak{Fjr{|>*} zT=&SCT!^WO*AnMDms0Sgm!S(W4?tvdHjyH)$R>LapcJ8)v^xG>Vs+b%qCvQb?FyHh zWQbw8_u&DlC#f(egbZ(QIV~OJ(=F|)_>m}DI1>p6^F+$TlsW4vFd(w!+dy}EIIDM1 ebcazx5OS<>hCFB`5hp!zq$RR8(iqX>4Sxfel~=$3 diff --git a/src/gui/plotter.py b/src/gui/plotter.py index 9b9975a..5a9add2 100644 --- a/src/gui/plotter.py +++ b/src/gui/plotter.py @@ -27,6 +27,8 @@ class ChannelTimings(): TWC_time: float = 0.0 ideal_time: float = 0.0 client_time: float = 0.0 + TWC_start: float = 0.0 + TWC_end: float = 0.0 worst_performance: float = 2 worst_timeframe: list = field(default_factory=lambda: [0, 0]) @@ -151,7 +153,9 @@ class CustomPlotLayout(pg.GraphicsLayoutWidget): self.addItem(plot_item, widget_num, 0) - navigator = NavigatorPlot(plot_timings.worst_timeframe, main_plot) + timings = ChannelTimings() + if self.property('performance'):timings:ChannelTimings = self.property('performance') + navigator = NavigatorPlot(timings.worst_timeframe, main_plot) if navigator is not None: self.addItem(navigator, widget_num+1, 0) @@ -210,6 +214,7 @@ class PlotItemGenerator: point_data: PointPassport = data ideal_data = copy.deepcopy(point_data.ideal_data) is_last = (cur_point == len(points_pocket) - 1) + is_first = (cur_point == 0) if self._ideal_mode: timings, point_data.events, point_data.timeframe = self._generate_synthetic_events(timings, ideal_data) @@ -239,14 +244,13 @@ class PlotItemGenerator: self._add_ideal_signals(plot_item, legend, ideal_data, point_data.events, description["Ideal_signals"], pyqt_container.curves, is_last) if settings["performance"]: - timings = self._calc_performance(timings, point_data, ideal_data, is_last) + timings = self._calc_performance(timings, point_data, ideal_data, is_first, is_last) self._parent._update_status(widget_steps, point_steps, widget_num, cur_point) # Добавляем реальные сигналы if not self._ideal_mode: self._add_real_signals(plot_item, dataframe, description["Real_signals"], legend, pyqt_container.curves) - return (plot_item, timings) @staticmethod @@ -415,24 +419,26 @@ class PlotItemGenerator: def _calc_performance(self, timings:ChannelTimings, point_data: PointPassport, - ideal_data:dict, + ideal_data:dict, + is_first:bool, is_last:bool) -> ChannelTimings: - if is_last: + if is_first: if not self._ideal_mode: - TWC_delta = sum([point_data.events[stage][1] - point_data.events[stage][0] - for stage in ["Closing", "Squeeze", "Welding"]]) - else: TWC_delta = 0 + timings.TWC_start = point_data.events["Closing"][0] + ideal_delta = ideal_data["Ideal cycle"] + elif is_last: + if not self._ideal_mode: + timings.TWC_end = point_data.events["Relief"][1] + timings.TWC_time = timings.TWC_end - timings.TWC_start + timings.worst_timeframe = [timings.TWC_start, timings.TWC_end] ideal_delta = sum(ideal_data["Ideal timings"][0:3]) else: - if not self._ideal_mode: TWC_delta = point_data.timeframe[1] - point_data.timeframe[0] - else: TWC_delta = 0 ideal_delta = ideal_data["Ideal cycle"] - timings.TWC_time += TWC_delta timings.ideal_time += ideal_delta - curr_perf = ideal_delta/TWC_delta if TWC_delta != 0 else 1 + #curr_perf = ideal_delta/TWC_delta if TWC_delta != 0 else 1 - if curr_perf < timings.worst_performance: + if False: #curr_perf < timings.worst_performance: timings.worst_performance = curr_perf timings.worst_timeframe = point_data.timeframe return timings @@ -509,6 +515,7 @@ class NavigatorPlot(pg.PlotItem): """ Связывает изменения навигатора и других графиков друг с другом """ + self._sync_main_plot_with_navigator(main_plot, self.ROI_region) self.ROI_region.sigRegionChanged.connect( lambda: self._sync_main_plot_with_navigator(main_plot, self.ROI_region) ) @@ -533,8 +540,10 @@ class NavigatorPlot(pg.PlotItem): x_downsampled, y_downsampled = self._downsample_data(x, y, max_points=1000) self.plot(x_downsampled, y_downsampled, pen=signal_pen, name=curve_name) - self.ROI_region = pg.LinearRegionItem(values=time_region, movable=True, brush=pg.mkBrush(0, 0, 255, 100), pen=pg.mkPen(width=4)) + self.ROI_region = pg.LinearRegionItem(movable=True, brush=pg.mkBrush(0, 0, 255, 100), pen=pg.mkPen(width=4)) + self.ROI_region.setBounds([0, x[-1]]) + self.ROI_region.setRegion(time_region) self.addItem(self.ROI_region) self.getViewBox().setLimits(xMin=0, xMax=x[-1]) diff --git a/src/utils/__pycache__/__init__.cpython-310.pyc b/src/utils/__pycache__/__init__.cpython-310.pyc index a4bdb2abc957f18862b74c63c5feb32a399c31e7..78b7dc958221a0372beec12a7592967ed7cb1f6e 100644 GIT binary patch delta 19 ZcmeBX>Sp53=jG*M0D|j{(-(3x0sts71XTb4 delta 19 YcmeBX>Sp53=jG*M0D?@`zJ=V303!|qVgLXD diff --git a/src/utils/__pycache__/diagram_parser.cpython-310.pyc b/src/utils/__pycache__/diagram_parser.cpython-310.pyc index c4db8c1ba301e1e0b2ad7974993ea698d921527d..3b2b1ac826a3a739cdb9788ed9a9d42b38a0d6ef 100644 GIT binary patch delta 20 acmdlhwpWZhpO=@50SK-)PT$CF#0>y9a0M*@ delta 20 acmdlhwpWZhpO=@50SGc#`!;eLaRUG`Sp+%& diff --git a/src/utils/__pycache__/json_tools.cpython-310.pyc b/src/utils/__pycache__/json_tools.cpython-310.pyc index 052e62fa840c34d4f63c200eb65e01d214799848..2f9d5f2ae369b74cfb7f9651775c6f38b37d01bd 100644 GIT binary patch delta 20 acmaFN_Lz-3pO=@50SK-)PT$BK!3+R97zK9# delta 20 acmaFN_Lz-3pO=@50SGc#`!;e%FarQJ0R)5q diff --git a/src/utils/__pycache__/qt_settings.cpython-310.pyc b/src/utils/__pycache__/qt_settings.cpython-310.pyc index 55e5b8f919355c7f47f41c5afcaa5e724f1cc34c..437a443521f583f045c9e0b70e08cf21255d2ee5 100644 GIT binary patch delta 20 acmdlRyf>ITpO=@50SK-)PT$DANfQ7;A_heO delta 20 acmdlRyf>ITpO=@50SGc#`!;fK(gXlI3k6aD