Git Product home page Git Product logo

qttinysa's Introduction

QtTinySA

Screenshot_20231228_154327

A Python 'TinySA Ultra' (and original 'TinySA') GUI programme using Qt5 and PyQt5. Designed to run in Linux but works in Windows (minimal testing) and mac (no testing).
The Windows executable does not work on Windows versions < 10.

The code attempts to replicate some of the TinySA Ultra on-screen commands on the PC. Generator control seemed pointless so I have not added it. Development took place on Kubuntu 22.04LTS with Python 3.9.18 and PyQt5 using Spyder in Anaconda.

'TinySA', 'TinySA Ultra' and the TinySA icon are trademarks of Erik Kaashoek and are used with his permission.

TinySA commands are based on Erik's Python examples: http://athome.kaashoek.com/tinySA/python/

The serial communication commands are based on Martin's Python NanoVNA/TinySA Toolset https://github.com/Ho-Ro

Dependencies: Install from your repository - numpy, pyqtgraph, pyopengl, pyqt5, pyserial.
You may need to add the Qt5 SQLite 3 database driver (libqt5sql5-sqlite) and Python3 bindings for QT5's SQL Module.
If you get a serial exception on startup, add your username to the 'dialout' group.
The 3D (time) spectrum requires OpenGL

The GUI was originally designed for a 7" 1024 x 600 screen but should maximise properly. The GUI appearence may change significantly due to development.

There is limited error trapping. The 3D spectrum can sometimes crash the Application, but this only happens if it's enabled.

Working Features (v0.8 onwards):

Trace updates as tinySA scans.
LNA on/off.
SPUR auto/off.
Scan points selectable between 20 and 30,000 set manually or automatically based on RBW.
RBW control.
4 different colour traces, all can be turned on/off and set to average, max hold or min hold.
Selectable averaging.
Selectable memory depth.
Band frequency selection.
Start/stop frequency selection.
4 different colour markers. Each trace has 1 marker associated with it. Markers can be set to normal, delta, or one of the four largest peaks with a selectable threshold.
The selected marker(s) can be set to sweep start frequency with a button, or can be draggged to any desired frequency.
All standard pyqtgraph features, selectable by right-click on the graph display, including:
Export as CSV, HDF5, Image file of various types, Matplotlib window, SVG
3D spectrum with measurements over time represented as a surface plot. Can be clicked/zoomed/dragged/rotated using the mouse and with the control buttons.
The 3D spectrum can be enabled/disabled on its tab page. Disabled by default.
Trace and marker settings are saved when the programme is closed and restored when opened.
The 'band' frequencies can be edited and made visible or hidden in the preferences menu.
The signal level reminder lines can be made visible or hidden in the preferences menu.

qttinysa's People

Contributors

g4ixt avatar ho-ro avatar majortom9 avatar nemanjan00 avatar

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.