From 0b7ea8c3c83ef727afb43e56e94281f528dec7d0 Mon Sep 17 00:00:00 2001 From: Jan Date: Mon, 30 Jun 2025 01:02:29 +0200 Subject: [PATCH] MainCode/adalm1000_logger.py aktualisiert Remove QQueue from the import line. Use collections.deque or queue.Queue instead. (C) --- MainCode/adalm1000_logger.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/MainCode/adalm1000_logger.py b/MainCode/adalm1000_logger.py index 72c1bfc..06e6694 100644 --- a/MainCode/adalm1000_logger.py +++ b/MainCode/adalm1000_logger.py @@ -13,9 +13,9 @@ from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QH QGridLayout, QLabel, QPushButton, QLineEdit, QFrame, QCheckBox, QMessageBox, QFileDialog, QProgressBar) from PyQt5.QtCore import (Qt, QTimer, pyqtSignal, pyqtSlot, QObject, QThread, - QMutex, QMutexLocker, QQueue) + QMutex, QMutexLocker) from PyQt5.QtGui import QColor, QPalette - +from collections import deque import pysmu import matplotlib matplotlib.use('Qt5Agg') @@ -54,8 +54,8 @@ class MeasurementThread(QThread): def run(self): """Main measurement loop with enhanced error handling.""" self._running = True - voltage_window = QQueue() - current_window = QQueue() + voltage_window = deque() + current_window = deque() self.status_signal.emit("Measurement started") @@ -76,11 +76,11 @@ class MeasurementThread(QThread): raw_current = np.mean([s[0][1] for s in samples]) if voltage_window.size() >= self.filter_window_size: - voltage_window.dequeue() - current_window.dequeue() + voltage_window.append + current_window.append - voltage_window.enqueue(raw_voltage) - current_window.enqueue(raw_current) + voltage_window.append(raw_voltage) + current_window.append(raw_current) voltage = np.mean(list(voltage_window)) current = np.mean(list(current_window)) @@ -297,10 +297,10 @@ class BatteryTester(QMainWindow): self.error_signal.connect(self.handle_device_error) # Initialize data buffers - self.time_data = QQueue() - self.voltage_data = QQueue() - self.current_data = QQueue() - self.phase_data = QQueue() + self.time_data = deque() + self.voltage_data = deque() + self.current_data = deque() + self.phase_data = deque() # Test variables self.test_phase = "Ready" @@ -879,13 +879,13 @@ class BatteryTester(QMainWindow): def update_measurements(self, voltage: float, current: float, current_time: float): """Update measurements in the UI.""" if self.time_data.size() > 10000: # Limit data points - self.time_data.dequeue() - self.voltage_data.dequeue() - self.current_data.dequeue() + self.time_data.append + self.voltage_data.append + self.current_data.append - self.time_data.enqueue(current_time) - self.voltage_data.enqueue(voltage) - self.current_data.enqueue(current) + self.time_data.append(current_time) + self.voltage_data.append(voltage) + self.current_data.append(current) # Update UI self.voltage_label.setText(f"{voltage:.4f}")