Feature/documentation (#558)

* documentation updates
* github workflow files
pull/560/head
Holger Müller 2022-10-09 19:02:05 +02:00 zatwierdzone przez GitHub
rodzic c5a23fcd46
commit 533a543a1b
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
11 zmienionych plików z 466 dodań i 128 usunięć

Wyświetl plik

@ -0,0 +1,37 @@
---
name: Bug Report
about: Create a report to help NanoVNA-Saver to improve
title: "bug: "
labels: "bug"
assignees: ""
---
# Bug Report
**NanoVNA-Saver version:**
<!-- Please specify commit or tag version. -->
**Current behavior:**
<!-- Describe how the bug manifests. -->
**Expected behavior:**
<!-- Describe what you expect the behavior to be without the bug. -->
**Steps to reproduce:**
<!-- Explain the steps required to duplicate the issue, especially if you are able to provide a sample application. -->
**Related code:**
<!-- If you are able to illustrate the bug or feature request with an example, please provide it here. -->
```
insert short code snippets here
```
**Other information:**
<!-- List any other information that is relevant to your issue. Related issues, suggestions on how to fix, Stack Overflow links, forum links, etc. -->

Wyświetl plik

@ -0,0 +1,35 @@
---
name: Feature Request
about: Suggest an idea for this project
title: "feat: "
labels: "enhancement"
assignees: ""
---
# Feature Request
**Describe the Feature Request**
<!-- A clear and concise description of what the feature request is. Please include if your feature request is related to a problem. -->
**Describe Preferred Solution**
<!-- A clear and concise description of what you want to happen. -->
**Describe Alternatives**
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
**Related Code**
<!-- If you are able to illustrate the bug or feature request with an example, please provide it here. -->
**Additional Context**
<!-- List any other information that is relevant to your issue. Stack traces, related issues, suggestions on how to add, use case, Stack Overflow links, forum links, screenshots, OS if applicable, etc. -->
**If the feature request is approved, would you be willing to submit a PR?**
_(Help can be provided if you need assistance submitting a PR)_
- [ ] Yes
- [ ] No

Wyświetl plik

@ -0,0 +1,7 @@
---
name: Codebase improvement
about: Provide your feedback for the existing codebase. Suggest a better solution for algorithms, development tools, etc.
title: "dev: "
labels: "enhancement"
assignees: ""
---

Wyświetl plik

@ -1,5 +1,6 @@
---
blank_issues_enabled: false
contact_links:
- name: nanovna-users groups.io group
url: https://groups.io/g/nanovna-users/
about: Please ask any questions about using the NanoVNA or NanoVNA-Saver on this mailing list.
- name: NanoVNA-Saver Community Support
url: https://github.com/zarath@gmx.de/nanovna-saver/discussions
about: Please ask and answer questions here.

Wyświetl plik

@ -0,0 +1,40 @@
<!--- Please provide a general summary of your changes in the title above -->
## Pull Request type
<!-- Please try to limit your pull request to one type; submit multiple pull requests if needed. -->
Please check the type of change your PR introduces:
- [ ] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no API changes)
- [ ] Build-related changes
- [ ] Documentation content changes
- [ ] Other (please describe):
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying, or link to a relevant issue. -->
Issue Number: N/A
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by this PR. -->
-
-
-
## Does this introduce a breaking change?
- [ ] Yes
- [ ] No
<!-- If this does introduce a breaking change, please describe the impact and migration path for existing applications below. -->
## Other information
<!-- Any other information that is important to this PR, such as screenshots of how the component looks before and after the change. -->

44
.github/workflows/stale.yml vendored 100644
Wyświetl plik

@ -0,0 +1,44 @@
---
name: Stale
on:
schedule:
- cron: "0 8 * * *"
workflow_dispatch:
jobs:
stale:
name: 🧹 Clean up stale issues and PRs
runs-on: ubuntu-latest
steps:
- name: 🚀 Run stale
uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
days-before-close: 30
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,help-wanted"
stale-issue-message: >
There hasn't been any activity on this issue recently, and in order
to prioritize active issues, it will be marked as stale.
Please make sure to update to the latest version and
check if that solves the issue. Let us know if that works for you
by leaving a 👍
Because this issue is marked as stale, it will be closed and locked
in 7 days if no further activity occurs.
Thank you for your contributions!
stale-pr-label: "stale"
exempt-pr-labels: "no-stale"
stale-pr-message: >
There hasn't been any activity on this pull request recently, and in
order to prioritize active work, it has been marked as stale.
This PR will be closed and locked in 7 days if no further activity
occurs.
Thank you for your contributions!

Wyświetl plik

@ -4,7 +4,11 @@ Changelog
0.5.4-pre
---------
- Refectoring of Analysis modules
- simplyfied sweep worker
- fixed calibration data loading
- explicit import of scipy functions - #555
- bugfix for python3.8 compatability
- refactoring of Analysis modules
0.5.3
-----

209
README.md
Wyświetl plik

@ -14,35 +14,32 @@ points, and generally display and analyze the resulting data.
- Copyright 2019, 2020 Rune B. Broberg
- Copyright 2020ff NanoVNA-Saver Authors
Latest Changes
--------------
<a href="#built-with"></a>
It's written in __Python 3__ using __PyQt5__ and __scipy__.
### Changes in 0.5.4-pre
<details open="open">
<summary>Table of Contents</summary>
- Refactoring of Analysis modules
- [About](#nanovnasaver)
- [Built With](#built-with)
- [Introduction](#introduction)
- [Current Features](#current-features)
- [Screenshot](#screenshot)
- [Binary Releases](#binary-releases)
- [Installation](#installation)
- [Detailed Installation Instructions](docs/INSTALLATION.md)
- [Usage](#using-the-software)
- [Calibration](#calibration)
- [TDR](#tdr)
- [Latest Changes](#latest-changes)
- [Contributing](#contributing)
- [Contribution Guidlines](docs/CONTRIBUTING.md)
- [License](#license)
- [References](#references)
- [Acknowledgements](#acknowledgements)
### Changes in 0.5.3
</details>
- Python 3.10 compatability fixes
- Fix crash on open in use serial device
- Use a Defaults module for all settings -
ignores old .ini settings
- Refactoring and unifying Chart classes
- No more automatic update checks (more privacy)
- Corrected error handling in NanaVNA\_V2 code
- Fixed man float related crashes with Qt and
Python 3.10
- Using more integer divisions to get right type for QPainter
points
- No more long lines in code (pycodestyle)
### Changes in 0.4.0
- PA0JOZ Enhanced Response Correction
This is the reason vor minor version increase as older callibration data shouldn't
be use.
- Fix linux binary build
- Many bugfixes
Introduction
------------
@ -50,7 +47,8 @@ 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:
<a href="#current-features"></a>
### Current features:
- Reading data from a NanoVNA -- Compatible devices: NanoVNA, NanoVNA-H,
NanoVNA-H4, NanoVNA-F, AVNA via Teensy
@ -74,7 +72,7 @@ Current features:
- Customizable display options, including "dark mode"
- Exporting images of plotted values
0.1.4:
### Screenshot
![Screenshot of version 0.1.4](https://i.imgur.com/ZoFsV2V.png)
Running the application
@ -86,8 +84,11 @@ Main development is currently done on Linux (Mint 21 "Vanessa" Cinnamon)
### Binary releases
You can find 64bit binary releases for Windows, Linux and MacOS under
<https://github.com/NanoVNA-Saver/nanovna-saver/releases/>
You can find current binary releases for Windows, Linux and MacOS under
<https://github.com/NanoVNA-Saver/nanovna-saver/releases/latest>
The 32bit Windows binaries are somewhat smaller and seems to be a
little bit more stable.
Versions older than Windows 7 are not known to work.
@ -97,96 +98,17 @@ 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
1. Clone repo and cd into the directory
Copy the link of the tgz from latest relaese and install it with pip install. e.g.:
git clone https://github.com/NanoVNA-Saver/nanovna-saver
cd nanovna-saver
pip3 install https://github.com/NanoVNA-Saver/nanovna-saver/archive/refs/tags/v0.5.3.tar.gz
2. Run the pip installation
Once completed run with the following command
pip3 install .
NanoVNASaver
3. Once completed run with the following command
NanoVNASaver
#### Ubuntu 20.04
1. Install python3.8 and pip
sudo apt install python3.8 python3-pip
python3 -m venv ~/.venv_nano
. ~/.venv_nano/bin/activate
pip install -U pip
2. Clone repo and cd into the directory
git clone https://github.com/NanoVNA-Saver/nanovna-saver
cd nanovna-saver
3. Update pip and run the pip installation
python3 -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
. ~/.venv_nano/bin/activate
python3 nanovna-saver.py
#### MacPorts
Via a MacPorts distribution maintained by @ra1nb0w.
1. Install MacPorts following the [install guide](https://www.macports.org/install.php)
2. Install NanoVNASaver :
sudo port install NanoVNASaver
3. Now you can run the software from shell `NanoVNASaver` or run as app
`/Applications/MacPorts/NanoVNASaver.app`
#### Homebrew
1. Install Homebrew from <https://brew.sh/> (This will ask for your password)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2. Python :
brew install python
3. Pip :<br/>
Download the get-pip.py file and run it to install pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
4. NanoVNASaver Installation : <br/>
clone the source code to the nanovna-saver folder
git clone https://github.com/NanoVNA-Saver/nanovna-saver
cd nanovna-saver
5. Install local pip packages
python3 -m pip install .
6. Run nanovna-saver in the nanovna-saver folder by:
python3 nanovna-saver.py
[Detailed installation instructions](docs/INSTALLATION.md)
Using the software
------------------
@ -251,13 +173,52 @@ calibration load would be attached. Open the "Time Domain Reflectometry"
window, and select the correct cable type, or manually enter a propagation
factor.
### Frequency bands
Latest Changes
--------------
### Changes in 0.5.4-pre
- Bugfix for Python3.8 compatability
- Simplyfied sweep worker
- Fixed calibration data loading
- Explicit import of scipy functions - #555
- Refactoring of Analysis modules
### Changes in 0.5.3
- Python 3.10 compatability fixes
- Fix crash on open in use serial device
- Use a Defaults module for all settings -
ignores old .ini settings
- Refactoring and unifying Chart classes
- No more automatic update checks (more privacy)
- Corrected error handling in NanaVNA\_V2 code
- Fixed man float related crashes with Qt and
Python 3.10
- Using more integer divisions to get right type for QPainter
points
- No more long lines in code (pycodestyle)
### Changes in 0.4.0
- PA0JOZ Enhanced Response Correction
This is the reason for minor version increase as older callibration data
shouldn't be use.
- Fix linux binary build
- Many bugfixes
Contributing
------------
First off, thanks for taking the time to contribute! Contributions are what
make the open-source community such an amazing place to learn, inspire, and
create. Any contributions you make will benefit everybody else and are
**greatly appreciated**.
Please read [our contribution guidelines](docs/CONTRIBUTING.md), and thank you
for being involved!
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
-------
@ -268,8 +229,8 @@ 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
-----
References
----------
- Ohan Smit wrote an introduction to using the application:
[https://zs1sci.com/blog/nanovnasaver/]
@ -280,12 +241,12 @@ Links
[http://www.gunthard-kraus.de/fertig_NanoVNA/English/]
[http://www.gunthard-kraus.de/fertig_NanoVNA/Deutsch/]
Credits
-------
Acknowledgements
----------------
Original application by Rune B. Broberg (5Q5R)
Contributions and changes by Holger Müller, David Hunt and others.
Contributions and changes by Holger Müller (DG5DBH), 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/>

Wyświetl plik

@ -0,0 +1,83 @@
Contributor Covenant Code of Conduct
====================================
Our Pledge
----------
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age,
body size, disability, ethnicity, sex characteristics, gender identity and
expression, level of experience, education, socio-economic status, nationality,
personal appearance, race, religion, or sexual identity and orientation.
Our Standards
-------------
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances Trolling, insulting/derogatory comments, and personal or political
attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission Other conduct which could reasonably be
considered inappropriate in a professional setting
Our Responsibilities
--------------------
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
Scope
-----
This Code of Conduct applies within all project spaces, and it also applies
when an individual is representing the project or its community in public
spaces. Examples of representing a project or community include using an
official project email address, posting via an official social media account,
or acting as an appointed representative at an online or offline event.
Representation of a project may be further defined and clarified by project
maintainers.
Enforcement
-----------
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project maintainer using any of the [private contact
addresses](https://github.com/Nanovna-Saver/nanovna-saver#support). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an
incident. Further details of specific enforcement policies may be posted
separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor
Covenant](https://www.contributor-covenant.org), version 1.4, available at
<https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>
For answers to common questions about this code of conduct, see
<https://www.contributor-covenant.org/faq>

Wyświetl plik

@ -0,0 +1,51 @@
Contributing
============
When contributing to this repository, please first discuss the change you wish
to make via issue, email, or any other method with the owners of this
repository before making a change.
Please note we have a [code of conduct](CODE_OF_CONDUCT.md), please follow it
in all your interactions with the project.
Development environment setup
------------------------------
1. Clone the repo
```sh
git clone https://github.com/NanoVNA-Saver/nanovna-saver
```
2. TODO
## Issues and feature requests
You've found a bug in the source code, a mistake in the documentation or maybe
you'd like a new feature?Take a look at [GitHub
Discussions](https://github.com/NanoVNA-Saver/nanovna-saver/discussions) to see
if it's already being discussed. You can help us by [submitting an issue on
GitHub](https://github.com/NanoVNA-Saver/nanovna-saver/issues). Before you
create an issue, make sure to search the issue archive -- your issue may have
already been addressed!
Please try to create bug reports that are:
- _Reproducible._ Include steps to reproduce the problem.
- _Specific._ Include as much detail as possible: which version, what environment, etc.
- _Unique._ Do not duplicate existing opened issues.
- _Scoped to a Single Bug._ One bug per report.
**Even better: Submit a pull request with a fix or new feature!**
### How to submit a Pull Request
1. Search our repository for open or closed
[Pull Requests](https://github.com/NanoVNA-Saver/nanovna-saver/pulls)
that relate to your submission. You don't want to duplicate effort.
2. Fork the project
3. Create your feature branch (`git checkout -b feat/amazing_feature`)
4. Commit your changes (`git commit -m 'feat: add amazing_feature'`)
NanoVNA-Saver uses [conventional commits](https://www.conventionalcommits.org),
so please follow the specification in your commit messages. 5. Push to the
branch (`git push origin feat/amazing_feature`)
6. [Open a Pull Request](https://github.com/NanoVNA-Saver/nanovna-saver/compare?expand=1)

Wyświetl plik

@ -0,0 +1,75 @@
Installation Instructions
=========================
## Ubuntu 20.04 / 22.04
1. Install python3.8 and pip
sudo apt install python3.8 python3-pip
python3 -m venv ~/.venv_nano
. ~/.venv_nano/bin/activate
pip install -U pip
2. Clone repo and cd into the directory
git clone https://github.com/NanoVNA-Saver/nanovna-saver
cd nanovna-saver
3. Update pip and run the pip installation
python3 -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
. ~/.venv_nano/bin/activate
python3 nanovna-saver.py
## MacPorts
Via a MacPorts distribution maintained by @ra1nb0w.
1. Install MacPorts following the [install guide](https://www.macports.org/install.php)
2. Install NanoVNASaver :
sudo port install NanoVNASaver
3. Now you can run the software from shell `NanoVNASaver` or run as app
`/Applications/MacPorts/NanoVNASaver.app`
## Homebrew
1. Install Homebrew from <https://brew.sh/> (This will ask for your password)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2. Python :
brew install python
3. Pip :<br/>
Download the get-pip.py file and run it to install pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
4. NanoVNASaver Installation : <br/>
clone the source code to the nanovna-saver folder
git clone https://github.com/NanoVNA-Saver/nanovna-saver
cd nanovna-saver
5. Install local pip packages
python3 -m pip install .
6. Run nanovna-saver in the nanovna-saver folder by:
python3 nanovna-saver.py