From be9991bdd87bb78c27061b1bb237a326bb3fc6d0 Mon Sep 17 00:00:00 2001 From: Theodor Chikin Date: Fri, 14 Nov 2025 01:20:06 +0300 Subject: [PATCH] implemented lost data ignoration. (control by IGNORE_LOST) --- main.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/main.py b/main.py index fa0e3d7..ec983a6 100755 --- a/main.py +++ b/main.py @@ -61,6 +61,9 @@ GAP_THRESHOLD_MULTIPLIER = 1.5 # Начальное время опроса файлов (в миллисекундах) DEFAULT_FILE_POLL_INTERVAL_MS = 80 # 100 мс +# Игнорировать пропущенные данные (не добавлять GAP-колонки) +IGNORE_LOST = True + # ================================================================================ # ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ @@ -322,6 +325,9 @@ class DataAnalyzerApp: os.makedirs(self.data_dir, exist_ok=True) os.chdir(self.data_dir) + # Настройка: игнорировать пропуски кадров + self.ignore_lost = IGNORE_LOST + # Инициализируем с существующими файлами existing_files = sorted([ f for f in os.listdir() @@ -1006,19 +1012,21 @@ class DataAnalyzerApp: timestamp = datetime.now().strftime("%H:%M:%S.%f")[:-3] print( - f"[{timestamp}] ⚠️ Gap detected: {time_diff_ms:.1f}ms (missing ~{missing_count} columns, threshold: {self.time_gap_threshold_ms:.0f}ms)") + f"[{timestamp}] ⚠️ Gap detected: {time_diff_ms:.1f}ms (missing ~{missing_count} columns, threshold: {self.time_gap_threshold_ms:.0f}ms)" + + (" — ignored" if self.ignore_lost else "")) # ✓ ИСПРАВЛЕНИЕ: Увеличиваем счётчик пропущенных кадров self.gap_frames_count += missing_count - last_size = len(self.B_scan_data[-1]) if self.B_scan_data else height - for i in range(missing_count): - zero_col = np.zeros(last_size) - self.B_scan_data.append(zero_col) - gap_time = self.last_file_time + timedelta(milliseconds=self.file_interval_ms * (i + 1)) - self.B_scan_times.append(gap_time) - # Отмечаем как GAP (пропущенный кадр) - self.B_scan_types.append("GAP") + if not self.ignore_lost: + last_size = len(self.B_scan_data[-1]) if self.B_scan_data else height + for i in range(missing_count): + zero_col = np.zeros(last_size) + self.B_scan_data.append(zero_col) + gap_time = self.last_file_time + timedelta(milliseconds=self.file_interval_ms * (i + 1)) + self.B_scan_times.append(gap_time) + # Отмечаем как GAP (пропущенный кадр) + self.B_scan_types.append("GAP") self.B_scan_data.append(data_col) self.B_scan_times.append(current_time)