Giter Site home page Giter Site logo

nanovna-v2 / nanovna-qt Goto Github PK

View Code? Open in Web Editor NEW
239.0 239.0 53.0 1.03 MB

PC GUI software for NanoVNA V2

Home Page: https://nanorfe.com/nanovna-v2.html

License: GNU General Public License v2.0

Makefile 0.22% M4 0.73% Shell 1.23% C 71.32% C++ 21.74% CMake 2.34% QMake 2.42%
nanovna

nanovna-qt's Introduction

NanoVNA V2 (S-A-A-2)

This repository contains the NanoVNA V2 schematics and PCB layout designs.

Copyright (C) OwOTech 2020 [email protected], all rights reserved.

The design is licensed under CC-BY-NC-SA (see LICENSE file).

V2_2 (V2.2) design files

nanovna-qt's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nanovna-qt's Issues

Problem building for Windows

I am trying to build a Windows executable by cross-compiling on Linux per the project readme. I can build mxe successfully but when running ./deploy_windows.sh to build the application itself the compile process fails with missing include files.

I am building on Ubuntu 18.04. The complete sequence of commands I am using is shown below. The initial apt install is to install all the things that appeared to be dependencies - building mxe fails without this.

sudo apt update 
sudo apt install python make autoconf automake autopoint bison flex gperf intltool libtool libtool-bin lzip ruby unzip p7zip-full libgdk-pixbuf2.0-dev libssl-dev libeigen3-dev fftw3-dev mingw-w64 gettext

cd ~/
git clone https://github.com/mxe/mxe.git
cd mxe
echo "MXE_TARGETS := i686-w64-mingw32.shared" >> settings.mk
export QT_MXE_ARCH=386
make qt5 qtcharts cc eigen fftw pthreads

cd ~/
git clone https://github.com/nanovna/NanoVNA-QT.git
cd NanoVNA-QT
export PATH="~/mxe/usr/bin:$PATH"
./deploy_windows.sh

The process fails in the deploy_windows.sh script when compiling libxavna. The output is as below:

Making all in libxavna
make[1]: Entering directory '/home/mdkendall/NanoVNA-QT/libxavna'
/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DPACKAGE_NAME=\"vna\" -DPACKAGE_TARNAME=\"vna\" -DPACKAGE_VERSION=\"version-0.1\" -DPACKAGE_STRING=\"vna\ version-0.1\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"vna\" -DVERSION=\"version-0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -I../include -O2 -std=c++0x -fPIC -fwrapv -fno-delete-null-pointer-checks -funsigned-char -fno-strict-aliasing -Wno-pmf-conversions -DEIGEN_DONT_VECTORIZE -DEIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT   -O2 -MT platform_abstraction_windows.lo -MD -MP -MF .deps/platform_abstraction_windows.Tpo -c -o platform_abstraction_windows.lo platform_abstraction_windows.C
libtool: compile:  g++ -DPACKAGE_NAME=\"vna\" -DPACKAGE_TARNAME=\"vna\" -DPACKAGE_VERSION=\"version-0.1\" "-DPACKAGE_STRING=\"vna version-0.1\"" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"vna\" -DVERSION=\"version-0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I../include -O2 -std=c++0x -fPIC -fwrapv -fno-delete-null-pointer-checks -funsigned-char -fno-strict-aliasing -Wno-pmf-conversions -DEIGEN_DONT_VECTORIZE -DEIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT -O2 -MT platform_abstraction_windows.lo -MD -MP -MF .deps/platform_abstraction_windows.Tpo -c platform_abstraction_windows.C  -DDLL_EXPORT -DPIC -o .libs/platform_abstraction_windows.o
platform_abstraction_windows.C:7:10: fatal error: windows.h: No such file or directory
 #include <windows.h>
          ^~~~~~~~~~~
compilation terminated.
Makefile:438: recipe for target 'platform_abstraction_windows.lo' failed
make[1]: *** [platform_abstraction_windows.lo] Error 1

There is a copy of windows.h in /usr/x86_64-w64-mingw32/include/ but it seems this is not on the include search path. If I simply copy it to /usr/include it gets past that error but I just get problems with other header files not being found.

I would appreciate any clues as to what I am doing wrong.

Problems of connection with pc

Captura de pantalla 2020-12-30 124658
help!!
I have problems with the connection of the nano vna saa v2 pro with my pc (windows 10), I already installed the driver (CypressDriverInstaller_1) but it appears as an unrecognized device.
WhatsApp Image 2020-12-30 at 12 48 27 PM

NanoVNA-QT available on macports (macOS)

I pushed NanoVNA-QT on macports and now the user can install it with

sudo port install nanovna-qt.

Macports is a package management system that simplifies the installation of software on the macOS.

note: you should move to cmake and unify the build

Frequency resolution of impedance output

When exporting measurement data using S parameters -> Export impedances (csv), the frequency of the measurement points is given with 3 digits after the decimal point. For a high number of measurement points in a narrow frequency band this easily results in the same frequency string being repeated with differing measurement data.

This should be made either dynamic, so that the frequency resolution exceeds the bin separation (say 10-fold) or to use a fixed resolution which is related to the hardware limits.

(Can't attach a .CSV, copy-paste follows)

Freq (MHz),re(S11),im(S11),re(Z),im(Z)
7.320,0.99594,-0.01633,1383.430,-5768.385
7.320,0.99614,-0.01620,1339.822,-5840.816
7.320,0.99557,-0.01586,1582.586,-5847.753
7.320,0.99575,-0.01596,1508.717,-5851.107
7.320,0.99548,-0.01567,1648.177,-5892.921
7.320,0.99580,-0.01620,1448.560,-5783.360
7.320,0.99608,-0.01622,1356.580,-5825.956
7.321,0.99511,-0.01611,1673.485,-5683.610
7.321,0.99491,-0.01651,1655.757,-5532.753
7.321,0.99628,-0.01654,1245.260,-5754.509
7.321,0.99499,-0.01612,1708.135,-5655.828
7.321,0.99587,-0.01638,1396.744,-5741.910
7.321,0.99530,-0.01593,1652.681,-5775.072
7.321,0.99645,-0.01626,1231.911,-5869.202
7.321,0.99461,-0.01566,1914.166,-5711.095
7.321,0.99592,-0.01604,1441.121,-5855.443
7.321,0.99436,-0.01611,1885.340,-5529.346
7.321,0.99643,-0.01648,1204.373,-5796.535
7.321,0.99510,-0.01634,1634.158,-5613.977
7.321,0.99597,-0.01627,1384.043,-5789.489
7.322,0.99589,-0.01666,1346.099,-5656.323
7.322,0.99655,-0.01622,1203.202,-5897.803
7.322,0.99558,-0.01575,1600.079,-5884.776
7.322,0.99543,-0.01576,1646.685,-5853.045
7.322,0.99561,-0.01636,1481.455,-5702.593
7.322,0.99457,-0.01601,1850.140,-5600.762
7.322,0.99501,-0.01621,1685.588,-5633.329
7.322,0.99493,-0.01643,1663.426,-5557.309
7.322,0.99637,-0.01664,1201.107,-5737.480
7.322,0.99504,-0.01628,1662.506,-5618.932
7.322,0.99670,-0.01619,1156.712,-5929.848
7.322,0.99504,-0.01609,1700.811,-5677.006
...

Log frequency display option

I was told that this area was a good location to input feature requests, if not please re-direct.
Would it be possible to add log frequnecy display to the NANO for wider sweeps?
Wayne VE3CZO

MacOS macports build fails on Big Sur 11.1 (eigen3 build failure)

Using

sudo port install NanoVNA-QT

build fails with error

Error: Failed to configure eigen3: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_eigen3/eigen3/main.log for details.

which in result points to:

clang: error: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=11.1' in main.log

macports_log.txt
main.log

MacOS brew build fails on Big Sur 11.1 (empty DMG file)

Using

brew install automake libtool make eigen fftw
cd /PATH/TO/NanoVNA-QT
./deploy_macos.sh

build finishes with errors, file NanoVNA_QT_MacOS.dmg is created, but it is empty.

Seems that the crucial line is

./deploy_macos.sh: line 16: /usr/bin/qmake: No such file or directory

deploy_log.txt

Permission denied

~/NanoVNA-QT/vna_qt$ ../run ./vna_qt.pro
../run: line 3: ./vna_qt.pro: Permission denied

Any idea ?
It seemed to compile alright, but then does not run.
Thank you.

Frequency settings

Would it be possible to extend the frequency setting to start at 0.05MHz in stead of 0.1MHz. Also to cahnge divisions from 11 to 10 which create more logical scale settings

Low frequency support

NanoVNA v2 is capable of measuring down to 10kHz after the 20200525 update. This works fine on the local UI.

However, the frequency sweep menu allows setting the start and stop frequencies only down to 0.1 MHz. The serial protocol takes input in Hertz, so commanding the low frequencies should not be a problem.

Thus this seems to only be an issue of input sanitization in the sweep menu.

S parameters menu improvements

Today if we want to capture full s2p parameters and export them as s2p we shall do at least 3 steps:

  • S parameters->Capture S*1
  • S parameters->Capture S*2 (for full 2port VNA else it can be skipped for T/R VNA)
  • S parameters->Export s2p

Please add an option to "Capture and Export s2p" in one click (doing the 2 or 3 steps previously mentioned) with export to s2p file (with default name like date_time.s2p)
The aim is to export S11 & S21 on a T/R VNA in a s2p file in one step (or Full S11, S21, S12, S22 on full-2 port VNA)

why documentation moved

why was documentation removed from github, moved to netherlands server?

hacking legal in netherlands, why would i want to download there?

blocked at firewall...

Lower frequency limit

VNA-QT allows to set 100 kHz as lowest frequency.
Since firmware 20200525 the lowest NanoVNA V2 frequency was lowered from 50 kHz to 10 kHz.

Why does VNA-QT not allow to set 10 kHz as lowest frequency (also for calibration)?

Crash on load or apply calibraiton data

Hi,

NanoVNA-QT release 20200507 for macOS started to crash on any attempt to load calibration files, or apply calibration data. Previously worked just fine. Device is NanoVNA v2.2, firmware 20200507.

Any suggestion on how to fix that will be very much appreciated.

--
Mishka

The report:

Process:               vna_qt [854]
Path:                  /Applications/vna_qt.app/Contents/MacOS/vna_qt
Identifier:            com.yourcompany.vna-qt
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           vna_qt [854]
User ID:               501

Date/Time:             2020-09-17 04:34:16.542 +0300
OS Version:            Mac OS X 10.13.6 (17G14019)
Report Version:        12
Anonymous UUID:        9EEA7EAC-8989-B8FA-44E1-79ECEA134C01


Time Awake Since Boot: 1800 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
Assertion failed: (!values.empty()), function interpolate, file ./touchstone.H, line 16.
 

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff7ac70b66 __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff7ae3b080 pthread_kill + 333
2   libsystem_c.dylib             	0x00007fff7abcc1ae abort + 127
3   libsystem_c.dylib             	0x00007fff7ab941ac __assert_rtn + 320
4   com.yourcompany.vna-qt        	0x000000010e4b7bf8 0x10e4a5000 + 76792
5   com.yourcompany.vna-qt        	0x000000010e4b5e9b MainWindow::on_b_apply_clicked() + 1563
6   com.yourcompany.vna-qt        	0x000000010e4b4f85 MainWindow::loadCalibration(QString) + 1141
7   com.yourcompany.vna-qt        	0x000000010e4c41de 0x10e4a5000 + 127454
8   org.qt-project.QtCore         	0x000000010f537f7b QMetaObject::activate(QObject*, int, int, void**) + 2347
9   org.qt-project.QtWidgets      	0x000000010e868d35 QAction::activate(QAction::ActionEvent) + 309
10  org.qt-project.QtCore         	0x000000010f530454 QObject::event(QEvent*) + 788
11  org.qt-project.QtWidgets      	0x000000010e868bea QAction::event(QEvent*) + 234
12  org.qt-project.QtWidgets      	0x000000010e872752 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 306
13  org.qt-project.QtWidgets      	0x000000010e873a6f QApplication::notify(QObject*, QEvent*) + 383
14  org.qt-project.QtCore         	0x000000010f506f7f QCoreApplication::notifyInternal2(QObject*, QEvent*) + 159
15  org.qt-project.QtCore         	0x000000010f508152 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 850
16  libqcocoa.dylib               	0x00000001113a9cfe 0x111380000 + 171262
17  libqcocoa.dylib               	0x00000001113aa5b1 0x111380000 + 173489
18  com.apple.CoreFoundation      	0x00007fff52b23b01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
19  com.apple.CoreFoundation      	0x00007fff52bdbe5c __CFRunLoopDoSource0 + 108
20  com.apple.CoreFoundation      	0x00007fff52b06b0c __CFRunLoopDoSources0 + 300
21  com.apple.CoreFoundation      	0x00007fff52b05f2d __CFRunLoopRun + 1293
22  com.apple.CoreFoundation      	0x00007fff52b05787 CFRunLoopRunSpecific + 487
23  com.apple.HIToolbox           	0x00007fff51de5d96 RunCurrentEventLoopInMode + 286
24  com.apple.HIToolbox           	0x00007fff51de5a0f ReceiveNextEventCommon + 366
25  com.apple.HIToolbox           	0x00007fff51de5884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
26  com.apple.AppKit              	0x00007fff50092a3b _DPSNextEvent + 2085
27  com.apple.AppKit              	0x00007fff50828e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
28  com.apple.AppKit              	0x00007fff5008784d -[NSApplication run] + 764
29  libqcocoa.dylib               	0x00000001113a93ad 0x111380000 + 168877
30  org.qt-project.QtCore         	0x000000010f502a72 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 418
31  org.qt-project.QtCore         	0x000000010f507692 QCoreApplication::exec() + 402
32  com.yourcompany.vna-qt        	0x000000010e4c7bcf main + 1199
33  libdyld.dylib                 	0x00007fff7ab20015 start + 1

Thread 1:
0   libsystem_kernel.dylib        	0x00007fff7ac7128a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff7ae3820e _pthread_wqthread + 1552
2   libsystem_pthread.dylib       	0x00007fff7ae37be9 start_wqthread + 13

Thread 2:
0   libsystem_kernel.dylib        	0x00007fff7ac7128a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff7ae3820e _pthread_wqthread + 1552
2   libsystem_pthread.dylib       	0x00007fff7ae37be9 start_wqthread + 13

Thread 3:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff7ac671fa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff7ac66714 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff52b06dc5 __CFRunLoopServiceMachPort + 341
3   com.apple.CoreFoundation      	0x00007fff52b06117 __CFRunLoopRun + 1783
4   com.apple.CoreFoundation      	0x00007fff52b05787 CFRunLoopRunSpecific + 487
5   com.apple.AppKit              	0x00007fff501cffc4 _NSEventThread + 184
6   libsystem_pthread.dylib       	0x00007fff7ae38661 _pthread_body + 340
7   libsystem_pthread.dylib       	0x00007fff7ae3850d _pthread_start + 377
8   libsystem_pthread.dylib       	0x00007fff7ae37bf9 thread_start + 13

Thread 4:
0   libsystem_pthread.dylib       	0x00007fff7ae37bdc start_wqthread + 0
1   ???                           	0x0006000100020004 0 + 1688854155362308

Thread 5:
0   libsystem_pthread.dylib       	0x00007fff7ae37bdc start_wqthread + 0
1   ???                           	0x0000000100000038 0 + 4294967352

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00007fffb320c380  rcx: 0x00007ffee1758808  rdx: 0x0000000000000000
  rdi: 0x0000000000000307  rsi: 0x0000000000000006  rbp: 0x00007ffee1758840  rsp: 0x00007ffee1758808
   r8: 0x0000000000000000   r9: 0x0000000000000000  r10: 0x0000000000000000  r11: 0x0000000000000206
  r12: 0x0000000000000307  r13: 0x0000000116c93000  r14: 0x0000000000000006  r15: 0x000000000000002d
  rip: 0x00007fff7ac70b66  rfl: 0x0000000000000206  cr2: 0x00007fffb31e9168
  
Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133

question: auto sweep FSM

I'm trying to understand the logic in the autosweep FSM. As far as I can tell it's roughly:

  • collectDataState = 0 waiting for a measurement to be requested
  • collectDataState = 1 wait for the start of a sweep to come around
  • collectDataState = 2 sweep finished
  • collectDataState = 3 wait for all values for an extra 5 frequency points to come through

What's the motivation around the collectDataState = 3 state? Why 5 more points? Any pointers appreciated!

Enhanced Response for S21 calculation

Hello,
I've already reported in the tech support group of NanoVNA V2 that it would be a nice improvement of NanoVNA-QT the usage of Enhanced Response formulas in calculating S21. I do not know if this suggestion arrived to the NanoVNA-QT developers (I do not know all relatioships...) si, just in case, I reported this suggestion also here.

I'm of course availabe to provide all needed support for this feature (maths, ecc.) if it is useful for implementation.

Best regards, Marco.

Don't use double underscores in identifier names

There are several files in this project that define identifiers whose names begin with double underscores:

./include/xavna/calibration.H:#define __XAVNA_CALIBRATION_H
./include/xavna/xavna_cpp.H:#define __XAVNA_CPP_H
./include/xavna/common.H:#define __XAVNA_COMMON_H
./include/xavna/xavna.h:#define __XAVNA_H
./libxavna/common_types.h:#define __COMMON_TYPES_H
./libxavna/include/calibration.H:#define __XAVNA_CALIBRATION_H
./libxavna/include/xavna_cpp.H:#define __XAVNA_CPP_H
./libxavna/include/common.H:#define __XAVNA_COMMON_H
./libxavna/include/xavna.h:#define __XAVNA_H
./vna_gtk/common_types.h:#define __COMMON_TYPES_H

This should be changed because it is not permitted by the language standards. (Such names are reserved for use by the implementation.)

https://stackoverflow.com/questions/224397/why-do-people-use-double-underscore-so-much-in-c#answer-56388858

Can't load Calibration

Loading any saved Calibration File ends up in an:
what(): matrix rank is not full! should be 4, is 3
Exception
(Current Appimage running on Debian)

Can't exit USB Mode Normally

Running NanoVNA-QT, or other remote application, causes the S-A-A-2 to enter "USB MODE" with a white screen. After closing NanoVNA-QT or other remote application, the S-A-A-2 remains in "USB MODE" and cannot be manually used without cycling power. This is very in-elegant and some type of reset or exit mode command should be provided.

hwalker

Can't clear list of old calibration files.

I can delete the .cal files but the Calibration drop down list continues to show the missing files. There is no way to know which are valid.
MacOS, (no version info available from app?), but latest 20200507

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.