kopia lustrzana https://github.com/NanoVNA-Saver/nanovna-saver
Renamed count to segments for consistency
rodzic
202f1eaf10
commit
5f4fa53223
|
@ -88,8 +88,6 @@ class NanoVNASaver(QtWidgets.QWidget):
|
|||
|
||||
self.bands = BandsModel()
|
||||
|
||||
self.noSweeps = 1 # Number of sweeps to run
|
||||
|
||||
self.interface = Interface("serial", "None")
|
||||
self.vna = VNA(self.interface)
|
||||
|
||||
|
@ -559,9 +557,9 @@ class NanoVNASaver(QtWidgets.QWidget):
|
|||
else:
|
||||
self.sweep_control.set_end(
|
||||
frequencies[0] +
|
||||
self.vna.datapoints * self.sweep_control.get_count())
|
||||
self.vna.datapoints * self.sweep_control.get_segments())
|
||||
|
||||
self.sweep_control.set_count(1) # speed up things
|
||||
self.sweep_control.set_segments(1) # speed up things
|
||||
self.sweep_control.update_center_span()
|
||||
self.sweep_control.update_step_size()
|
||||
|
||||
|
@ -593,8 +591,7 @@ class NanoVNASaver(QtWidgets.QWidget):
|
|||
self.s21_max_gain_label.setText("")
|
||||
self.tdr_result_label.setText("")
|
||||
|
||||
if self.sweep_control.input_count.text().isdigit():
|
||||
self.settings.setValue("Segments", self.sweep_control.input_count.text())
|
||||
self.settings.setValue("Segments", self.sweep_control.get_segments())
|
||||
|
||||
logger.debug("Starting worker thread")
|
||||
self.threadpool.start(self.worker)
|
||||
|
|
|
@ -56,27 +56,27 @@ class WorkerSignals(QtCore.QObject):
|
|||
|
||||
class Sweep():
|
||||
def __init__(self, start: int = 3600000, end: int = 30000000,
|
||||
points: int = 101, sweeps: int = 1):
|
||||
points: int = 101, segements: int = 1):
|
||||
self.start = start
|
||||
self.end = end
|
||||
self.points = points
|
||||
self.sweeps = sweeps
|
||||
self.segments = segements
|
||||
self.span = self.end - self.start
|
||||
self.step = self.stepsize()
|
||||
self.check()
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return (
|
||||
f"Sweep({self.start}, {self.end}, {self.points} {self.sweeps})")
|
||||
f"Sweep({self.start}, {self.end}, {self.points} {self.segments})")
|
||||
|
||||
def __eq__(self, other) -> bool:
|
||||
return(self.start == other.start and
|
||||
self.end == other.end and
|
||||
self.points == other.points and
|
||||
self.sweeps == other.sweeps)
|
||||
self.segments == other.sweeps)
|
||||
|
||||
def check(self):
|
||||
if not(self.sweeps > 0 and
|
||||
if not(self.segments > 0 and
|
||||
self.points > 0 and
|
||||
self.start > 0 and
|
||||
self.end > 0 and
|
||||
|
@ -84,7 +84,7 @@ class Sweep():
|
|||
raise ValueError(f"Illegal sweep settings: {self}")
|
||||
|
||||
def stepsize(self) -> int:
|
||||
return int(self.span / (self.points * self.sweeps - 1))
|
||||
return int(self.span / (self.points * self.segments - 1))
|
||||
|
||||
def get_index_range(self, index: int) -> Tuple[int, int]:
|
||||
start = self.start + index * self.points * self.step
|
||||
|
@ -141,7 +141,7 @@ class SweepWorker(QtCore.QRunnable):
|
|||
self.app.sweep_control.get_start(),
|
||||
self.app.sweep_control.get_end(),
|
||||
self.app.vna.datapoints,
|
||||
self.app.sweep_control.get_count(),
|
||||
self.app.sweep_control.get_segments(),
|
||||
)
|
||||
except ValueError:
|
||||
self.gui_error(
|
||||
|
@ -160,7 +160,7 @@ class SweepWorker(QtCore.QRunnable):
|
|||
|
||||
finished = False
|
||||
while not finished:
|
||||
for i in range(self.sweep.sweeps):
|
||||
for i in range(self.sweep.segments):
|
||||
logger.debug("Sweep segment no %d", i)
|
||||
if self.stopped:
|
||||
logger.debug("Stopping sweeping as signalled")
|
||||
|
@ -171,7 +171,7 @@ class SweepWorker(QtCore.QRunnable):
|
|||
try:
|
||||
freq, values11, values21 = self.readAveragedSegment(
|
||||
start, stop, averages)
|
||||
self.percentage = (i + 1) * 100 / self.sweep.sweeps
|
||||
self.percentage = (i + 1) * 100 / self.sweep.segments
|
||||
self.updateData(freq, values11, values21, i)
|
||||
except ValueError as e:
|
||||
self.error_message = str(e)
|
||||
|
@ -182,7 +182,7 @@ class SweepWorker(QtCore.QRunnable):
|
|||
if not self.continuousSweep:
|
||||
finished = True
|
||||
|
||||
if self.sweep.sweeps > 1:
|
||||
if self.sweep.segments > 1:
|
||||
start = self.app.sweep_control.get_start()
|
||||
end = self.app.sweep_control.get_end()
|
||||
logger.debug("Resetting NanoVNA sweep to full range: %d to %d",
|
||||
|
@ -284,7 +284,7 @@ class SweepWorker(QtCore.QRunnable):
|
|||
freq, tmp11, tmp21 = self.readSegment(start, stop)
|
||||
values11.append(tmp11)
|
||||
values21.append(tmp21)
|
||||
self.percentage += 100 / (self.sweep.sweeps * averages)
|
||||
self.percentage += 100 / (self.sweep.segments * averages)
|
||||
self.signals.updated.emit()
|
||||
|
||||
if self.truncates and averages > 1:
|
||||
|
|
|
@ -77,16 +77,16 @@ class SweepControl(QtWidgets.QGroupBox):
|
|||
|
||||
input_right_layout.addRow(QtWidgets.QLabel("Span"), self.input_span)
|
||||
|
||||
self.input_count = QtWidgets.QLineEdit(self.app.settings.value("Segments", "1"))
|
||||
self.input_count.setAlignment(QtCore.Qt.AlignRight)
|
||||
self.input_count.setFixedWidth(60)
|
||||
self.input_count.textEdited.connect(self.update_step_size)
|
||||
self.input_segments = QtWidgets.QLineEdit(self.app.settings.value("Segments", "1"))
|
||||
self.input_segments.setAlignment(QtCore.Qt.AlignRight)
|
||||
self.input_segments.setFixedWidth(60)
|
||||
self.input_segments.textEdited.connect(self.update_step_size)
|
||||
|
||||
self.label_step = QtWidgets.QLabel("Hz/step")
|
||||
self.label_step.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
|
||||
|
||||
segment_layout = QtWidgets.QHBoxLayout()
|
||||
segment_layout.addWidget(self.input_count)
|
||||
segment_layout.addWidget(self.input_segments)
|
||||
segment_layout.addWidget(self.label_step)
|
||||
control_layout.addRow(QtWidgets.QLabel("Segments"), segment_layout)
|
||||
|
||||
|
@ -143,16 +143,16 @@ class SweepControl(QtWidgets.QGroupBox):
|
|||
self.input_center.textEdited.emit(self.input_center.text())
|
||||
self.updated.emit(self)
|
||||
|
||||
def get_count(self) -> int:
|
||||
def get_segments(self) -> int:
|
||||
try:
|
||||
result = int(self.input_count.text())
|
||||
result = int(self.input_segments.text())
|
||||
except ValueError:
|
||||
result = 1
|
||||
return result
|
||||
|
||||
def set_count(self, count: int):
|
||||
self.input_count.setText(str(count))
|
||||
self.input_count.textEdited.emit(self.input_count.text())
|
||||
def set_segments(self, count: int):
|
||||
self.input_segments.setText(str(count))
|
||||
self.input_segments.textEdited.emit(self.input_segments.text())
|
||||
self.updated.emit(self)
|
||||
|
||||
def get_span(self) -> int:
|
||||
|
@ -168,7 +168,7 @@ class SweepControl(QtWidgets.QGroupBox):
|
|||
self.input_end.setDisabled(disabled)
|
||||
self.input_span.setDisabled(disabled)
|
||||
self.input_center.setDisabled(disabled)
|
||||
self.input_count.setDisabled(disabled)
|
||||
self.input_segments.setDisabled(disabled)
|
||||
|
||||
def update_center_span(self):
|
||||
fstart = self.get_start()
|
||||
|
@ -196,7 +196,7 @@ class SweepControl(QtWidgets.QGroupBox):
|
|||
fspan = self.get_span()
|
||||
if fspan < 0:
|
||||
return
|
||||
segments = self.get_count()
|
||||
segments = self.get_segments()
|
||||
if segments > 0:
|
||||
fstep = fspan / (segments * self.app.vna.datapoints - 1)
|
||||
self.label_step.setText(
|
||||
|
|
Ładowanie…
Reference in New Issue