Skip to content

Commit

Permalink
Merge pull request #36 from mihtjel/Development
Browse files Browse the repository at this point in the history
Development
  • Loading branch information
mihtjel authored Oct 11, 2019
2 parents 193cd15 + ffb3451 commit e2d79b7
Show file tree
Hide file tree
Showing 7 changed files with 973 additions and 246 deletions.
471 changes: 410 additions & 61 deletions NanoVNASaver/Analysis.py

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion NanoVNASaver/Calibration.py
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,11 @@ def reset(self):
self.notes_textedit.clear()

def calculate(self):
if self.app.btnStopSweep.isEnabled():
# Currently sweeping
self.app.showError("Unable to apply calibration while a sweep is running. " +
"Please stop the sweep and try again.")
return
# TODO: Error handling for all the fields.
if self.use_ideal_values.isChecked():
self.app.calibration.useIdealShort = True
Expand Down Expand Up @@ -475,7 +480,16 @@ def saveCalibration(self):
return
filedialog = QtWidgets.QFileDialog(self)
filedialog.setDefaultSuffix("cal")
filename, _ = filedialog.getSaveFileName(filter="Calibration Files (*.cal);;All files (*.*)")
filedialog.setNameFilter("Calibration Files (*.cal);;All files (*.*)")
filedialog.setAcceptMode(QtWidgets.QFileDialog.AcceptSave)
selected = filedialog.exec()
if selected:
filename = filedialog.selectedFiles()[0]
else:
return
if filename == "":
logger.debug("No file name selected.")
return
self.app.calibration.notes = self.notes_textedit.toPlainText().splitlines()
if filename and self.app.calibration.saveCalibration(filename):
self.app.settings.setValue("CalibrationFile", filename)
Expand Down
35 changes: 23 additions & 12 deletions NanoVNASaver/Chart.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ class Chart(QtWidgets.QWidget):
secondarySweepColor = QtCore.Qt.darkMagenta
referenceColor: QtGui.QColor = QtGui.QColor(QtCore.Qt.blue)
referenceColor.setAlpha(64)
secondaryReferenceColor: QtGui.QColor = QtGui.QColor(QtCore.Qt.blue)
secondaryReferenceColor.setAlpha(64)
backgroundColor: QtGui.QColor = QtGui.QColor(QtCore.Qt.white)
foregroundColor: QtGui.QColor = QtGui.QColor(QtCore.Qt.lightGray)
textColor: QtGui.QColor = QtGui.QColor(QtCore.Qt.black)
Expand Down Expand Up @@ -65,6 +67,10 @@ def setReferenceColor(self, color : QtGui.QColor):
self.referenceColor = color
self.update()

def setSecondaryReferenceColor(self, color : QtGui.QColor):
self.secondaryReferenceColor = color
self.update()

def setBackgroundColor(self, color: QtGui.QColor):
self.backgroundColor = color
pal = self.palette()
Expand Down Expand Up @@ -1614,9 +1620,9 @@ def drawValues(self, qp: QtGui.QPainter):
prev_y_im = self.getImYPosition(self.data[i-1])

# Real part first
line_pen.setColor(self.sweepColor)
qp.setPen(line_pen)
if self.isPlotable(x, y_re) and self.isPlotable(prev_x, prev_y_re):
line_pen.setColor(self.sweepColor)
qp.setPen(line_pen)
qp.drawLine(x, y_re, prev_x, prev_y_re)
elif self.isPlotable(x, y_re) and not self.isPlotable(prev_x, prev_y_re):
new_x, new_y = self.getPlotable(x, y_re, prev_x, prev_y_re)
Expand All @@ -1625,10 +1631,10 @@ def drawValues(self, qp: QtGui.QPainter):
new_x, new_y = self.getPlotable(prev_x, prev_y_re, x, y_re)
qp.drawLine(prev_x, prev_y_re, new_x, new_y)

# Imag part first
# Imag part second
line_pen.setColor(self.secondarySweepColor)
qp.setPen(line_pen)
if self.isPlotable(x, y_im) and self.isPlotable(prev_x, prev_y_im):
line_pen.setColor(self.secondarySweepColor)
qp.setPen(line_pen)
qp.drawLine(x, y_im, prev_x, prev_y_im)
elif self.isPlotable(x, y_im) and not self.isPlotable(prev_x, prev_y_im):
new_x, new_y = self.getPlotable(x, y_im, prev_x, prev_y_im)
Expand All @@ -1639,15 +1645,20 @@ def drawValues(self, qp: QtGui.QPainter):

primary_pen.setColor(self.referenceColor)
line_pen.setColor(self.referenceColor)
secondary_pen.setColor(self.referenceColor)
secondary_pen.setColor(self.secondaryReferenceColor)
qp.setPen(primary_pen)
if len(self.reference) > 0:
c = QtGui.QColor(self.referenceColor)
c.setAlpha(255)
pen = QtGui.QPen(c)
pen.setWidth(2)
qp.setPen(pen)
qp.drawLine(20, 14, 25, 14) # Alpha might be low, so we draw twice
qp.drawLine(20, 14, 25, 14)
c = QtGui.QColor(self.secondaryReferenceColor)
c.setAlpha(255)
pen = QtGui.QPen(c)
pen.setWidth(2)
qp.setPen(pen)
qp.drawLine(self.leftMargin + self.chartWidth, 14, self.leftMargin + self.chartWidth + 5, 14)

for i in range(len(self.reference)):
Expand All @@ -1667,10 +1678,10 @@ def drawValues(self, qp: QtGui.QPainter):
prev_y_re = self.getReYPosition(self.reference[i-1])
prev_y_im = self.getImYPosition(self.reference[i-1])

line_pen.setColor(self.secondaryReferenceColor)
qp.setPen(line_pen)
# Real part first
if self.isPlotable(x, y_re) and self.isPlotable(prev_x, prev_y_re):
line_pen.setColor(self.referenceColor)
qp.setPen(line_pen)
qp.drawLine(x, y_re, prev_x, prev_y_re)
elif self.isPlotable(x, y_re) and not self.isPlotable(prev_x, prev_y_re):
new_x, new_y = self.getPlotable(x, y_re, prev_x, prev_y_re)
Expand All @@ -1679,10 +1690,10 @@ def drawValues(self, qp: QtGui.QPainter):
new_x, new_y = self.getPlotable(prev_x, prev_y_re, x, y_re)
qp.drawLine(prev_x, prev_y_re, new_x, new_y)

# Imag part first
line_pen.setColor(self.secondaryReferenceColor)
qp.setPen(line_pen)
# Imag part second
if self.isPlotable(x, y_im) and self.isPlotable(prev_x, prev_y_im):
line_pen.setColor(self.secondarySweepColor)
qp.setPen(line_pen)
qp.drawLine(x, y_im, prev_x, prev_y_im)
elif self.isPlotable(x, y_im) and not self.isPlotable(prev_x, prev_y_im):
new_x, new_y = self.getPlotable(x, y_im, prev_x, prev_y_im)
Expand Down
Loading

0 comments on commit e2d79b7

Please sign in to comment.