kopia lustrzana https://github.com/NanoVNA-Saver/nanovna-saver
Set sweep modes via sweep class
rodzic
ec643ebefc
commit
fd6aad74cf
|
@ -26,7 +26,7 @@ from PyQt5.QtCore import pyqtSlot, pyqtSignal
|
|||
|
||||
from NanoVNASaver.Calibration import correct_delay
|
||||
from NanoVNASaver.RFTools import Datapoint
|
||||
from NanoVNASaver.Settings import Sweep
|
||||
from NanoVNASaver.Settings.Sweep import Sweep, SweepMode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -71,8 +71,6 @@ class SweepWorker(QtCore.QRunnable):
|
|||
self.init_data()
|
||||
self.stopped = False
|
||||
self.running = False
|
||||
self.continuousSweep = False
|
||||
self.averaging = False
|
||||
self.error_message = ""
|
||||
self.offsetDelay = 0
|
||||
|
||||
|
@ -111,9 +109,9 @@ class SweepWorker(QtCore.QRunnable):
|
|||
return
|
||||
|
||||
averages = 1
|
||||
if self.averaging:
|
||||
logger.info("%d averages", self.averages)
|
||||
if sweep.properties.mode == SweepMode.AVERAGE:
|
||||
averages = sweep.properties.averages[0]
|
||||
logger.info("%d averages", averages)
|
||||
|
||||
if sweep != self.sweep: # parameters changed
|
||||
self.sweep = sweep
|
||||
|
@ -140,7 +138,7 @@ class SweepWorker(QtCore.QRunnable):
|
|||
self.running = False
|
||||
self.signals.sweepError.emit()
|
||||
|
||||
if not self.continuousSweep:
|
||||
if not sweep.properties.mode == SweepMode.CONTINOUS:
|
||||
finished = True
|
||||
|
||||
if self.sweep.segments > 1:
|
||||
|
@ -319,8 +317,6 @@ class SweepWorker(QtCore.QRunnable):
|
|||
f"device settings screen.")
|
||||
return returndata
|
||||
|
||||
def setContinuousSweep(self, continuous_sweep: bool):
|
||||
self.continuousSweep = continuous_sweep
|
||||
|
||||
def gui_error(self, message: str):
|
||||
self.error_message = message
|
||||
|
|
|
@ -66,6 +66,8 @@ class SweepSettingsWindow(QtWidgets.QWidget):
|
|||
|
||||
settings_layout.addWidget(self.single_sweep_radiobutton)
|
||||
self.single_sweep_radiobutton.setChecked(True)
|
||||
self.single_sweep_radiobutton.clicked.connect(
|
||||
lambda: self.update_mode(SweepMode.SINGLE))
|
||||
settings_layout.addWidget(self.continuous_sweep_radiobutton)
|
||||
settings_layout.addWidget(self.averaged_sweep_radiobutton)
|
||||
|
||||
|
@ -93,12 +95,12 @@ class SweepSettingsWindow(QtWidgets.QWidget):
|
|||
# settings_layout.addRow(QtWidgets.QLabel(
|
||||
# "Common values with un-un are 16.9 (49:1 2450) 9.54 (9:1 450)"))
|
||||
|
||||
self.continuous_sweep_radiobutton.toggled.connect(
|
||||
lambda: self.app.worker.setContinuousSweep(
|
||||
self.continuous_sweep_radiobutton.isChecked()))
|
||||
self.averaged_sweep_radiobutton.toggled.connect(self.updateAveraging)
|
||||
self.averages.editingFinished.connect(self.updateAveraging)
|
||||
self.truncates.editingFinished.connect(self.updateAveraging)
|
||||
self.continuous_sweep_radiobutton.clicked.connect(
|
||||
lambda: self.update_mode(SweepMode.CONTINOUS))
|
||||
self.averaged_sweep_radiobutton.clicked.connect(
|
||||
lambda: self.update_mode(SweepMode.AVERAGE))
|
||||
self.averages.editingFinished.connect(self.update_averaging)
|
||||
self.truncates.editingFinished.connect(self.update_averaging)
|
||||
self.s21att.editingFinished.connect(self.setS21Attenuator)
|
||||
layout.addWidget(settings_box)
|
||||
|
||||
|
@ -204,7 +206,7 @@ class SweepSettingsWindow(QtWidgets.QWidget):
|
|||
self.app.sweep_control.input_end.textEdited.emit(
|
||||
self.app.sweep_control.input_end.text())
|
||||
|
||||
def updateAveraging(self):
|
||||
def update_averaging(self):
|
||||
try:
|
||||
amount = int(self.averages.text())
|
||||
truncates = int(self.truncates.text())
|
||||
|
@ -217,10 +219,12 @@ class SweepSettingsWindow(QtWidgets.QWidget):
|
|||
self.averages.setText("3")
|
||||
self.truncates.setText("0")
|
||||
with self.app.sweep.lock:
|
||||
if self.averaged_sweep_radiobutton.isChecked():
|
||||
self.app.sweep.properties.mode = SweepMode.AVERAGE
|
||||
self.app.sweep.properties.averages = (amount, truncates)
|
||||
|
||||
def update_mode(self, mode: 'SweepMode'):
|
||||
with self.app.sweep.lock:
|
||||
self.app.sweep.properties.mode = mode
|
||||
|
||||
def update_title(self, title: str = ""):
|
||||
self.app.sweep.properties.name = title
|
||||
self.app.update_sweep_title()
|
||||
|
|
Ładowanie…
Reference in New Issue