pull/604/head
Holger Müller 2023-02-19 09:06:23 +01:00
rodzic dc8874c1c9
commit 09246b6a34
15 zmienionych plików z 30 dodań i 30 usunięć

Wyświetl plik

@ -17,7 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
VERSION = "0.5.4"
VERSION = "0.5.5_pre"
VERSION_URL = (
"https://raw.githubusercontent.com/"
"NanoVNA-Saver/nanovna-saver/master/NanoVNASaver/About.py")

Wyświetl plik

@ -332,9 +332,10 @@ class FrequencyChart(Chart):
def getYPosition(self, d: Datapoint) -> int:
try:
return (
self.topMargin +
round((self.maxValue - self.value_function(d)) /
self.span * self.dim.height))
self.topMargin + round(
(self.maxValue - self.value_function(d)) /
self.span * self.dim.height)
)
except ValueError:
return self.topMargin

Wyświetl plik

@ -73,7 +73,6 @@ class RealImaginaryChart(FrequencyChart):
self.y_menu.addAction(self.y_action_automatic)
self.y_menu.addAction(self.y_action_fixed_span)
def copy(self):
new_chart: RealImaginaryChart = super().copy()

Wyświetl plik

@ -26,15 +26,15 @@ from PyQt5 import QtWidgets, QtGui
from NanoVNASaver.Formatting import format_frequency_chart
from NanoVNASaver.RFTools import Datapoint
from NanoVNASaver.Charts.Chart import Chart
from .RI import RealImaginaryChart
from NanoVNASaver.Charts.RI import RealImaginaryChart
logger = logging.getLogger(__name__)
MU = "\N{GREEK SMALL LETTER MU}"
class RealImaginaryMuChart(RealImaginaryChart):
def __init__(self, name=""):
super().__init__(name)
self.y_menu.addSeparator()
@ -58,14 +58,14 @@ class RealImaginaryMuChart(RealImaginaryChart):
f"Minimum {MU}'' ({self.minDisplayImag})")
self.action_set_fixed_minimum_imag.triggered.connect(
self.setMinimumImagValue)
self.y_menu.addAction(self.action_set_fixed_maximum_real)
self.y_menu.addAction(self.action_set_fixed_minimum_real)
self.y_menu.addSeparator()
self.y_menu.addAction(self.action_set_fixed_maximum_imag)
self.y_menu.addAction(self.action_set_fixed_minimum_imag)
# Manage core parameters
# Manage core parameters
# TODO pick some sane default values?
self.coreLength = 1.
self.coreArea = 1.
@ -111,7 +111,7 @@ class RealImaginaryMuChart(RealImaginaryChart):
self.topMargin - 5,
self.leftMargin,
self.topMargin + self.dim.height + 5)
qp.drawLine(self.leftMargin-5,
qp.drawLine(self.leftMargin - 5,
self.topMargin + self.dim.height,
self.leftMargin + self.dim.width + 5,
self.topMargin + self.dim.height)
@ -171,8 +171,11 @@ class RealImaginaryMuChart(RealImaginaryChart):
return self.mu_r(p)
def mu_r(self, p: Datapoint) -> complex:
inductance = p.impedance()/(2j*math.pi*p.freq)
inductance = p.impedance() / (2j * math.pi * p.freq)
# Core length and core area are in mm and mm2 respectively
# note: mu_r = mu' - j * mu ''
return np.conj(inductance * (self.coreLength/1e3) / (mu_0 * self.coreWindings**2 * (self.coreArea/1e6)))
return np.conj(
inductance * (self.coreLength / 1e3) /
(mu_0 * self.coreWindings**2 * (self.coreArea / 1e6))
)

Wyświetl plik

@ -28,6 +28,7 @@ from .RI import RealImaginaryChart
logger = logging.getLogger(__name__)
class RealImaginaryZChart(RealImaginaryChart):
def __init__(self, name=""):
super().__init__(name)
@ -52,7 +53,7 @@ class RealImaginaryZChart(RealImaginaryChart):
f"Minimum jX ({self.minDisplayImag})")
self.action_set_fixed_minimum_imag.triggered.connect(
self.setMinimumImagValue)
self.y_menu.addAction(self.action_set_fixed_maximum_real)
self.y_menu.addAction(self.action_set_fixed_minimum_real)
self.y_menu.addSeparator()
@ -70,7 +71,7 @@ class RealImaginaryZChart(RealImaginaryChart):
self.topMargin - 5,
self.leftMargin,
self.topMargin + self.dim.height + 5)
qp.drawLine(self.leftMargin-5,
qp.drawLine(self.leftMargin - 5,
self.topMargin + self.dim.height,
self.leftMargin + self.dim.width + 5,
self.topMargin + self.dim.height)

Wyświetl plik

@ -45,7 +45,7 @@ from .Charts import (
MagnitudeChart, MagnitudeZChart, MagnitudeZShuntChart,
MagnitudeZSeriesChart,
QualityFactorChart, VSWRChart, PermeabilityChart, PolarChart,
RealImaginaryChart,
RealImaginaryChart,
RealImaginaryMuChart,
RealImaginaryZChart, RealImaginaryZShuntChart, RealImaginaryZSeriesChart,
SmithChart, SParameterChart, TDRChart,

Wyświetl plik

@ -46,7 +46,7 @@ class AboutWindow(QtWidgets.QWidget):
widget.setLayout(top_layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize( scrollarea.size() )
self.resize(scrollarea.size())
QtWidgets.QShortcut(QtCore.Qt.Key_Escape, self, self.hide)

Wyświetl plik

@ -58,7 +58,7 @@ class AnalysisWindow(QtWidgets.QWidget):
widget.setLayout(layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize( scrollarea.size() )
self.resize(scrollarea.size())
select_analysis_box = QtWidgets.QGroupBox("Select analysis")
select_analysis_layout = QtWidgets.QFormLayout(select_analysis_box)

Wyświetl plik

@ -68,8 +68,7 @@ class CalibrationWindow(QtWidgets.QWidget):
widget.setLayout(top_layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize( scrollarea.size() )
self.resize(scrollarea.size())
calibration_status_group = QtWidgets.QGroupBox("Active calibration")
calibration_status_layout = QtWidgets.QFormLayout()

Wyświetl plik

@ -55,7 +55,7 @@ class DeviceSettingsWindow(QtWidgets.QWidget):
widget.setLayout(top_layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize( scrollarea.size() )
self.resize(scrollarea.size())
status_box = QtWidgets.QGroupBox("Status")
status_layout = QtWidgets.QFormLayout(status_box)

Wyświetl plik

@ -53,7 +53,7 @@ class DisplaySettingsWindow(QtWidgets.QWidget):
widget.setLayout(layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize( scrollarea.size() )
self.resize(scrollarea.size())
left_layout = QtWidgets.QVBoxLayout()
layout.addLayout(left_layout)

Wyświetl plik

@ -44,7 +44,7 @@ class FilesWindow(QtWidgets.QWidget):
widget.setLayout(file_window_layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize( scrollarea.size() )
self.resize(scrollarea.size())
load_file_control_box = QtWidgets.QGroupBox("Import file")
load_file_control_box.setMaximumWidth(300)

Wyświetl plik

@ -49,7 +49,7 @@ class SweepSettingsWindow(QtWidgets.QWidget):
widget.setLayout(layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize( scrollarea.size() )
self.resize(scrollarea.size())
layout.addWidget(self.title_box())
layout.addWidget(self.settings_box())

Wyświetl plik

@ -93,7 +93,7 @@ class TDRWindow(QtWidgets.QWidget):
widget.setLayout(layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize( scrollarea.size() )
self.resize(scrollarea.size())
self.tdr_velocity_dropdown = QtWidgets.QComboBox()
for cable_name, velocity in CABLE_PARAMETERS:

Wyświetl plik

@ -3,10 +3,9 @@ Installation Instructions
## Ubuntu 20.04 / 22.04
1. Install python3 and pip
1. Install python3.8 and pip
sudo apt install python3.8 python3-pip
sudo apt install python3 python3-pip
python3 -m venv ~/.venv_nano
. ~/.venv_nano/bin/activate
pip install -U pip
@ -29,7 +28,6 @@ Installation Instructions
. ~/.venv_nano/bin/activate
python3 nanovna-saver.py
## MacPorts
Via a MacPorts distribution maintained by @ra1nb0w.
@ -49,7 +47,6 @@ Via a MacPorts distribution maintained by @ra1nb0w.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2. Python :
brew install python