NanoVNASaver package¶
Subpackages¶
- NanoVNASaver.Analysis package
- Submodules
- NanoVNASaver.Analysis.AntennaAnalysis module
- NanoVNASaver.Analysis.BandPassAnalysis module
- NanoVNASaver.Analysis.BandStopAnalysis module
- NanoVNASaver.Analysis.Base module
- NanoVNASaver.Analysis.EFHWAnalysis module
- NanoVNASaver.Analysis.HighPassAnalysis module
- NanoVNASaver.Analysis.LowPassAnalysis module
- NanoVNASaver.Analysis.PeakSearchAnalysis module
- NanoVNASaver.Analysis.ResonanceAnalysis module
- NanoVNASaver.Analysis.SimplePeakSearchAnalysis module
- NanoVNASaver.Analysis.VSWRAnalysis module
- Module contents
- NanoVNASaver.Charts package
- Submodules
- NanoVNASaver.Charts.CLogMag module
- NanoVNASaver.Charts.Capacitance module
- NanoVNASaver.Charts.Chart module
Chart
Chart.addSWRMarker()
Chart.bands
Chart.clearSWRMarkers()
Chart.color
Chart.copy()
Chart.drawMarker()
Chart.drawTitle()
Chart.getActiveMarker()
Chart.getNearestMarker()
Chart.getPosition()
Chart.mousePressEvent()
Chart.mouseReleaseEvent()
Chart.popout_requested
Chart.removeSWRMarker()
Chart.resetReference()
Chart.saveScreenshot()
Chart.setBands()
Chart.setData()
Chart.setDrawLines()
Chart.setLineThickness()
Chart.setMarkerSize()
Chart.setMarkers()
Chart.setPointSize()
Chart.setReference()
Chart.setSweepTitle()
Chart.update()
Chart.wheelEvent()
Chart.zoomTo()
ChartColors
ChartDimensions
ChartDragBox
ChartFlags
ChartMarker
ChartPosition
- NanoVNASaver.Charts.Frequency module
FrequencyChart
FrequencyChart.contextMenuEvent()
FrequencyChart.copy()
FrequencyChart.drawBands()
FrequencyChart.drawChart()
FrequencyChart.drawData()
FrequencyChart.drawDragbog()
FrequencyChart.drawFrequencyTicks()
FrequencyChart.drawMarkers()
FrequencyChart.drawValues()
FrequencyChart.frequencyAtPosition()
FrequencyChart.getPlotable()
FrequencyChart.getXPosition()
FrequencyChart.getYPosition()
FrequencyChart.isPlotable()
FrequencyChart.keyPressEvent()
FrequencyChart.logarithmicYAllowed()
FrequencyChart.mouseMoveEvent()
FrequencyChart.paintEvent()
FrequencyChart.resetDisplayLimits()
FrequencyChart.resizeEvent()
FrequencyChart.setFixedSpan()
FrequencyChart.setFixedValues()
FrequencyChart.setLogarithmicX()
FrequencyChart.setLogarithmicY()
FrequencyChart.setMaximumFrequency()
FrequencyChart.setMaximumValue()
FrequencyChart.setMinimumFrequency()
FrequencyChart.setMinimumValue()
FrequencyChart.valueAtPosition()
FrequencyChart.zoomTo()
- NanoVNASaver.Charts.GroupDelay module
GroupDelayChart
GroupDelayChart.calc_data()
GroupDelayChart.calculateGroupDelay()
GroupDelayChart.copy()
GroupDelayChart.drawValues()
GroupDelayChart.draw_data()
GroupDelayChart.getYPosition()
GroupDelayChart.getYPositionFromDelay()
GroupDelayChart.setData()
GroupDelayChart.setReference()
GroupDelayChart.valueAtPosition()
- NanoVNASaver.Charts.Inductance module
- NanoVNASaver.Charts.LogMag module
- NanoVNASaver.Charts.Magnitude module
- NanoVNASaver.Charts.MagnitudeZ module
- NanoVNASaver.Charts.MagnitudeZSeries module
- NanoVNASaver.Charts.MagnitudeZShunt module
- NanoVNASaver.Charts.Permeability module
- NanoVNASaver.Charts.Phase module
- NanoVNASaver.Charts.Polar module
- NanoVNASaver.Charts.QFactor module
- NanoVNASaver.Charts.RI module
RealImaginaryChart
RealImaginaryChart.contextMenuEvent()
RealImaginaryChart.copy()
RealImaginaryChart.drawHorizontalTicks()
RealImaginaryChart.drawValues()
RealImaginaryChart.find_scaling()
RealImaginaryChart.getImYPosition()
RealImaginaryChart.getNearestMarker()
RealImaginaryChart.getReYPosition()
RealImaginaryChart.imag_scaling_constraints()
RealImaginaryChart.setFixedValues()
RealImaginaryChart.setMaximumImagValue()
RealImaginaryChart.setMaximumRealValue()
RealImaginaryChart.setMinimumImagValue()
RealImaginaryChart.setMinimumRealValue()
RealImaginaryChart.value()
RealImaginaryChart.valueAtPosition()
RealImaginaryChart.zoomTo()
- NanoVNASaver.Charts.RIMu module
- NanoVNASaver.Charts.RIZ module
- NanoVNASaver.Charts.RIZSeries module
- NanoVNASaver.Charts.RIZShunt module
- NanoVNASaver.Charts.SParam module
- NanoVNASaver.Charts.Smith module
- NanoVNASaver.Charts.Square module
- NanoVNASaver.Charts.TDR module
TDRChart
TDRChart.contextMenuEvent()
TDRChart.copy()
TDRChart.decimals
TDRChart.fixed_span
TDRChart.fixed_values
TDRChart.format_string
TDRChart.isPlotable()
TDRChart.lengthAtPosition()
TDRChart.marker_location
TDRChart.max_display_length
TDRChart.max_y_lim
TDRChart.min_display_length
TDRChart.min_y_lim
TDRChart.mouseMoveEvent()
TDRChart.paintEvent()
TDRChart.resetDisplayLimits()
TDRChart.resizeEvent()
TDRChart.setFixedSpan()
TDRChart.setFixedValues()
TDRChart.setMaximumLength()
TDRChart.setMaximumY()
TDRChart.setMinimumLength()
TDRChart.setMinimumY()
TDRChart.valueAtPosition()
TDRChart.zoomTo()
- NanoVNASaver.Charts.VSWR module
- Module contents
CapacitanceChart
Chart
Chart.addSWRMarker()
Chart.bands
Chart.clearSWRMarkers()
Chart.color
Chart.copy()
Chart.data
Chart.drawMarker()
Chart.drawTitle()
Chart.getActiveMarker()
Chart.getNearestMarker()
Chart.getPosition()
Chart.markers
Chart.mousePressEvent()
Chart.mouseReleaseEvent()
Chart.name
Chart.popout_requested
Chart.reference
Chart.removeSWRMarker()
Chart.resetReference()
Chart.saveScreenshot()
Chart.setBands()
Chart.setData()
Chart.setDrawLines()
Chart.setLineThickness()
Chart.setMarkerSize()
Chart.setMarkers()
Chart.setPointSize()
Chart.setReference()
Chart.setSweepTitle()
Chart.sweepTitle
Chart.swrMarkers
Chart.update()
Chart.wheelEvent()
Chart.zoomTo()
CombinedLogMagChart
FrequencyChart
FrequencyChart.contextMenuEvent()
FrequencyChart.copy()
FrequencyChart.drawBands()
FrequencyChart.drawChart()
FrequencyChart.drawData()
FrequencyChart.drawDragbog()
FrequencyChart.drawFrequencyTicks()
FrequencyChart.drawMarkers()
FrequencyChart.drawValues()
FrequencyChart.frequencyAtPosition()
FrequencyChart.getPlotable()
FrequencyChart.getXPosition()
FrequencyChart.getYPosition()
FrequencyChart.isPlotable()
FrequencyChart.keyPressEvent()
FrequencyChart.logarithmicYAllowed()
FrequencyChart.mouseMoveEvent()
FrequencyChart.paintEvent()
FrequencyChart.resetDisplayLimits()
FrequencyChart.resizeEvent()
FrequencyChart.setFixedSpan()
FrequencyChart.setFixedValues()
FrequencyChart.setLogarithmicX()
FrequencyChart.setLogarithmicY()
FrequencyChart.setMaximumFrequency()
FrequencyChart.setMaximumValue()
FrequencyChart.setMinimumFrequency()
FrequencyChart.setMinimumValue()
FrequencyChart.valueAtPosition()
FrequencyChart.zoomTo()
GroupDelayChart
GroupDelayChart.calc_data()
GroupDelayChart.calculateGroupDelay()
GroupDelayChart.copy()
GroupDelayChart.drawValues()
GroupDelayChart.draw_data()
GroupDelayChart.getYPosition()
GroupDelayChart.getYPositionFromDelay()
GroupDelayChart.setData()
GroupDelayChart.setReference()
GroupDelayChart.valueAtPosition()
InductanceChart
LogMagChart
MagnitudeChart
MagnitudeZChart
MagnitudeZSeriesChart
MagnitudeZShuntChart
PermeabilityChart
PhaseChart
PolarChart
QualityFactorChart
RealImaginaryChart
RealImaginaryChart.contextMenuEvent()
RealImaginaryChart.copy()
RealImaginaryChart.drawHorizontalTicks()
RealImaginaryChart.drawValues()
RealImaginaryChart.find_scaling()
RealImaginaryChart.getImYPosition()
RealImaginaryChart.getNearestMarker()
RealImaginaryChart.getReYPosition()
RealImaginaryChart.imag_scaling_constraints()
RealImaginaryChart.setFixedValues()
RealImaginaryChart.setMaximumImagValue()
RealImaginaryChart.setMaximumRealValue()
RealImaginaryChart.setMinimumImagValue()
RealImaginaryChart.setMinimumRealValue()
RealImaginaryChart.value()
RealImaginaryChart.valueAtPosition()
RealImaginaryChart.zoomTo()
RealImaginaryMuChart
RealImaginaryZChart
RealImaginaryZSeriesChart
RealImaginaryZShuntChart
SParameterChart
SmithChart
SquareChart
TDRChart
TDRChart.contextMenuEvent()
TDRChart.copy()
TDRChart.data
TDRChart.decimals
TDRChart.fixed_span
TDRChart.fixed_values
TDRChart.format_string
TDRChart.isPlotable()
TDRChart.lengthAtPosition()
TDRChart.marker_location
TDRChart.markers
TDRChart.max_display_length
TDRChart.max_y_lim
TDRChart.min_display_length
TDRChart.min_y_lim
TDRChart.mouseMoveEvent()
TDRChart.name
TDRChart.paintEvent()
TDRChart.reference
TDRChart.resetDisplayLimits()
TDRChart.resizeEvent()
TDRChart.setFixedSpan()
TDRChart.setFixedValues()
TDRChart.setMaximumLength()
TDRChart.setMaximumY()
TDRChart.setMinimumLength()
TDRChart.setMinimumY()
TDRChart.sweepTitle
TDRChart.swrMarkers
TDRChart.valueAtPosition()
TDRChart.zoomTo()
VSWRChart
- NanoVNASaver.Controls package
- Submodules
- NanoVNASaver.Controls.Control module
- NanoVNASaver.Controls.MarkerControl module
- NanoVNASaver.Controls.SerialControl module
- NanoVNASaver.Controls.SweepControl module
SweepControl
SweepControl.get_center()
SweepControl.get_end()
SweepControl.get_segments()
SweepControl.get_span()
SweepControl.get_start()
SweepControl.set_center()
SweepControl.set_end()
SweepControl.set_segments()
SweepControl.set_span()
SweepControl.set_start()
SweepControl.toggle_settings()
SweepControl.update_center_span()
SweepControl.update_start_end()
SweepControl.update_step_size()
SweepControl.update_sweep()
- Module contents
- NanoVNASaver.Hardware package
- Submodules
- NanoVNASaver.Hardware.AVNA module
- NanoVNASaver.Hardware.Hardware module
- NanoVNASaver.Hardware.JNCRadio_VNA_3G module
- NanoVNASaver.Hardware.NanoVNA module
- NanoVNASaver.Hardware.NanoVNA_F module
- NanoVNASaver.Hardware.NanoVNA_F_V2 module
- NanoVNASaver.Hardware.NanoVNA_H module
- NanoVNASaver.Hardware.NanoVNA_H4 module
- NanoVNASaver.Hardware.NanoVNA_V2 module
NanoVNA_V2
NanoVNA_V2.getCalibration()
NanoVNA_V2.name
NanoVNA_V2.readFirmware()
NanoVNA_V2.readValues()
NanoVNA_V2.readVersion()
NanoVNA_V2.read_board_revision()
NanoVNA_V2.read_features()
NanoVNA_V2.read_frequencies()
NanoVNA_V2.resetSweep()
NanoVNA_V2.screenheight
NanoVNA_V2.screenwidth
NanoVNA_V2.setSweep()
NanoVNA_V2.setTXPower()
NanoVNA_V2.valid_datapoints
- NanoVNASaver.Hardware.SV4401A module
- NanoVNASaver.Hardware.SV6301A module
- NanoVNASaver.Hardware.Serial module
- NanoVNASaver.Hardware.TinySA module
- NanoVNASaver.Hardware.VNA module
VNA
VNA.SN
VNA.connect()
VNA.connected()
VNA.disconnect()
VNA.exec_command()
VNA.flushSerialBuffers()
VNA.getCalibration()
VNA.getFeatures()
VNA.getScreenshot()
VNA.getSerialNumber()
VNA.get_bandwidths()
VNA.name
VNA.readFirmware()
VNA.readValues()
VNA.readVersion()
VNA.read_features()
VNA.read_frequencies()
VNA.reconnect()
VNA.resetSweep()
VNA.setSweep()
VNA.setTXPower()
VNA.set_bandwidth()
VNA.sweep_points_max
VNA.sweep_points_min
VNA.valid_datapoints
VNA.wait
- Module contents
- NanoVNASaver.Marker package
- Submodules
- NanoVNASaver.Marker.Delta module
- NanoVNASaver.Marker.Values module
- NanoVNASaver.Marker.Widget module
Marker
Marker.active_labels
Marker.buildForm()
Marker.coloredText
Marker.count()
Marker.findLocation()
Marker.getRow()
Marker.get_data_layout()
Marker.location
Marker.resetLabels()
Marker.returnloss_is_positive
Marker.setColor()
Marker.setColoredText()
Marker.setFieldSelection()
Marker.setFrequency()
Marker.setScale()
Marker.updateLabels()
Marker.update_settings()
Marker.updated
MarkerLabel
- Module contents
- NanoVNASaver.Settings package
- NanoVNASaver.Windows package
- Submodules
- NanoVNASaver.Windows.About module
- NanoVNASaver.Windows.AnalysisWindow module
- NanoVNASaver.Windows.Bands module
- NanoVNASaver.Windows.CalibrationSettings module
CalibrationWindow
CalibrationWindow.automaticCalibration()
CalibrationWindow.automaticCalibrationStep()
CalibrationWindow.calStandardChanged()
CalibrationWindow.cal_save()
CalibrationWindow.calculate()
CalibrationWindow.checkExpertUser()
CalibrationWindow.deleteCalibrationStandard()
CalibrationWindow.listCalibrationStandards()
CalibrationWindow.loadCalibration()
CalibrationWindow.loadCalibrationStandard()
CalibrationWindow.manual_save()
CalibrationWindow.next_step
CalibrationWindow.reset()
CalibrationWindow.saveCalibration()
CalibrationWindow.saveCalibrationStandard()
CalibrationWindow.select_file_load()
CalibrationWindow.select_file_open()
CalibrationWindow.select_file_short()
CalibrationWindow.setOffsetDelay()
getFloatValue()
- NanoVNASaver.Windows.Defaults module
- NanoVNASaver.Windows.DeviceSettings module
DeviceSettingsWindow
DeviceSettingsWindow.captureScreenshot()
DeviceSettingsWindow.customPoint_check()
DeviceSettingsWindow.custom_points_checkbox
DeviceSettingsWindow.custom_points_edit
DeviceSettingsWindow.show()
DeviceSettingsWindow.updateBandwidth()
DeviceSettingsWindow.updateFields()
DeviceSettingsWindow.updateNrDatapoints()
DeviceSettingsWindow.updateValidation()
DeviceSettingsWindow.updatecustomPoint()
- NanoVNASaver.Windows.DisplaySettings module
DisplaySettingsWindow
DisplaySettingsWindow.addMarker()
DisplaySettingsWindow.addVSWRMarker()
DisplaySettingsWindow.changeChart()
DisplaySettingsWindow.changeDarkMode()
DisplaySettingsWindow.changeFilledMarkers()
DisplaySettingsWindow.changeFont()
DisplaySettingsWindow.changeLineThickness()
DisplaySettingsWindow.changeMarkerAtTip()
DisplaySettingsWindow.changeMarkerSize()
DisplaySettingsWindow.changePointSize()
DisplaySettingsWindow.changeReturnLoss()
DisplaySettingsWindow.changeSetting()
DisplaySettingsWindow.changeShowLines()
DisplaySettingsWindow.changeShowMarkerNumber()
DisplaySettingsWindow.color_picker()
DisplaySettingsWindow.custom_colors()
DisplaySettingsWindow.displayBandsWindow()
DisplaySettingsWindow.displayMarkerWindow()
DisplaySettingsWindow.removeMarker()
DisplaySettingsWindow.removeVSWRMarker()
DisplaySettingsWindow.setColor()
DisplaySettingsWindow.setShowBands()
DisplaySettingsWindow.trace_colors()
DisplaySettingsWindow.updateCharts()
- NanoVNASaver.Windows.Files module
- NanoVNASaver.Windows.MarkerSettings module
MarkerSettingsWindow
MarkerSettingsWindow.EXAMPLE_DATA11
MarkerSettingsWindow.EXAMPLE_DATA21
MarkerSettingsWindow.applyButtonClick()
MarkerSettingsWindow.cancelButtonClick()
MarkerSettingsWindow.defaultButtonClick()
MarkerSettingsWindow.okButtonClick()
MarkerSettingsWindow.updateField()
MarkerSettingsWindow.updateMarker()
MarkerSettingsWindow.update_displayed_data_form()
- NanoVNASaver.Windows.Screenshot module
- NanoVNASaver.Windows.SweepSettings module
SweepSettingsWindow
SweepSettingsWindow.settings_box()
SweepSettingsWindow.sweep_box()
SweepSettingsWindow.title_box()
SweepSettingsWindow.update_attenuator()
SweepSettingsWindow.update_averaging()
SweepSettingsWindow.update_band()
SweepSettingsWindow.update_logarithmic()
SweepSettingsWindow.update_mode()
SweepSettingsWindow.update_padding()
SweepSettingsWindow.update_title()
SweepSettingsWindow.update_tx_power()
SweepSettingsWindow.vna_connected()
- NanoVNASaver.Windows.TDR module
- Module contents
AboutWindow
AnalysisWindow
BandsWindow
CalibrationWindow
CalibrationWindow.automaticCalibration()
CalibrationWindow.automaticCalibrationStep()
CalibrationWindow.calStandardChanged()
CalibrationWindow.cal_save()
CalibrationWindow.calculate()
CalibrationWindow.checkExpertUser()
CalibrationWindow.deleteCalibrationStandard()
CalibrationWindow.listCalibrationStandards()
CalibrationWindow.loadCalibration()
CalibrationWindow.loadCalibrationStandard()
CalibrationWindow.manual_save()
CalibrationWindow.next_step
CalibrationWindow.reset()
CalibrationWindow.saveCalibration()
CalibrationWindow.saveCalibrationStandard()
CalibrationWindow.select_file_load()
CalibrationWindow.select_file_open()
CalibrationWindow.select_file_short()
CalibrationWindow.setOffsetDelay()
DeviceSettingsWindow
DeviceSettingsWindow.captureScreenshot()
DeviceSettingsWindow.customPoint_check()
DeviceSettingsWindow.custom_points_checkbox
DeviceSettingsWindow.custom_points_edit
DeviceSettingsWindow.show()
DeviceSettingsWindow.updateBandwidth()
DeviceSettingsWindow.updateFields()
DeviceSettingsWindow.updateNrDatapoints()
DeviceSettingsWindow.updateValidation()
DeviceSettingsWindow.updatecustomPoint()
DisplaySettingsWindow
DisplaySettingsWindow.addMarker()
DisplaySettingsWindow.addVSWRMarker()
DisplaySettingsWindow.changeChart()
DisplaySettingsWindow.changeDarkMode()
DisplaySettingsWindow.changeFilledMarkers()
DisplaySettingsWindow.changeFont()
DisplaySettingsWindow.changeLineThickness()
DisplaySettingsWindow.changeMarkerAtTip()
DisplaySettingsWindow.changeMarkerSize()
DisplaySettingsWindow.changePointSize()
DisplaySettingsWindow.changeReturnLoss()
DisplaySettingsWindow.changeSetting()
DisplaySettingsWindow.changeShowLines()
DisplaySettingsWindow.changeShowMarkerNumber()
DisplaySettingsWindow.color_picker()
DisplaySettingsWindow.custom_colors()
DisplaySettingsWindow.displayBandsWindow()
DisplaySettingsWindow.displayMarkerWindow()
DisplaySettingsWindow.removeMarker()
DisplaySettingsWindow.removeVSWRMarker()
DisplaySettingsWindow.setColor()
DisplaySettingsWindow.setShowBands()
DisplaySettingsWindow.trace_colors()
DisplaySettingsWindow.updateCharts()
FilesWindow
MarkerSettingsWindow
MarkerSettingsWindow.EXAMPLE_DATA11
MarkerSettingsWindow.EXAMPLE_DATA21
MarkerSettingsWindow.applyButtonClick()
MarkerSettingsWindow.cancelButtonClick()
MarkerSettingsWindow.defaultButtonClick()
MarkerSettingsWindow.okButtonClick()
MarkerSettingsWindow.updateField()
MarkerSettingsWindow.updateMarker()
MarkerSettingsWindow.update_displayed_data_form()
ScreenshotWindow
SweepSettingsWindow
SweepSettingsWindow.settings_box()
SweepSettingsWindow.sweep_box()
SweepSettingsWindow.title_box()
SweepSettingsWindow.update_attenuator()
SweepSettingsWindow.update_averaging()
SweepSettingsWindow.update_band()
SweepSettingsWindow.update_logarithmic()
SweepSettingsWindow.update_mode()
SweepSettingsWindow.update_padding()
SweepSettingsWindow.update_title()
SweepSettingsWindow.update_tx_power()
SweepSettingsWindow.vna_connected()
TDRWindow
Submodules¶
NanoVNASaver.About module¶
NanoVNASaver.AnalyticTools module¶
- NanoVNASaver.AnalyticTools.calculate_rolloff(s21: list[Datapoint], idx_1: int, idx_2: int) tuple[float, float] [source]¶
- NanoVNASaver.AnalyticTools.center_from_idx(gains: list[float], idx: int, delta: float = 3.0) int [source]¶
find maximum from index postion of gains in a attn dB gain span
- Parameters:
gains (list[float]) – gain values
idx (int) – start position to search from
delta (float, optional) – max gain delta from start. Defaults to 3.0.
- Returns:
position of highest gain from start in range (-1 if no data)
- Return type:
int
- NanoVNASaver.AnalyticTools.cut_off_left(gains: list[float], idx: int, peak_gain: float, attn: float = 3.0) int [source]¶
find first position in list where gain in attn lower then peak left from index
- Parameters:
gains (list[float]) – gain values
idx (int) – start position to search from
peak_gain (float) – reference gain value
attn (float, optional) – attenuation to search position for. Defaults to 3.0.
- Returns:
position of attenuation point. (-1 if no data)
- Return type:
int
- NanoVNASaver.AnalyticTools.cut_off_right(gains: list[float], idx: int, peak_gain: float, attn: float = 3.0) int [source]¶
find first position in list where gain in attn lower then peak right from index
- Parameters:
gains (list[float]) – gain values
idx (int) – start position to search from
peak_gain (float) – reference gain value
attn (float, optional) – attenuation to search position for. Defaults to 3.0.
- Returns:
position of attenuation point. (-1 if no data)
- Return type:
int
- NanoVNASaver.AnalyticTools.dip_cut_offs(gains: list[float], peak_gain: float, attn: float = 3.0) tuple[int, int] [source]¶
- NanoVNASaver.AnalyticTools.maxima(data: list[float], threshold: float = 0.0) list[int] [source]¶
- Parameters:
data (list[float]) – data list to execute
- Returns:
indices of maxima
- Return type:
list[int]
- NanoVNASaver.AnalyticTools.minima(data: list[float], threshold: float = 0.0) list[int] [source]¶
- Parameters:
data (list[float]) – data list to execute
- Returns:
indices of minima
- Return type:
list[int]
- NanoVNASaver.AnalyticTools.take_from_idx(data: list[float], idx: int, predicate: Callable) list[int] [source]¶
take_from_center
- Parameters:
data (list[float]) – data list to execute
idx (int) – index of a start position
predicate (Callable) – predicate on which elements to take from center. (e.g. lambda i: i[1] < threshold)
- Returns:
- indices of element matching predicate left
and right from index
- Return type:
list[int]
NanoVNASaver.Calibration module¶
- class NanoVNASaver.Calibration.CalData(short: complex = 0j, open: complex = 0j, load: complex = 0j, through: complex = 0j, thrurefl: complex = 0j, isolation: complex = 0j, freq: int = 0, e00: float = 0.0, e11: float = 0.0, delta_e: float = 0.0, e10e01: float = 0.0, e30: float = 0.0, e22: float = 0.0, e10e32: float = 0.0)[source]¶
Bases:
object
- delta_e: float = 0.0¶
- e00: float = 0.0¶
- e10e01: float = 0.0¶
- e10e32: float = 0.0¶
- e11: float = 0.0¶
- e22: float = 0.0¶
- e30: float = 0.0¶
- freq: int = 0¶
- isolation: complex = 0j¶
- load: complex = 0j¶
- open: complex = 0j¶
- short: complex = 0j¶
- through: complex = 0j¶
- thrurefl: complex = 0j¶
- class NanoVNASaver.Calibration.CalDataSet[source]¶
Bases:
UserDict
- from_str(text: str) CalDataSet [source]¶
- class NanoVNASaver.Calibration.CalElement(short_state: str = '', short_touchstone: NanoVNASaver.Touchstone.Touchstone = None, short_is_ideal: bool = True, short_l0: float = 5.7e-12, short_l1: float = -8.96e-20, short_l2: float = -1.1e-29, short_l3: float = -4.12e-37, short_length: float = -34.2, open_state: str = '', open_touchstone: NanoVNASaver.Touchstone.Touchstone = None, open_is_ideal: bool = True, open_c0: float = 2.1e-14, open_c1: float = 5.67e-23, open_c2: float = -2.39e-31, open_c3: float = 2e-40, open_length: float = 0.0, load_state: str = '', load_touchstone: NanoVNASaver.Touchstone.Touchstone = None, load_is_ideal: bool = True, load_r: float = 50.0, load_l: float = 0.0, load_c: float = 0.0, load_length: float = 0.0, through_is_ideal: bool = True, through_length: float = 0.0)[source]¶
Bases:
object
- load_c: float = 0.0¶
- load_is_ideal: bool = True¶
- load_l: float = 0.0¶
- load_length: float = 0.0¶
- load_r: float = 50.0¶
- load_state: str = ''¶
- load_touchstone: Touchstone = None¶
- open_c0: float = 2.1e-14¶
- open_c1: float = 5.67e-23¶
- open_c2: float = -2.39e-31¶
- open_c3: float = 2e-40¶
- open_is_ideal: bool = True¶
- open_length: float = 0.0¶
- open_state: str = ''¶
- open_touchstone: Touchstone = None¶
- short_is_ideal: bool = True¶
- short_l0: float = 5.7e-12¶
- short_l1: float = -8.96e-20¶
- short_l2: float = -1.1e-29¶
- short_l3: float = -4.12e-37¶
- short_length: float = -34.2¶
- short_state: str = ''¶
- short_touchstone: Touchstone = None¶
- through_is_ideal: bool = True¶
- through_length: float = 0.0¶
NanoVNASaver.Defaults module¶
- class NanoVNASaver.Defaults.CFG(gui: object = <factory>, charts_selected: object = <factory>, chart: object = <factory>, chart_colors: object = <factory>, markers: object = <factory>)[source]¶
Bases:
object
- chart: object¶
- chart_colors: object¶
- charts_selected: object¶
- gui: object¶
- markers: object¶
- class NanoVNASaver.Defaults.Chart(point_size: int = 2, show_lines: bool = False, line_thickness: int = 1, marker_count: int = 3, marker_label: bool = False, marker_filled: bool = False, marker_at_tip: bool = False, marker_size: int = 8, returnloss_is_positive: bool = False, show_bands: bool = False, vswr_lines: list = <factory>)[source]¶
Bases:
object
- line_thickness: int = 1¶
- marker_at_tip: bool = False¶
- marker_count: int = 3¶
- marker_filled: bool = False¶
- marker_label: bool = False¶
- marker_size: int = 8¶
- point_size: int = 2¶
- returnloss_is_positive: bool = False¶
- show_bands: bool = False¶
- show_lines: bool = False¶
- vswr_lines: list¶
- class NanoVNASaver.Defaults.ChartColors(background: PyQt6.QtGui.QColor = <factory>, foreground: PyQt6.QtGui.QColor = <factory>, reference: PyQt6.QtGui.QColor = <factory>, reference_secondary: PyQt6.QtGui.QColor = <factory>, sweep: PyQt6.QtGui.QColor = <factory>, sweep_secondary: PyQt6.QtGui.QColor = <factory>, swr: PyQt6.QtGui.QColor = <factory>, text: PyQt6.QtGui.QColor = <factory>, bands: PyQt6.QtGui.QColor = <factory>)[source]¶
Bases:
object
- background: QColor¶
- bands: QColor¶
- foreground: QColor¶
- reference: QColor¶
- reference_secondary: QColor¶
- sweep: QColor¶
- sweep_secondary: QColor¶
- swr: QColor¶
- text: QColor¶
- class NanoVNASaver.Defaults.ChartsSelected(chart_00: str = 'S11 Smith Chart', chart_01: str = 'S11 Return Loss', chart_02: str = 'None', chart_10: str = 'S21 Polar Plot', chart_11: str = 'S21 Gain', chart_12: str = 'None')[source]¶
Bases:
object
- chart_00: str = 'S11 Smith Chart'¶
- chart_01: str = 'S11 Return Loss'¶
- chart_02: str = 'None'¶
- chart_10: str = 'S21 Polar Plot'¶
- chart_11: str = 'S21 Gain'¶
- chart_12: str = 'None'¶
- class NanoVNASaver.Defaults.GUI(window_height: int = 950, window_width: int = 1433, font_size: int = 8, custom_colors: bool = False, dark_mode: bool = False, splitter_sizes: PyQt6.QtCore.QByteArray = <factory>, markers_hidden: bool = False)[source]¶
Bases:
object
- custom_colors: bool = False¶
- dark_mode: bool = False¶
- font_size: int = 8¶
- splitter_sizes: QByteArray¶
- window_height: int = 950¶
- window_width: int = 1433¶
- class NanoVNASaver.Defaults.Markers(active_labels: list = <factory>, colored_names: bool = True, color_0: PyQt6.QtGui.QColor = <factory>, color_1: PyQt6.QtGui.QColor = <factory>, color_2: PyQt6.QtGui.QColor = <factory>, color_3: PyQt6.QtGui.QColor = <factory>, color_4: PyQt6.QtGui.QColor = <factory>, color_5: PyQt6.QtGui.QColor = <factory>, color_6: PyQt6.QtGui.QColor = <factory>, color_7: PyQt6.QtGui.QColor = <factory>)[source]¶
Bases:
object
- active_labels: list¶
- color_0: QColor¶
- color_1: QColor¶
- color_2: QColor¶
- color_3: QColor¶
- color_4: QColor¶
- color_5: QColor¶
- color_6: QColor¶
- color_7: QColor¶
- colored_names: bool = True¶
- NanoVNASaver.Defaults.restore(settings: AppSettings) CFG [source]¶
- NanoVNASaver.Defaults.store(settings: AppSettings, data: CFG = None) None [source]¶
NanoVNASaver.Formatting module¶
NanoVNASaver.Inputs module¶
- class NanoVNASaver.Inputs.MarkerFrequencyInputWidget(text='')[source]¶
Bases:
FrequencyInputWidget
NanoVNASaver.NanoVNASaver module¶
- class NanoVNASaver.NanoVNASaver.Communicate[source]¶
Bases:
QObject
- data_available¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
NanoVNASaver.RFTools module¶
- class NanoVNASaver.RFTools.Datapoint(freq, re, im)[source]¶
Bases:
NamedTuple
- freq: int¶
Alias for field number 0
- property gain: float¶
- im: float¶
Alias for field number 2
- property phase: float¶
return the datapoint’s phase value
- re: float¶
Alias for field number 1
- property vswr: float¶
- property wavelength: float¶
- property z: complex¶
return the s value complex number
- NanoVNASaver.RFTools.corr_att_data(data: list[Datapoint], att: float) list[Datapoint] [source]¶
Correct the ratio for a given attenuation on s21 input
- NanoVNASaver.RFTools.gamma_to_impedance(gamma: complex, ref_impedance: float = 50) complex [source]¶
Calculate impedance from gamma
- NanoVNASaver.RFTools.impedance_to_capacitance(z: complex, freq: float) float [source]¶
Calculate capacitive equivalent for reactance
- NanoVNASaver.RFTools.impedance_to_inductance(z: complex, freq: float) float [source]¶
Calculate inductive equivalent for reactance
- NanoVNASaver.RFTools.impedance_to_norm(z: complex, ref_impedance: float = 50) complex [source]¶
Calculate normalized z from impedance
- NanoVNASaver.RFTools.norm_to_impedance(z: complex, ref_impedance: float = 50) complex [source]¶
Calculate impedance from normalized z
- NanoVNASaver.RFTools.parallel_to_serial(z: complex) complex [source]¶
Convert parallel impedance to serial impedance equivalent
NanoVNASaver.SITools module¶
- class NanoVNASaver.SITools.Format(max_nr_digits, fix_decimals, space_str, assume_infinity, min_offset, max_offset, allow_strip, allways_signed, printable_min, printable_max, unprintable_under, unprintable_over, parse_sloppy_unit, parse_sloppy_kilo, parse_clamp_min, parse_clamp_max)[source]¶
Bases:
NamedTuple
- allow_strip: bool¶
Alias for field number 6
- allways_signed: bool¶
Alias for field number 7
- assume_infinity: bool¶
Alias for field number 3
- fix_decimals: bool¶
Alias for field number 1
- max_nr_digits: int¶
Alias for field number 0
- max_offset: int¶
Alias for field number 5
- min_offset: int¶
Alias for field number 4
- parse_clamp_max: float¶
Alias for field number 15
- parse_clamp_min: float¶
Alias for field number 14
- parse_sloppy_kilo: bool¶
Alias for field number 13
- parse_sloppy_unit: bool¶
Alias for field number 12
- printable_max: float¶
Alias for field number 9
- printable_min: float¶
Alias for field number 8
- space_str: str¶
Alias for field number 2
- unprintable_over: str¶
Alias for field number 11
- unprintable_under: str¶
Alias for field number 10
- class NanoVNASaver.SITools.Value(value: Real = Decimal('0'), unit: str = '', fmt=(6, False, '', True, -10, 10, False, False, -inf, inf, '', '', False, False, -inf, inf))[source]¶
Bases:
object
- CTX = Context(prec=60, rounding=ROUND_HALF_EVEN, Emin=-33, Emax=33, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])¶
- property unit: str¶
- property value¶
NanoVNASaver.SweepWorker module¶
- class NanoVNASaver.SweepWorker.SweepState(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Bases:
Enum
- RUNNING = 1¶
- STOPPED = 0¶
- class NanoVNASaver.SweepWorker.SweepWorker(app: NanoVNA)[source]¶
Bases:
QRunnable
- applyCalibration(raw_data11: list[Datapoint], raw_data21: list[Datapoint]) tuple[list[Datapoint], list[Datapoint]] [source]¶
- class NanoVNASaver.SweepWorker.WorkerSignals[source]¶
Bases:
QObject
- finished¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- sweep_error¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- updated¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
NanoVNASaver.Touchstone module¶
- class NanoVNASaver.Touchstone.Options(unit: str = 'GHZ', parameter: str = 'S', t_format: str = 'ma', resistance: int = 50)[source]¶
Bases:
object
- UNIT_TO_FACTOR = {'ghz': 1000000000, 'hz': 1, 'khz': 1000, 'mhz': 1000000}¶
- VALID_FORMATS = ('ma', 'db', 'ri')¶
- VALID_PARAMETERS = 'syzgh'¶
- VALID_UNITS = dict_keys(['ghz', 'mhz', 'khz', 'hz'])¶
- property factor: int¶
- class NanoVNASaver.Touchstone.Touchstone(filename: str = '')[source]¶
Bases:
object
- FIELD_ORDER = ('11', '21', '12', '22')¶
- loads(s: str)[source]¶
Parse touchstone 1.1 string input appends to existing sdata if Touchstone object exists
- property r: int¶
- save(nr_params: int = 1)[source]¶
Save touchstone data to file.
- Parameters:
nr_params – Number of s-parameters. 2 for s1p, 4 for s2p