kopia lustrzana https://github.com/NanoVNA-Saver/nanovna-saver
Added Wavelength to marker fields
rodzic
684a01beb4
commit
e6d3ea0c12
|
@ -36,6 +36,7 @@ FMT_REACT = SITools.Format(max_nr_digits=5, space_str=" ", allow_strip=True)
|
||||||
FMT_COMPLEX = SITools.Format(max_nr_digits=3, allow_strip=True,
|
FMT_COMPLEX = SITools.Format(max_nr_digits=3, allow_strip=True,
|
||||||
printable_min=0, unprintable_under="- ")
|
printable_min=0, unprintable_under="- ")
|
||||||
FMT_COMPLEX_NEG = SITools.Format(max_nr_digits=3, allow_strip=True)
|
FMT_COMPLEX_NEG = SITools.Format(max_nr_digits=3, allow_strip=True)
|
||||||
|
FMT_WAVELENGTH = SITools.Format(max_nr_digits=4, space_str=" ")
|
||||||
FMT_PARSE = SITools.Format(parse_sloppy_unit=True, parse_sloppy_kilo=True,
|
FMT_PARSE = SITools.Format(parse_sloppy_unit=True, parse_sloppy_kilo=True,
|
||||||
parse_clamp_min=0)
|
parse_clamp_min=0)
|
||||||
|
|
||||||
|
@ -114,6 +115,9 @@ def format_complex_imp(z: complex, allow_negative: bool = False) -> str:
|
||||||
im = SITools.Value(abs(z.imag), fmt=FMT_COMPLEX)
|
im = SITools.Value(abs(z.imag), fmt=FMT_COMPLEX)
|
||||||
return f"{re}{'-' if z.imag < 0 else '+'}j{im} \N{OHM SIGN}"
|
return f"{re}{'-' if z.imag < 0 else '+'}j{im} \N{OHM SIGN}"
|
||||||
|
|
||||||
|
def format_wavelength(length: Number) -> str:
|
||||||
|
return str(SITools.Value(length, "m", FMT_WAVELENGTH))
|
||||||
|
|
||||||
|
|
||||||
def parse_frequency(freq: str) -> int:
|
def parse_frequency(freq: str) -> int:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -31,6 +31,7 @@ from NanoVNASaver.Formatting import (
|
||||||
format_q_factor,
|
format_q_factor,
|
||||||
format_resistance,
|
format_resistance,
|
||||||
format_vswr,
|
format_vswr,
|
||||||
|
format_wavelength,
|
||||||
)
|
)
|
||||||
|
|
||||||
from .Widget import Marker
|
from .Widget import Marker
|
||||||
|
@ -87,6 +88,8 @@ class DeltaMarker(Marker):
|
||||||
|
|
||||||
self.label['actualfreq'].setText(
|
self.label['actualfreq'].setText(
|
||||||
format_frequency_space(s11_b.freq - s11_a.freq))
|
format_frequency_space(s11_b.freq - s11_a.freq))
|
||||||
|
self.label['lambda'].setText(
|
||||||
|
format_wavelength(s11_b.wavelength - s11_a.wavelength))
|
||||||
self.label['admittance'].setText(format_complex_imp(imp_p, True))
|
self.label['admittance'].setText(format_complex_imp(imp_p, True))
|
||||||
self.label['impedance'].setText(format_complex_imp(imp, True))
|
self.label['impedance'].setText(format_complex_imp(imp, True))
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ class Label(NamedTuple):
|
||||||
|
|
||||||
TYPES = (
|
TYPES = (
|
||||||
Label("actualfreq", "Frequency", "Actual frequency", True),
|
Label("actualfreq", "Frequency", "Actual frequency", True),
|
||||||
|
Label("lambda", "Wavelength", "Wavelength", False),
|
||||||
Label("impedance", "Impedance", "Impedance", True),
|
Label("impedance", "Impedance", "Impedance", True),
|
||||||
Label("admittance", "Admittance", "Admittance", False),
|
Label("admittance", "Admittance", "Admittance", False),
|
||||||
Label("serr", "Series R", "Series R", False),
|
Label("serr", "Series R", "Series R", False),
|
||||||
|
|
|
@ -35,6 +35,7 @@ from NanoVNASaver.Formatting import (
|
||||||
format_q_factor,
|
format_q_factor,
|
||||||
format_resistance,
|
format_resistance,
|
||||||
format_vswr,
|
format_vswr,
|
||||||
|
format_wavelength,
|
||||||
parse_frequency,
|
parse_frequency,
|
||||||
)
|
)
|
||||||
from NanoVNASaver.Inputs import MarkerFrequencyInputWidget as FrequencyInput
|
from NanoVNASaver.Inputs import MarkerFrequencyInputWidget as FrequencyInput
|
||||||
|
@ -317,6 +318,7 @@ class Marker(QtCore.QObject, Value):
|
||||||
x_p_str = ind_p_str
|
x_p_str = ind_p_str
|
||||||
|
|
||||||
self.label['actualfreq'].setText(format_frequency_space(s11.freq))
|
self.label['actualfreq'].setText(format_frequency_space(s11.freq))
|
||||||
|
self.label['lambda'].setText(format_wavelength(s11.wavelength))
|
||||||
self.label['admittance'].setText(format_complex_imp(imp_p))
|
self.label['admittance'].setText(format_complex_imp(imp_p))
|
||||||
self.label['impedance'].setText(format_complex_imp(imp))
|
self.label['impedance'].setText(format_complex_imp(imp))
|
||||||
self.label['parc'].setText(cap_p_str)
|
self.label['parc'].setText(cap_p_str)
|
||||||
|
|
|
@ -55,6 +55,10 @@ class Datapoint(NamedTuple):
|
||||||
return 1
|
return 1
|
||||||
return (1 + mag) / (1 - mag)
|
return (1 + mag) / (1 - mag)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def wavelength(self) -> float:
|
||||||
|
return 299792458 / self.freq
|
||||||
|
|
||||||
def impedance(self, ref_impedance: float = 50) -> complex:
|
def impedance(self, ref_impedance: float = 50) -> complex:
|
||||||
return gamma_to_impedance(self.z, ref_impedance)
|
return gamma_to_impedance(self.z, ref_impedance)
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue