kopia lustrzana https://github.com/NanoVNA-Saver/nanovna-saver
RC07 - linting README.md and CHANGELOG.md
rodzic
ba49f3ae31
commit
05b71ee8e8
25
CHANGELOG.md
25
CHANGELOG.md
|
@ -1,5 +1,8 @@
|
|||
Changelog
|
||||
=========
|
||||
|
||||
v0.3.7
|
||||
======
|
||||
------
|
||||
|
||||
- Added a delta marker
|
||||
- Segments can now have exponential different step widths
|
||||
|
@ -10,18 +13,18 @@ v0.3.7
|
|||
- Markers initialize on start, middle, end
|
||||
- Frequency input is now more "lazy"
|
||||
10m, 50K and 1g are now valid for 10MHz, 50kHz and 1GHz
|
||||
- Added a wavelength field to Markers
|
||||
- Added a wavelength field to Markers
|
||||
- 32 bit windows binaries build in actions
|
||||
- Stability improvements due to better exception handling
|
||||
- Workaround for wrong first S21mag value on V2 devices
|
||||
|
||||
v0.3.6
|
||||
======
|
||||
------
|
||||
|
||||
- Implemented bandwidth setting in device management
|
||||
|
||||
v0.3.5
|
||||
======
|
||||
------
|
||||
|
||||
- Sweep worker now initializes full dataset on setting changes.
|
||||
Therefore no resize of charts when doing multi segment sweep
|
||||
|
@ -34,9 +37,8 @@ v0.3.5
|
|||
Will be usefull in future analysis code
|
||||
- Fixed a bug in Version comparison
|
||||
|
||||
|
||||
v0.3.4
|
||||
======
|
||||
------
|
||||
|
||||
- Refactored Analysis
|
||||
- Add Antenna Analysis
|
||||
|
@ -47,27 +49,27 @@ v0.3.4
|
|||
pkg\_resources missing
|
||||
|
||||
v0.3.3
|
||||
======
|
||||
------
|
||||
|
||||
- Fixed data acquisition with S-A-A-2 / NanoVNA V2
|
||||
- Refactored calibration code
|
||||
- Calibration data between known datapoints in now
|
||||
interpolated by spline interpolation
|
||||
- Fixed through calibration
|
||||
- Fixed through calibration
|
||||
|
||||
v0.3.2
|
||||
======
|
||||
------
|
||||
|
||||
- fixed crash with averaging sweeps
|
||||
also averaging now discards reading by geometrical distance
|
||||
|
||||
v0.3.1
|
||||
======
|
||||
------
|
||||
|
||||
- fixed crash with calibration assistant
|
||||
|
||||
v0.3.0
|
||||
======
|
||||
------
|
||||
|
||||
- Support for S-A-A-2 / NanoVNA V2
|
||||
- Support for 202 Datapoints/scan with NanoVNA-H
|
||||
|
@ -79,4 +81,3 @@ Known Issues
|
|||
------------
|
||||
|
||||
- -H / -H4 supports depends on Firmware
|
||||
|
||||
|
|
|
@ -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.3.7-rc06"
|
||||
VERSION = "0.3.7-rc07"
|
||||
VERSION_URL = (
|
||||
"https://raw.githubusercontent.com/"
|
||||
"NanoVNA-Saver/nanovna-saver/master/NanoVNASaver/About.py")
|
||||
|
|
|
@ -539,7 +539,7 @@ class NanoVNASaver(QtWidgets.QWidget):
|
|||
# connected
|
||||
self.btnSerialToggle.setText("Disconnect")
|
||||
self.btnSerialToggle.repaint()
|
||||
|
||||
|
||||
frequencies = self.vna.readFrequencies()
|
||||
if not frequencies:
|
||||
logger.warning("No frequencies read")
|
||||
|
@ -567,7 +567,7 @@ class NanoVNASaver(QtWidgets.QWidget):
|
|||
self.interface.close()
|
||||
self.btnSerialToggle.setText("Connect to device")
|
||||
self.btnSerialToggle.repaint()
|
||||
|
||||
|
||||
def sweep_start(self):
|
||||
# Run the device data update
|
||||
if not self.vna.connected():
|
||||
|
|
174
README.md
174
README.md
|
@ -7,16 +7,17 @@
|
|||
NanoVNASaver
|
||||
============
|
||||
|
||||
A multiplatform tool to save Touchstone files from the NanoVNA,
|
||||
A multiplatform tool to save Touchstone files from the NanoVNA,
|
||||
sweep frequency spans in segments to gain more than 101 data
|
||||
points, and generally display and analyze the resulting data.
|
||||
|
||||
- Copyright 2019, 2020 Rune B. Broberg
|
||||
- Copyright 2020 NanoVNA-Saver Authors
|
||||
- Copyright 2019, 2020 Rune B. Broberg
|
||||
- Copyright 2020 NanoVNA-Saver Authors
|
||||
|
||||
# Latest Changes
|
||||
Latest Changes
|
||||
--------------
|
||||
|
||||
## Changes in v0.3.7-rc
|
||||
### Changes in v0.3.7
|
||||
|
||||
- Added a delta marker
|
||||
- Segments can now have exponential different step widths
|
||||
|
@ -25,55 +26,25 @@ points, and generally display and analyze the resulting data.
|
|||
(shorter are useful on logarithmic sweeping)
|
||||
- Scrollable marker column
|
||||
- Markers initialize on start, middle, end
|
||||
- Added a wavelength field to Markers
|
||||
- Frequency input is now more "lazy"
|
||||
10m, 50K and 1g are now valid for 10MHz, 50kHz and 1GHz
|
||||
- Added a wavelength field to Markers
|
||||
- 32 bit windows binaries build in actions
|
||||
- Stability improvements due to better exception handling
|
||||
- Workaround for wrong first S21mag value on V2 devices
|
||||
|
||||
## Changes in v0.3.6
|
||||
### Changes in v0.3.6
|
||||
|
||||
- Added bandwidth setting in device manage dialog
|
||||
|
||||
## Changes in v0.3.5
|
||||
Introduction
|
||||
------------
|
||||
|
||||
- Sweep worker now initializes full dataset on setting changes.
|
||||
Therefore no resize of charts when doing multi segment sweep
|
||||
- Changing datapoints in DeviceSettings are reflected in SweepSettings widget step size
|
||||
- Simplified calibration code by just using scipy.interp1d with fill\_value
|
||||
- Established Interface class to ease locking and allow non usb connections in future
|
||||
- Cleaned up VNA code. Added some pause statements to get more robust readings
|
||||
- Added MagLoopAnalysis
|
||||
- Touchstone class can now generate interpolated Datapoints for a given frequency
|
||||
Will be usefull in future analysis code
|
||||
- Fixed a bug in Version comparison
|
||||
|
||||
## Changes in v0.3.4
|
||||
- Refactored Analysis
|
||||
- Add Antenna Analysis
|
||||
- Fixed bug in Through Calibration
|
||||
- Fixed bug in s2p saving
|
||||
- Fixed crash when clicking connect with no device connected
|
||||
- Fixed module error with source installation if
|
||||
pkg\_resources missing
|
||||
|
||||
## Changes in v0.3.3
|
||||
- Fixed data acquisition with S-A-A-2 / NanoVNA V2
|
||||
- Refactored calibration code
|
||||
- Calibration data between known datapoints is now
|
||||
interpolated using spline interpolation
|
||||
- Fixed Through Calibration (CH0 -> CH1)
|
||||
|
||||
## Changes in v0.3.2
|
||||
- This adds support for the SAA2, a VNA loosely based on the
|
||||
original NanoVNA with frequency range up to 3GHz.
|
||||
- Added ability to add use an attenuator and add the Antenuation
|
||||
in s11 sweep settings for amplifier measurements.
|
||||
|
||||
|
||||
# Introduction
|
||||
This software connects to a NanoVNA and extracts the data for
|
||||
display on a computer and allows saving the sweep data to Touchstone files.
|
||||
|
||||
Current features:
|
||||
|
||||
- Reading data from a NanoVNA -- Compatible devices: NanoVNA, NanoVNA-H,
|
||||
NanoVNA-H4, NanoVNA-F, AVNA via Teensy
|
||||
- Splitting a frequency range into multiple segments to increase resolution
|
||||
|
@ -99,74 +70,74 @@ Current features:
|
|||
0.1.4:
|
||||
![Screenshot of version 0.1.4](https://i.imgur.com/ZoFsV2V.png)
|
||||
|
||||
## Running the application
|
||||
Running the application
|
||||
-----------------------
|
||||
|
||||
The software was written in Python on Windows, using Pycharm, and the modules
|
||||
PyQT5, numpy, scipy and pyserial.
|
||||
|
||||
#### Binary releases
|
||||
You can find 64bit binary releases for Windows, Linux and MacOS under
|
||||
https://github.com/NanoVNA-Saver/nanovna-saver/releases/
|
||||
### Binary releases
|
||||
|
||||
You can find 64bit binary releases for Windows, Linux and MacOS under
|
||||
<https://github.com/NanoVNA-Saver/nanovna-saver/releases/>
|
||||
|
||||
### Windows
|
||||
Versions older than Windows 7 are not known to work.
|
||||
|
||||
#### Windows 7
|
||||
It requires Service Pack 1 and [Microsoft VC++ Redistributable]
|
||||
(https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads).
|
||||
|
||||
It requires Service Pack 1 and [Microsoft VC++ Redistributable](
|
||||
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads).
|
||||
For most users, this would already be installed.
|
||||
|
||||
#### Windows 10
|
||||
The downloadable executable runs directly, and requires no installation.
|
||||
|
||||
##### Installation and Use with pip
|
||||
The downloadable executable runs directly, and requires no installation.
|
||||
|
||||
### Installation and Use with pip
|
||||
|
||||
1. Clone repo and cd into the directory
|
||||
|
||||
git clone https://github.com/NanoVNA-Saver/nanovna-saver
|
||||
cd nanovna-saver
|
||||
git clone https://github.com/NanoVNA-Saver/nanovna-saver
|
||||
cd nanovna-saver
|
||||
|
||||
2. Run the pip installation
|
||||
|
||||
pip3 install .
|
||||
pip3 install .
|
||||
|
||||
3. Once completed run with the following command
|
||||
|
||||
NanoVNASaver
|
||||
NanoVNASaver
|
||||
|
||||
### Linux
|
||||
#### Ubuntu 18.04 & 19.04
|
||||
##### Installation and Use with pip
|
||||
|
||||
1. Install python3.7 and pip
|
||||
|
||||
sudo apt install python3.7 python3-pip
|
||||
sudo apt install python3.7 python3-pip
|
||||
|
||||
3. Clone repo and cd into the directory
|
||||
|
||||
git clone https://github.com/NanoVNA-Saver/nanovna-saver
|
||||
cd nanovna-saver
|
||||
2. Clone repo and cd into the directory
|
||||
|
||||
4. Update pip and run the pip installation
|
||||
git clone https://github.com/NanoVNA-Saver/nanovna-saver
|
||||
cd nanovna-saver
|
||||
|
||||
python3.7 -m pip install -U pip
|
||||
python3.7 -m pip install .
|
||||
|
||||
(You may need to install the additional packages python3-distutils,
|
||||
python3-setuptools and python3-wheel for this command to work on some
|
||||
distributions.)
|
||||
|
||||
5. Once completed run with the following command
|
||||
3. Update pip and run the pip installation
|
||||
|
||||
python3.7 -m pip install -U pip
|
||||
python3.7 -m pip install .
|
||||
|
||||
(You may need to install the additional packages python3-distutils,
|
||||
python3-setuptools and python3-wheel for this command to work on some
|
||||
distributions.)
|
||||
|
||||
4. Once completed run with the following command
|
||||
|
||||
python3.7 nanovna-saver.py
|
||||
|
||||
python3.7 nanovna-saver.py
|
||||
|
||||
|
||||
### Mac OS:
|
||||
#### MacPorts
|
||||
|
||||
Via a MacPorts distribution maintained by @ra1nb0w.
|
||||
|
||||
1. Install MacPorts following the
|
||||
[install guide](https://www.macports.org/install.php)
|
||||
1. Install MacPorts following the [install guide](https://www.macports.org/install.php)
|
||||
|
||||
2. Install NanoVNASaver :
|
||||
|
||||
sudo port install NanoVNASaver
|
||||
|
@ -175,10 +146,10 @@ Via a MacPorts distribution maintained by @ra1nb0w.
|
|||
`/Applications/MacPorts/NanoVNASaver.app`
|
||||
|
||||
#### Homebrew
|
||||
1. Install Homebrew
|
||||
From : https://brew.sh/
|
||||
|
||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
1. Install Homebrew from <https://brew.sh/>
|
||||
|
||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
|
||||
2. Python :
|
||||
|
||||
|
@ -188,13 +159,14 @@ Via a MacPorts distribution maintained by @ra1nb0w.
|
|||
|
||||
git clone https://github.com/NanoVNA-Saver/nanovna-saver
|
||||
cd nanovna-saver
|
||||
|
||||
|
||||
4. Install local pip packages
|
||||
|
||||
python3 -m pip install .
|
||||
NanoVNASaver
|
||||
|
||||
## Using the software
|
||||
Using the software
|
||||
------------------
|
||||
|
||||
Connect your NanoVNA to a serial port, and enter this serial port in the serial
|
||||
port box. If the NanoVNA is connected before the application starts, it should
|
||||
|
@ -219,16 +191,18 @@ chart colours, the application font size and which graphs are displayed. The
|
|||
settings are saved between program starts.
|
||||
|
||||
### Calibration
|
||||
|
||||
_Before using NanoVNA-Saver, please ensure that the device itself is in a
|
||||
reasonable calibration state._ A calibration of both ports across the entire
|
||||
frequency span, saved to save slot 0, is sufficient. If the NanoVNA is
|
||||
completely uncalibrated, its readings may be outside the range accepted by the
|
||||
application.
|
||||
reasonable calibration state._
|
||||
|
||||
A calibration of both ports across the entire frequency span, saved to save
|
||||
slot 0, is sufficient. If the NanoVNA is completely uncalibrated, its readings
|
||||
may be outside the range accepted by the application.
|
||||
|
||||
In-application calibration is available, either assuming ideal standards or
|
||||
with relevant standard correction. To manually calibrate, sweep each standard
|
||||
in turn and press the relevant button in the calibration window.
|
||||
For assisted calibration, press the "Calibration Assistant" button. If desired,
|
||||
For assisted calibration, press the "Calibration Assistant" button. If desired,
|
||||
enter a note in the provided field describing the conditions under which the
|
||||
calibration was performed.
|
||||
|
||||
|
@ -244,9 +218,10 @@ these, and save the sets.
|
|||
After pressing _Apply_, the calibration is immediately applied to the latest
|
||||
sweep data.
|
||||
|
||||
_Currently, load capacitance is unsupported_
|
||||
\! _Currently, load capacitance is unsupported_ \!
|
||||
|
||||
### TDR
|
||||
|
||||
To get accurate TDR measurements, calibrate the device, and attach the cable to
|
||||
be measured at the calibration plane - i.e. at the same position where the
|
||||
calibration load would be attached. Open the "Time Domain Reflectometry"
|
||||
|
@ -254,36 +229,43 @@ window, and select the correct cable type, or manually enter a propagation
|
|||
factor.
|
||||
|
||||
### Frequency bands
|
||||
|
||||
Open the "Display setup" window to configure the display of frequency bands. By
|
||||
clicking "show bands", predefined frequency bands will be shown on the
|
||||
frequency-based charts. Click manage bands to change which bands are shown,
|
||||
and the frequency limits of each. Bands default and reset to European amateur
|
||||
radio band frequencies.
|
||||
|
||||
## License
|
||||
License
|
||||
-------
|
||||
|
||||
This software is licensed under version 3 of the GNU General Public License. It
|
||||
comes with NO WARRANTY.
|
||||
|
||||
You can use it, commercially as well. You may make changes to the code, but I
|
||||
(and the license) ask that you give these changes back to the community.
|
||||
|
||||
## Links
|
||||
* Ohan Smit wrote an introduction to using the application:
|
||||
Links
|
||||
-----
|
||||
|
||||
- Ohan Smit wrote an introduction to using the application:
|
||||
[https://zs1sci.com/blog/nanovnasaver/]
|
||||
* HexAndFlex wrote a 3-part (thus far) series on Getting Started with the NanoVNA:
|
||||
- HexAndFlex wrote a 3-part (thus far) series on Getting Started with the NanoVNA:
|
||||
[https://hexandflex.com/2019/08/31/getting-started-with-the-nanovna-part-1/] - Part 3 is dedicated to NanoVNASaver:
|
||||
[https://hexandflex.com/2019/09/15/getting-started-with-the-nanovna-part-3-pc-software/]
|
||||
* Gunthard Kraus did documentation in English and German:
|
||||
- Gunthard Kraus did documentation in English and German:
|
||||
[http://www.gunthard-kraus.de/fertig_NanoVNA/English/]
|
||||
[http://www.gunthard-kraus.de/fertig_NanoVNA/Deutsch/]
|
||||
|
||||
## Credits
|
||||
Credits
|
||||
-------
|
||||
|
||||
Original application by Rune B. Broberg (5Q5R)
|
||||
|
||||
Contributions and changes by Holger Müller, David Hunt and others.
|
||||
|
||||
TDR inspiration shamelessly stolen from the work of Salil (VU2CWA) at
|
||||
https://nuclearrambo.com/wordpress/accurately-measuring-cable-length-with-nanovna/
|
||||
<https://nuclearrambo.com/wordpress/accurately-measuring-cable-length-with-nanovna/>
|
||||
|
||||
TDR cable types by Larry Goga.
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue