dev: настройки фильтра событий выведены в отдельное меню

This commit is contained in:
Andrew 2025-02-06 14:16:40 +03:00
parent ef58b7e2f5
commit 86c7c8d1e6
5 changed files with 44 additions and 13 deletions

View File

@ -1,9 +1,23 @@
{ {
"robot_zero_velocity_trashold" : [0.008], "robot_zero_velocity_trashold": [
"actuator_zero_velocity_trashold" : [10], 0.008
"actuator_finishing_velocity" : [2050], ],
"actuator_finishing_velocity_trashold" : [200], "actuator_zero_velocity_trashold": [
"actuator_current_trashold": [0.5], 10.0
"ROI_start": [0], ],
"ROI_finish": [100] "actuator_finishing_velocity": [
} 2050.0
],
"actuator_finishing_velocity_trashold": [
200.0
],
"actuator_current_trashold": [
0.5
],
"ROI_start": [
8.0
],
"ROI_finish": [
43.0
]
}

View File

@ -36,11 +36,11 @@ class FileManager(BaseFileManager):
update_time = settings.system['monitor_update_period'][0] update_time = settings.system['monitor_update_period'][0]
if not os.path.exists(directory_path): if not os.path.exists(directory_path):
logger.error(f"Путь {directory_path} не существует.") logger.warning(f"Путь {directory_path} не существует.")
#raise FileNotFoundError(f"Путь {directory_path} не существует.") #raise FileNotFoundError(f"Путь {directory_path} не существует.")
if update_time <= 0.01: if update_time <= 0.01:
logger.error(f"Путь {directory_path} не существует.") logger.warning(f"Интервал между проверками папки слишком мал: {update_time}")
if self._monitor.isActive: self._monitor.pause() if self._monitor.isActive: self._monitor.pause()
self._monitor._directory_path = directory_path self._monitor._directory_path = directory_path

View File

@ -65,7 +65,7 @@ class MainWindow(BaseMainWindow):
self.filterSettings = FilterSettings("params/filter_params.json", "Client filter", self._upd_settings) self.filterSettings = FilterSettings("params/filter_params.json", "Client filter", self._upd_settings)
def _init_menu(self) -> None: def _init_menu(self) -> None:
self.menu = CustomMenuBar(self.sysSettings, self.repSettings, self.operSettings) self.menu = CustomMenuBar(self.sysSettings, self.repSettings, self.operSettings, self.filterSettings)
self.menu.seeking_action.triggered.connect(self._init_seekingUI) self.menu.seeking_action.triggered.connect(self._init_seekingUI)
self.menu.raport_action.triggered.connect(self._init_raportUI) self.menu.raport_action.triggered.connect(self._init_raportUI)
self.menu.client_action.triggered.connect(self._init_client_UI) self.menu.client_action.triggered.connect(self._init_client_UI)

View File

@ -10,7 +10,7 @@ from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QSizePolicy as QSP from PyQt5.QtWidgets import QSizePolicy as QSP
from gui.settings_window import SystemSettings, OperatorSettings from gui.settings_window import SystemSettings, OperatorSettings, FilterSettings
from gui.report_gui import ReportSettings from gui.report_gui import ReportSettings
from base.base import PlotItems from base.base import PlotItems
@ -149,11 +149,13 @@ class CustomMenuBar(QMenuBar):
def __init__(self, def __init__(self,
operSettings:OperatorSettings, operSettings:OperatorSettings,
sysSettings:SystemSettings, sysSettings:SystemSettings,
repSettings:ReportSettings) -> None: repSettings:ReportSettings,
filterSettings:FilterSettings) -> None:
super().__init__() super().__init__()
self._operSettings = operSettings self._operSettings = operSettings
self._sysSettings = sysSettings self._sysSettings = sysSettings
self._repSettings = repSettings self._repSettings = repSettings
self._filterSettings = filterSettings
self._build_dock_widgets() self._build_dock_widgets()
self._build_menu() self._build_menu()
@ -164,6 +166,7 @@ class CustomMenuBar(QMenuBar):
parent.addDockWidget(Qt.RightDockWidgetArea, self._operator_dock) parent.addDockWidget(Qt.RightDockWidgetArea, self._operator_dock)
parent.addDockWidget(Qt.RightDockWidgetArea, self._system_dock) parent.addDockWidget(Qt.RightDockWidgetArea, self._system_dock)
parent.addDockWidget(Qt.RightDockWidgetArea, self._report_dock) parent.addDockWidget(Qt.RightDockWidgetArea, self._report_dock)
parent.addDockWidget(Qt.RightDockWidgetArea, self._filter_dock)
parent.setMenuBar(self) parent.setMenuBar(self)
def _build_dock_widgets(self) -> None: def _build_dock_widgets(self) -> None:
@ -188,10 +191,17 @@ class CustomMenuBar(QMenuBar):
self._report_dock.setObjectName("ReportSettings") self._report_dock.setObjectName("ReportSettings")
self._report_dock.hide() # Скрываем по умолчанию self._report_dock.hide() # Скрываем по умолчанию
# Создаем док-виджет для filterSettings
self._filter_dock = QDockWidget("Filter settings", self)
self._filter_dock.setWidget(self._filterSettings)
self._filter_dock.setObjectName("FilterSetting")
self._filter_dock.hide() # Скрываем по умолчанию
# Настройка док-виджетов # Настройка док-виджетов
self._set_dock_features(self._operator_dock) self._set_dock_features(self._operator_dock)
self._set_dock_features(self._system_dock) self._set_dock_features(self._system_dock)
self._set_dock_features(self._report_dock) self._set_dock_features(self._report_dock)
self._set_dock_features(self._filter_dock)
def _build_menu(self) -> None: def _build_menu(self) -> None:
""" """
@ -218,6 +228,10 @@ class CustomMenuBar(QMenuBar):
self.view_settings.setIcon(QIcon('resources/view_ico.png')) self.view_settings.setIcon(QIcon('resources/view_ico.png'))
self.view_settings.triggered.connect(lambda: self._toggle_visibility(self._report_dock)) self.view_settings.triggered.connect(lambda: self._toggle_visibility(self._report_dock))
self.filter_settings = QAction("Filter settings", self)
#self.filter_settings.setIcon(QIcon('resources/view_ico.png'))
self.filter_settings.triggered.connect(lambda: self._toggle_visibility(self._filter_dock))
# Добавляем действия в меню "Режимы" # Добавляем действия в меню "Режимы"
modes_menu.addAction(self.seeking_action) modes_menu.addAction(self.seeking_action)
modes_menu.addAction(self.raport_action) modes_menu.addAction(self.raport_action)
@ -226,6 +240,7 @@ class CustomMenuBar(QMenuBar):
settings_menu.addAction(system_settings) settings_menu.addAction(system_settings)
settings_menu.addAction(operator_settings) settings_menu.addAction(operator_settings)
settings_menu.addAction(self.view_settings) settings_menu.addAction(self.view_settings)
settings_menu.addAction(self.filter_settings)
def _toggle_visibility(self, body:QDockWidget = None) -> None: def _toggle_visibility(self, body:QDockWidget = None) -> None:
""" """

View File

@ -336,6 +336,8 @@ class TraceProcessor(BaseRawTraceProcessor):
else: else:
events["Squeeze"][0].append(trace_stages[i]['start_time']) events["Squeeze"][0].append(trace_stages[i]['start_time'])
events["Squeeze"][1].append(trace_stages[i]['end_time']) events["Squeeze"][1].append(trace_stages[i]['end_time'])
elif trace_stages[i]['stage'] == 'unknown':
pass
else: else:
events[trace_stages[i]['stage']][0].append(trace_stages[i]['start_time']) events[trace_stages[i]['stage']][0].append(trace_stages[i]['start_time'])
events[trace_stages[i]['stage']][1].append(trace_stages[i]['end_time']) events[trace_stages[i]['stage']][1].append(trace_stages[i]['end_time'])