MainCode/adalm1000_logger.py aktualisiert

Remove QQueue from the import line.

Use collections.deque or queue.Queue instead.
(C)
This commit is contained in:
Jan 2025-06-30 01:02:29 +02:00
parent c2780a0fc5
commit 0b7ea8c3c8

View File

@ -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}")