Coder Social home page Coder Social logo

lifeholy / openhantek6022 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openhantek/openhantek6022

0.0 0.0 0.0 53.23 MB

OpenHantek6022 is a DSO software for Hantek USB digital signal oscilloscopes 6022BE / BL. Development OS is Linux, but the program also works on FreeBSD, MacOS and Windows.

License: Other

CMake 3.31% C 0.62% C++ 95.22% Python 0.84%

openhantek6022's Introduction

OpenHantek6022

Stability: Active GitHub release (latest by date) GitHub Release Date

GitHub commits since latest release Build status CodeFactor

OpenHantek6022 is a free software for Hantek and compatible (Voltcraft/Darkwire/Protek/Acetech) USB digital signal oscilloscopes. It was initially developed by David Gräff and others on github.com/OpenHantek/openhantek. After David stopped maintaining the programm I cloned the repo to provide updates - but only for Hantek 6022BE/BL.

Image of main window on linux

  • Supported devices:
  • Hantek 6022BE and 6022BL as well as compatible scopes (e.g. Voltcraft DSO-2020).
  • SainSmart DDS120 (thx msiegert) - this device has a different analog front end and uses the slightly improved sigrok firmware, which has some limitations compared to the Hantek scopes (see #69).
  • Demo mode is provided by the -d or --demoMode command line option.
  • Fully supported operating system: Linux; developed under debian stable for amd64 architecture.
  • Raspberry Pi packages (raspbian stable) are available on the Releases page, check this setup requirement.
  • Compiles under FreeBSD (packaging / installation: work in progress, thx tspspi).
  • Other operating systems builds: Windows (partly tested) & macOS (untested).
  • Uses free open source firmware, no longer dependent on nonfree Hantek firmware.
  • Extensive User Manual with technical specs and schematics.

Features

  • Voltage and Spectrum view for all device supported chanels.
  • CH1 and CH2 name becomes red when input is clipped (bottom left).
  • Settable probe attenuation factor 1..1000 to accommodate a variety of different probes.
  • Measure and display Vpp, DC (average), AC, RMS and dB (of RMS) values as well as frequency of active channels.
  • Display the power dissipation for a load resistance of 1..1000 Ω (optional, can be set in Oscilloscope/Settings/Analysis).
  • Math channel modes: CH1+CH2, CH1-CH2, CH2-CH1, CH1*CH2 and AC part of CH1 or CH2.
  • Time base 10 ns/div .. 10 s/div.
  • Sample rates 10, 20, 50, 100, 200, 500 kS/s, 1, 2, 5, 10, 12, 15, 24, 30 MS/s (24 & 30 MS/s in CH1-only mode).
  • 48 MS/s not supported due to unstable USB data streaming.
  • Downsampling (up to 200x) increases resolution and SNR.
  • Calibration output square wave signal frequency can be selected between 50 Hz .. 100 kHz in 1/2/5 steps.
  • Trigger modes: Normal, Auto and Single with green/red status display (top left).
  • Untriggered Roll mode can be selected for slow time bases of 200 ms/div .. 10 s/div.
  • Trigger filter HF (trigger also on glitches), Normal and LF (for noisy signals).
  • Calibration values loaded from eeprom or a model configuration file.
  • Calibration program to create these values automatically.
  • Digital phosphor effect to notice even short spikes; simple eye-diagram display with alternating trigger slope.
  • Histogram function for voltage channels on right screen margin.
  • A zoom view with a freely selectable range.
  • Cursor measurement function for voltage, time, amplitude and frequency.
  • Export of the graphs to CSV, JPG, PNG file or to the printer.
  • Freely configurable colors.
  • Automatic adaption of iconset for light and dark themes.
  • The dock views on the main window can be customized by dragging them around and stacking them. This allows a minimum window size of 640*480 for old workstation computers.
  • All settings can be saved to a configuration file and loaded again.
  • French, German, Russian and Spanish localisation complete, Italian and Portuguese translation ongoing.

AC coupling

Building OpenHantek from source

You need the following software, to build OpenHantek from source:

  • CMake 3.5+
  • Qt 5.4+
  • FFTW 3+ (prebuild files will be downloaded on windows)
  • libusb-1.0, version >= 1.0.16 (prebuild files will be used on windows)
  • A compiler that supports C++11 - tested with gcc, clang and msvc

We have build instructions available for Linux, Raspberry Pi, FreeBSD, Apple macOS and Microsoft Windows.

Install prebuilt binary

  • Download Linux, Raspberry Pi, macOS and Windows packages from the Releases page. (The RPi, macOS and Windows packages are not tested, neither is the installation of the *.rpm packages. For RPi4 see also issue #28.)
  • If you want to follow ongoing development, packages built from the last commit are available in the unstable release.
  • As I develop on a Debian stable system the preferred (native) package format is *.deb.
  • To install the downloaded *.deb package, open a terminal window, go to the download directory and enter the command (as root) apt install ./openhantek_..._amd64.deb. This command will automatically install all dependencies of the program as well.
  • For installation of *.rpm packages follow similar rules, e.g. dnf install ./openhantek-...-1.x86_64.rpm.
  • The *.tar.gz achives contain the same files as the *.deb and *.rpm packages for quick testing - do not use for a permanent intallation. Do not report any issues about the *.tar.gz!
  • Get macOS packages from macports - thx ra1nb0w.
  • Get Fedora rpm packages - thx Vascom.
  • Download (untested) builds from last commit. Select the preferred Image and go to Artifacts.

Run OpenHantek6022

On a Linux system start the program via the menu entry OpenHantek (Digital Storage Oscilloscope) or from a terminal window as OpenHantek.

You can explore the look and feel of OpenHantek6022 without the need for real scope hardware by running it from the command line as: OpenHantek --demoMode.

OpenHantek6022 runs also on legacy HW/SW that supports at least OpenGL 2.1+ or OpenGL ES 1.2+. OpenGL is preferred, select OpenGL ES by starting OpenHantek from the command line like this: OpenHantek --useGLES.

Raspberry Pi uses OpenGL ES automatically, check also the graphics driver setup.

USB access for the device is required (unless using demo mode):

  • On Linux, you need to copy the file utils/udev_rules/60-hantek.rules to /etc/udev/rules.d/ or /lib/udev/rules.d/ and replug your device. If OpenHantek is installed from a *.deb or *.rpm package this file is installed automatically into /lib/udev/rules.d/.

Windows USB access

Important!

The scope doesn't store the firmware permanently in flash or eeprom, it must be uploaded after each power-up and is kept in ram 'til power-down. If the scope was used with a different software (old openhantek, sigrok or the windows software) the scope must be unplugged and replugged one-time before using it with OpenHantek6022 to enable the automatic loading of the correct firmware. The top line of the program must display the correct firmware version (FW0207).

Specifications, features, limitations and developer documentation

I use this project mainly to explore how DSP software can improve and extend the limitations of this kind of low level hardware. It would have been easy to spend a few bucks more to buy a powerful scope - but it would be much less fun :) Please refer also to the developer documentation pages.

Contribute

We welcome any reported GitHub issue if you have a problem with this software. Send us a pull request for enhancements and fixes. Some random notes:

  • Read how to properly contribute to open source projects on GitHub.
  • Create a separate branch other than master for your changes. It is not possible to directly commit to master on this repository.
  • Write good commit messages.
  • Use the same coding style and spacing -> install clang-format and use make target: make format or execute directly: clang-format -style=file -i *.cpp *.h.
  • It is mandatory that your commits are Signed-off-by:, e.g. use git's command line option -s to append it automatically to your commit message: git commit -s -m 'This is my good commit message'
  • Open a pull request with a clear title and description.
  • Read Add a new device if you want to know how to add a device.
  • We recommend QtCreator as IDE on all platforms. It comes with CMake support, a decent compiler, and Qt out of the box.

Other DSO open source software

Other related software

  • HScope for Android A one-channel basic version is available free of charge (with in-app purchases).

openhantek6022's People

Contributors

ho-ro avatar oliverhaag avatar dendvz avatar davidgraeff avatar drothlis avatar davidrisch avatar viktorxda avatar jm-o avatar fabiobaltieri avatar klemens avatar tspspi avatar stapelberg avatar vascom avatar eagafonov avatar bobafetthotmail avatar gjedeer avatar sanddorn avatar phmarek avatar wmanley avatar coozoo avatar phoyd avatar ra1nb0w avatar saogalde avatar swkim01 avatar wavelet2 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.