implemented lost data ignoration. (control by IGNORE_LOST)

This commit is contained in:
2025-11-14 01:20:06 +03:00
parent dd526c735a
commit be9991bdd8

26
main.py
View File

@ -61,6 +61,9 @@ GAP_THRESHOLD_MULTIPLIER = 1.5
# Начальное время опроса файлов (в миллисекундах) # Начальное время опроса файлов (в миллисекундах)
DEFAULT_FILE_POLL_INTERVAL_MS = 80 # 100 мс 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.makedirs(self.data_dir, exist_ok=True)
os.chdir(self.data_dir) os.chdir(self.data_dir)
# Настройка: игнорировать пропуски кадров
self.ignore_lost = IGNORE_LOST
# Инициализируем с существующими файлами # Инициализируем с существующими файлами
existing_files = sorted([ existing_files = sorted([
f for f in os.listdir() f for f in os.listdir()
@ -1006,19 +1012,21 @@ class DataAnalyzerApp:
timestamp = datetime.now().strftime("%H:%M:%S.%f")[:-3] timestamp = datetime.now().strftime("%H:%M:%S.%f")[:-3]
print( 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 self.gap_frames_count += missing_count
last_size = len(self.B_scan_data[-1]) if self.B_scan_data else height if not self.ignore_lost:
for i in range(missing_count): last_size = len(self.B_scan_data[-1]) if self.B_scan_data else height
zero_col = np.zeros(last_size) for i in range(missing_count):
self.B_scan_data.append(zero_col) zero_col = np.zeros(last_size)
gap_time = self.last_file_time + timedelta(milliseconds=self.file_interval_ms * (i + 1)) self.B_scan_data.append(zero_col)
self.B_scan_times.append(gap_time) gap_time = self.last_file_time + timedelta(milliseconds=self.file_interval_ms * (i + 1))
# Отмечаем как GAP (пропущенный кадр) self.B_scan_times.append(gap_time)
self.B_scan_types.append("GAP") # Отмечаем как GAP (пропущенный кадр)
self.B_scan_types.append("GAP")
self.B_scan_data.append(data_col) self.B_scan_data.append(data_col)
self.B_scan_times.append(current_time) self.B_scan_times.append(current_time)