Difference: Hantek6022BEScope (3 vs. 4)

Revision 42017-03-14 - uli

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

The Hantek 6022BE Digital Storage Oscilloscope

Line: 40 to 40
 
pulseview.png

The above screen dump shows the trace read from the Hantek6022be when the probe is connected to the calibration pulse generator.

Added:
>
>

Some specs

Depending on the sampling rate the number of samples that can be read changes with the more samples the slower you sample. Here is a table showing the buffer size to be read back:

sampleSize.png

Bringing up openhantek

There are quite a few versions of openhantek floating around on the WEB. The latest one seems to be this one. It contains several branches with mr_split_gui_backend being the most interesting one.

The mr_split_gui_backend branch of openhantek separates out the GUI into qml files and I therefore first try to only bring the GUI onto the screen forgetting about the functionality, which is implemented in C++ code. The qmlscene utility allows to do exactly this.

Using qmlscene I see that the menu bar does not come up. The error is this:

appmenu-qt: handleReparent 138 The given QWindow has no QMenuBar assigned

It turns out that this is a bug on my Ubuntu system which can be avoided by setting UBUNTU_MENUPROXY to the empty string.

Not only is the GUI separated from the rest of the code but also hardware access is split into a number of libraries, one for each type of device. We therefore have

  • libDemoDevice: this one generates a sine wave with which the program can be tested and therefore does not need any hardware

  • libOpenHantek2xxx-5xxx: this is the access code for the more expensive Hantek scopes

  • libOpenHantek60xx: this is the library of access code we are interested in. It is based on hantek driver mentioned earlier.

In addition to these libraries there are two more:
  • libusbDSO containing the access routines to USB which are common to all scopes (except of the demoDevice of course)

  • libPostprocessingDSO which contains code for post process the traces including FFTs.

Graeff’s version of openhantek is based on cmake, which unfortunately I don’t know well enough. To get started I converted back to qmake and created a qtcreator project with all openhantek code. Neither Graeff’s original project nore my qtcreator project did compile out of the box but needed several corrections to get it working.

When I finally get the everything compiled and linked I see this when running openhantek for the first time:

openhantek1.png

Of course it is normal that it does not find any Hantek scope as long as noting is connected to the PC. I first want to get the demoDevice working and when selecting it, this is what I see (after quite a bit of further debugging):

After some modifications of the GUI, some additions etc. the mr_split_gui_backend shows essentially the same GUI as the original openhantek version except that the opengl widget for display of the traces is replaced by the qtquickplot widget. Unfortunately also the sliders for the trigger level, offset adjustment and cursors are missing.

qmlGUI.png

For comparison, this is how the original GUI looks like:

demoDevice.png

Basic components of OpenHantek

As explained above, the new openhantek program (called openhantek2 in git) is missing a lot the the GUI elements needed to run the scope. On the other hand it nicely separates the scope functionality putting it into libraries.

It has the additional advantage that the demo device, which simply generates a sine wave (with some noise added) and a triangular signal, can be used for all GUI testing such that the hardware is not needed for most of the work.

The original openhantek program on the other hand has all necessary GUI elements. I therefore decided to try combining both, using the libraries from the new program and the GUI from the old one. The screen dump above shows the demo device with the old GUI.

  -- Uli Raich - 2017-01-24
Line: 52 to 98
 
META FILEATTACHMENT attachment="pulseview.png" attr="" comment="pulseview" date="1485291051" name="pulseview.png" path="pulseview.png" size="52022" user="uli" version="1"
META FILEATTACHMENT attachment="Hantek6022be.png" attr="" comment="" date="1486657922" name="Hantek6022be.png" path="Hantek6022be.png" size="1208911" user="uli" version="1"
META FILEATTACHMENT attachment="windowsSoft.png" attr="" comment="" date="1486813598" name="windowsSoft.png" path="windowsSoft.png" size="107144" user="uli" version="1"
Added:
>
>
META FILEATTACHMENT attachment="sampleSize.png" attr="" comment="" date="1489494982" name="sampleSize.png" path="sampleSize.png" size="16688" user="uli" version="1"
META FILEATTACHMENT attachment="qmlGUI.png" attr="" comment="" date="1489495509" name="qmlGUI.png" path="qmlGUI.png" size="110599" user="uli" version="1"
META FILEATTACHMENT attachment="openhantek1.png" attr="" comment="" date="1489495534" name="openhantek1.png" path="openhantek1.png" size="40085" user="uli" version="1"
META FILEATTACHMENT attachment="demoDevice.png" attr="" comment="" date="1489495544" name="demoDevice.png" path="demoDevice.png" size="93712" user="uli" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback