RC07 - linting README.md and CHANGELOG.md

pull/311/head
Holger Müller 2020-08-04 17:34:34 +02:00
rodzic ba49f3ae31
commit 05b71ee8e8
4 zmienionych plików z 94 dodań i 111 usunięć

Wyświetl plik

@ -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

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.3.7-rc06"
VERSION = "0.3.7-rc07"
VERSION_URL = (
"https://raw.githubusercontent.com/"
"NanoVNA-Saver/nanovna-saver/master/NanoVNASaver/About.py")

Wyświetl plik

@ -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
Wyświetl plik

@ -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.