Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ if(WIN32)
endif()
endif()

set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

# Project
project(nanovna_qt C CXX)

Expand All @@ -19,10 +21,10 @@ set(xaVNA_VERSION_MINOR 1)
set(xaVNA_VERSION_STRING ${xaVNA_VERSION_MAJOR}.${xaVNA_VERSION_MINOR})

# Set C++11 as standard for the whole project
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

if(UNIX)
set(CMAKE_CXX_FLAGS "-O2 ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "-O2 -Wall ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "-O2 -g ${CMAKE_CXX_FLAGS}")
endif()

Expand Down Expand Up @@ -63,21 +65,21 @@ endif()
# ==============================================================================
# FFTW3
# ==============================================================================
find_package(FFTW3 REQUIRED)
if(FFTW3_FOUND)
message(STATUS "Found FFTW3 (${FFTW3_VERSION})")
message(STATUS " fftw3 includes: ${FFTW3_INCLUDE_DIRS}")
message(STATUS " fftw3 libraries: ${FFTW3_LIBRARIES}")
include_directories(${FFTW3_INCLUDE_DIR})
find_package(FFTW REQUIRED)
if(FFTW_FOUND)
message(STATUS "Found FFTW (${FFTW_VERSION})")
message(STATUS " fftw includes: ${FFTW_INCLUDE_DIRS}")
message(STATUS " fftw libraries: ${FFTW_LIBRARIES}")
include_directories(${FFTW_INCLUDE_DIR})
endif()

# ==============================================================================
# QT5 Charts (and QT5 subdependences)
# ==============================================================================
find_package(Qt5 COMPONENTS Core Gui Widgets Charts REQUIRED)
find_package(Qt6 COMPONENTS Core Gui Widgets Charts REQUIRED)
if(Qt5Charts_FOUND)
message(STATUS "Found QT5 version: ${Qt5_VERSION}")
message(STATUS " qt5 charts dir: ${Qt5Charts_DIR}")
message(STATUS "Found QT6 version: ${Qt6_VERSION}")
message(STATUS " qt6 charts dir: ${Qt6Charts_DIR}")
endif()

# ==============================================================================
Expand All @@ -86,3 +88,4 @@ endif()
add_subdirectory(libxavna)
add_subdirectory(libxavna/xavna_mock_ui)
add_subdirectory(vna_qt)
add_subdirectory(vna_diagtool)
3 changes: 0 additions & 3 deletions Makefile.am

This file was deleted.

96 changes: 3 additions & 93 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,100 +1,10 @@
# NanoVNA-QT
PC GUI software for NanoVNA V2 series (V2 Plus4/V2 Plus4 Pro).

- Supports hardware versions listed here: https://nanorfe.com/nanovna-v2.html
- https://www.tindie.com/products/hcxqsgroup/nanovna-v2/
This is the original NanoVNA software updated to Qt6 by IV3IWE.

To compile:

NanoVNA V2配套的PC软件,可用于实时网络分析和测量。


# Downloads / 下载
https://nanorfe.com/nanovna-v2-software.html


# Screenshots / 截图

##### Open circuited coax stub / 开路同轴电缆

<img src="pictures/coax.png" width="500">

##### Antenna / 天线

<img src="pictures/antenna.png" width="500">

##### Time to fault / 障碍距离

<img src="pictures/ttf.png" width="500">


# 编译 / Building the software

__Linux系统下编译 / Building on Linux__

编译 libxavna:
```bash
sudo apt-get install automake libtool make g++ libeigen3-dev libfftw3-dev
cd /PATH/TO/NanoVNA-QT
autoreconf --install
./configure
make
cd libxavna/xavna_mock_ui/
/PATH/TO/qmake
make
```

编译 QT 界面:
```bash
sudo apt-get install libqt5charts5-dev
cd /PATH/TO/NanoVNA-QT
cd vna_qt
/PATH/TO/qmake
cmake .
make
export QT=/PATH/TO/QT # optional, e.g. ~/qt/5.10.1/gcc_64
../run ./vna_qt
```

__Mac系统下编译 / Building on mac os__

MacPorts:
```bash
sudo port install NanoVNA-QT
# result in /Applications/MacPorts/NanoVNA-QT.app
```

Homebrew:
```bash
brew install automake libtool make eigen fftw
cd /PATH/TO/NanoVNA-QT
./deploy_macos.sh
# result is in ./vna_qt/vna_qt.app
```

__Linux系统下编译Windows目标 / Cross-compile for windows (from Linux)__

Prerequisites:
```bash
sudo apt-get 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
```

下载与编译 MXE:
```bash
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
```

编译 Application:
```bash
cd ~/
git clone https://github.com/nanovna/NanoVNA-QT.git
cd NanoVNA-QT
export PATH="~/mxe/usr/bin:$PATH"
./deploy_windows.sh
# Result is in ./vna_qt_windows.zip
```

Tested on a fresh install of Ubuntu 18.04 LTS.
8 changes: 0 additions & 8 deletions appimage/.gitignore

This file was deleted.

8 changes: 0 additions & 8 deletions appimage/default.desktop

This file was deleted.

Empty file removed appimage/default.png
Empty file.
Loading