From 625f3d7e0134fde9106fc085178c04b7af9304b4 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 19 Dec 2024 14:25:11 +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=D0=BE=20=D0=B2=D0=B7=D0=B0=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D0=B5=20=D0=BC=D0=BE?= =?UTF-8?q?=D0=B4=D1=83=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- params/system_params.json | 2 +- .../__pycache__/converter.cpython-310.pyc | Bin 1260 -> 1256 bytes .../__pycache__/monitor.cpython-310.pyc | Bin 2983 -> 2992 bytes .../passportFormer.cpython-310.pyc | Bin 4291 -> 4347 bytes src/controller/converter.py | 18 +++++++++--------- src/controller/monitor.py | 2 +- src/controller/passportFormer.py | 3 ++- src/gui/__pycache__/mainGui.cpython-310.pyc | Bin 6840 -> 6954 bytes src/gui/__pycache__/plotter.cpython-310.pyc | Bin 10010 -> 10008 bytes src/gui/mainGui.py | 15 +++++++++------ .../base/__pycache__/base.cpython-310.pyc | Bin 20365 -> 20374 bytes src/utils/base/base.py | 4 ++-- 12 files changed, 24 insertions(+), 20 deletions(-) diff --git a/params/system_params.json b/params/system_params.json index beb0753..7e69d3c 100644 --- a/params/system_params.json +++ b/params/system_params.json @@ -51,7 +51,7 @@ 0.075 ], "time_capture": [ - 100.0 + 1000.0 ], "UML_time_scaler": [ 1000.0 diff --git a/src/controller/__pycache__/converter.cpython-310.pyc b/src/controller/__pycache__/converter.cpython-310.pyc index 8d38c8efd05b38476f3b2f15059ce1b53d7ff290..24aaabf16cd61d8d7e22e65ef4ac367e6d5f52dc 100644 GIT binary patch delta 250 zcmaFE`GS)-pO=@50SLbTOHQxb$g9A}&j#c<197nnkf@TLY{h8A8_p2SzzBws3@MYd z8CUT004152Bp4+a*+6iz43jx83rwd0kTE%lNoVpJCPi%}ASa!nh9Q=>ma&F0g&~`{ zh_{4c0g%0rF^@5YaUxS8Q!s-j(=7(S$#0mzAF33%Mi~@{8 zj8#&T4Va}Sv6w0d0L5-`x+In)x)mknrWWx6`9&bjx0s7dii)HrhqCAhaTGBFMKsxN Su@xldr6d*?2~3{M5(xl;*)bge delta 248 zcmaFC`G%7>pO=@50SMyXC#TnM$dO=@U}TwW z#AMFT4pS2VWK>B`E@RS>4QEJU2xede!y1Mx<^?P@K#_FDg-nbLk&_oPDanfg6{j=Q zFvPOgGL|qbV60(W$T*RykSUm|s7P{hAd8L=YY{V0M3e0n RTR~!8N@8&l|Kxs_NB{@QFeCr~ diff --git a/src/controller/__pycache__/monitor.cpython-310.pyc b/src/controller/__pycache__/monitor.cpython-310.pyc index e55aa47adb43201d2503212c2976e5922f5e41e2..7075f6b9dac1eb9b621d29c3994fb8fa4745f0c5 100644 GIT binary patch delta 125 zcmZ23zCoNfpO=@50SNvvrldP>4lNWIMF!F4E%ejjY E0JY;A6#xJL delta 116 zcmdlWzFeF)pO=@50SGp~OHQ}j$m_@%A>GLy2;e8D`qhvf(-4^WVWQI1h% zayaXGM(N4wYV$M=KMf@#a)+ZbnAy$%Q=o7`-=MbNyqs?=h#$LO^=gLgM0quOK@{`-s}lUW4n809B7 J3zRcT0sw)~I~o80 diff --git a/src/controller/converter.py b/src/controller/converter.py index 7079dd3..d87acb3 100644 --- a/src/controller/converter.py +++ b/src/controller/converter.py @@ -10,14 +10,14 @@ class DataConverter(BaseDataConverter): @staticmethod def _replace_bool(dataframe: pd.DataFrame) -> pd.DataFrame: - bool_columns = dataframe.columns[dataframe.isin([True, False]).any()] - dataframe[bool_columns] = dataframe[bool_columns].replace({True: 1, False: 0}) - return dataframe + try: + bool_columns = dataframe.columns[dataframe.isin([True, False]).any()] + dataframe[bool_columns] = dataframe[bool_columns].replace({True: 1, False: 0}) + return dataframe + except: + return None def convert_data(self, files: list[str]) -> None: - try: - dataframes = [pd.read_csv(file) for file in files] - converted_dataframes = list(map(self._replace_bool, dataframes)) - self._mediator.notify(self, converted_dataframes) - except: - self._mediator.notify(self, [None]) + dataframes = [pd.read_csv(file) if file != '' else None for file in files] + converted_dataframes = list(map(self._replace_bool, dataframes)) + self._mediator.notify(self, converted_dataframes) diff --git a/src/controller/monitor.py b/src/controller/monitor.py index 42603a0..c6603d7 100644 --- a/src/controller/monitor.py +++ b/src/controller/monitor.py @@ -55,7 +55,7 @@ class DirectoryMonitor(BaseDirectoryMonitor): def custom_csv_extract_only(self, path: str): self.stop() - self._files = [path] + self._files.append(path) if path is not None: self._mediator.notify(self, [path]) else: diff --git a/src/controller/passportFormer.py b/src/controller/passportFormer.py index 7da8a87..ad7ca1c 100644 --- a/src/controller/passportFormer.py +++ b/src/controller/passportFormer.py @@ -18,7 +18,8 @@ class idealDataBuilder(BaseIdealDataBuilder): def get_weldingDF(self) -> pd.DataFrame: data = [] - X1, X2, V1, V2, F = self.calcPhaseGrow(self.Ts['tgrow']) + X1, X2, V1, V2, F = self.calcPhaseGrow(self.Ts['tgrow']-0.0001) + X1, X2, V1, V2 = X1*1000, X2*1000, V1*1000, V2*1000 data.append({"time":0, "Position FE":X1,"Position ME":X2, "Rotor Speed FE":V1, "Rotor Speed ME":V2, "Force":F}) data.append({"time":self.welding_time, "Position FE":X1,"Position ME":X2, "Rotor Speed FE":V1, "Rotor Speed ME":V2, "Force":F}) return pd.DataFrame(data) diff --git a/src/gui/__pycache__/mainGui.cpython-310.pyc b/src/gui/__pycache__/mainGui.cpython-310.pyc index bf5aa196a6d132e3bd57dad4be41438f56b149d8..941766e83b1c4184abb60b2679c97d76e61181e2 100644 GIT binary patch delta 1254 zcmZ8f&u<$=6rPz~uXks&YkU23owOuz1T_dNC888noDc|6njR8p@Bz!@ty`NUcE?Lo zMH@vxM2bX&&`4a6sx^oUNJym@DpjhuRUG&OeBr{4OaB2B-q^-e+0}gd=6m0J^Y+dD z`tpw#oUY?=f=~CK&Ffe1ITz^Lf8Z`4bqb`;EDDRj0xi&e0vgbkeneUnbVwXJ^#oMF zfaIZGH;|cNAxk3TU?Vf3B9G}py8;>TaPMLy3pr#dWO*ncOG7cpjO#)Pd{jJ)m0=cH z7BoCJ=aUwLIXHt#9%E2#d53gn)GlPP1r|E=NS`|NiNl#XI64whV(Lgt9PY%C8jyV>GU7DYqce;+ z6H&zuP|QSZDvn!Fnm*MMieV!j7D-0QI2#!gB?s8#zIlhld5l?+6=$&VaVGL8IjUiG zGLab;Iz@1f871g0feY?H@hs{1aT$m*0>R;=R@Y_Gy=(_~x8ezI&Wc6F=Mdz@)RO!(_0r6cH@cYI zP|31lpR0&>l;?_q48m|ytD$ODxyY*Izfv{3?);zUrq3^{6HIDS&Sq$ua(r`7p*!OL zp~*OvH`C?&$LWXk%r(rc+r6!B*w}5u^&k|lq9QgFyf0hcCHjT@&U-Z5RKjJ1sy=FC z$ePOnlo-fQ%31kU)}`OdyV<*RAYaQpp+Cr4{xkokG8CpzR7@55N&cR%9WZ1XuGew( zO9&B(3EmuyNQcI3{7a~75H1F*+R$$FgRNjQY;5*#jRqv%Qvo*aNbfbn8>dfu7Y#q- z>gxz54recarPPGf@_gyJxsP!_OyMBcnzw>C@nTn-+kse6nYU$Fsy(}_sH!lk|^ zAD1ptUs8W#rKJ)&3O-Vx{-B}O-U&yO6zT(qT0ay*H7`^ delta 1308 zcmZ8f-HRJl6uFjHh#=r=CA#VPQcn6SX-ny)IkJVpjR1az<2aJY=?sm#!2yO_yC0hx!a2qk1WCa73iaFhc*(w91&bU0#u*~vzQ5gAK`L5f3^ z6c&;qp4p7dxCBlzk{LS@o&!%v3@2VNeaQ@Bc%Cv=rlM3_iOfYL0~vfB4nR9ONJr_| zp}i%Q$Rj)!c1sU>PGp7E!760$iR1#-zy)`ja9UaPWaZ2C0mIAlw%)q^{L4~~WUKz> zFz8N#`Xm?zy|CUJNlA9x4d1JWqk3<$uO4SNd0(A(KjuUAwR`50tm21y+mYSzNQU*j z5d?A-Bl1;*W=*aWuOZBw&b(`fy8Ppw$+akTp5R3SUw!5kRl~cuA)Dl%BY1(}0)avB zI>8$VO*mlOlQP{cFhut8Q*DxaAA!w_s{!9E*75b0XZc<;Ovx4ZknEB#@x)!hqZgDP*S$CcLEeWKKJW{&$G z?RCdbcf5|dU)06wRbElU>W$Ve6}(R{BuMU6>wgd?v(L0iC?(A;X%cx|{Z-w#b{46{ ugwRh+E=~k@PwbSvZl~?jm6q+>rmg#?uh}WzlnzR_n!XfN-BCAJfBP33(k4p) diff --git a/src/gui/__pycache__/plotter.cpython-310.pyc b/src/gui/__pycache__/plotter.cpython-310.pyc index 4bda5621f645dd719bbeb28ae083b4760a635c60..8cb60bc9fbbe2dab797503af4706c87a70210506 100644 GIT binary patch delta 31 lcmbQ`H^YxNpO=@50SGw1B&VltQeyoG!9i2mpTu2mb&7 delta 33 ncmbQ?H_MMVpO=@50SKx;Ca0%wPoQP`X+vRMcKmH!C7 diff --git a/src/gui/mainGui.py b/src/gui/mainGui.py index e09f4e6..d358671 100644 --- a/src/gui/mainGui.py +++ b/src/gui/mainGui.py @@ -92,14 +92,10 @@ class MainWindow(BaseMainWindow): def _init_raportUI(self) -> None: self._clear() self._transfer_settings() - path = self._select_csv() + self.tabWidget = QtWidgets.QTabWidget() self.tabWidget.setTabsClosable(True) self.tabWidget.tabCloseRequested.connect(self._close_tab) - if path is None: - self.layout().addWidget(QtWidgets.QLabel("Error. Please select correct path to csv")) - self._init_startUI() - self._controller.raport_mode(None) sys_settings_btn = QtWidgets.QPushButton("System settings") sys_settings_btn.setFixedWidth(185) sys_settings_btn.clicked.connect(lambda: self.sysSettings.show()) @@ -112,6 +108,9 @@ class MainWindow(BaseMainWindow): save_screen_btn = QtWidgets.QPushButton("Save state") save_screen_btn.setFixedWidth(185) save_screen_btn.clicked.connect(self._save_plots) + open_file_btn = QtWidgets.QPushButton("Open file") + open_file_btn.setFixedWidth(185) + open_file_btn.clicked.connect(self._open_file) button_layout = QtWidgets.QHBoxLayout() button_layout.setSpacing(2) @@ -119,6 +118,7 @@ class MainWindow(BaseMainWindow): button_layout.addWidget(oper_settings_btn) button_layout.addWidget(view_settings_btn) button_layout.addWidget(save_screen_btn) + button_layout.addWidget(open_file_btn) button_widget = QtWidgets.QWidget() button_widget.setLayout(button_layout) @@ -128,7 +128,6 @@ class MainWindow(BaseMainWindow): mainLayout.addWidget(button_widget) mainLayout.addWidget(title, alignment=Qt.AlignRight) self.resize(800,800) - self._controller.raport_mode(path) self._controller.raport_mode(None) #self._controller.raport_mode(path) @@ -171,6 +170,10 @@ class MainWindow(BaseMainWindow): def _close_tab(self, index:int) -> None: self.tabWidget.removeTab(index) + + def _open_file(self) -> None: + path = self._select_csv() + self._controller.raport_mode(path) def _select_csv(self) -> Optional[str]: CSV_path, _ = QtWidgets.QFileDialog.getOpenFileName(self,"Select csv file", "", "CSV Files (*.csv)") diff --git a/src/utils/base/__pycache__/base.cpython-310.pyc b/src/utils/base/__pycache__/base.cpython-310.pyc index ca1553e54dfbcdc071d9b2f00e6160893d0df633..9ed5de3083d9dc712a2e79149b70d1aa441cba32 100644 GIT binary patch delta 349 zcmW-bze_?<9L4Xs_vw2*e;{JCm@Xk$q~MDPbm<2{K?X%*n;S-Nf|!;(j_`}*xJV_R7<#;$x`B@n%_6m(9c` z5L5Ft7l!;fU5F0k`b^q~0VxbZY2c36o!awTmv8c MF?)moU)bFF2N=v?6951J delta 301 zcmbO>pRsp7BUe5zFBbz49Qv@4D~O#jWpgb1G&PAFph!AHEprJ&3S$Xl4Py;M7Ly1= zGvj1_JzaeutA;%VL~?*hPB6)p!aRp9Du~}OG2{YsONydvAzfE3Ztj73$@-bs2w(mgeihfO&w~^f}U?RrE&cF!d|7X~& zYqo%u@z3OQ)_IJ-C)?V{0?B)PvYRVxR pd.DataFrame: data = [] - for i in range (0, int(end_timestamp*self.mul)): + for i in range (0, int(end_timestamp*self.mul)+1): time = i/self.mul X1, X2, V1, V2, F = func(time) data.append({"time":time, "Position FE":X1*1000,"Position ME":X2*1000, "Rotor Speed FE":V1*1000, "Rotor Speed ME":V2*1000, "Force":F})