Git Product home page Git Product logo

openhantek's Introduction

OpenHantek Build Status Build status Stability: Unsupported

OpenHantek is a free software for Hantek and compatible (Voltcraft/Darkwire/Protek/Acetech) USB digital signal oscilloscopes.

Image of main window on linux Image of main window on Windows
  • Supported operating systems: Linux, MacOSX, Windows¹, Android
  • Supported devices: DSO2xxx Series, DSO52xx Series, 6022BE/BL

Features

  • Digital phosphor effect to notice even short spikes
  • Voltage and Spectrum view for all device supported chanels
  • Math channel with these modes: Ch1+Ch2, Ch1-Ch2
  • Freely configurable colors
  • Export to CSV, JPG, PNG or print the graphs
  • Supports hardware and software triggered devices
  • A zoom view with a freely selectable range
  • All settings can be saved to a configuration file and loaded again
  • Multiple instances with a different device each can be started
  • 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.

Install prebuilt binary

Navigate to the Releases page.

Building OpenHantek from source

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

We have build instructions available for Linux, Apple MacOSX and Microsoft Windows.

Run OpenHantek

You need an OpenGL 3.2+ or OpenGL ES 2.0+ capable graphics hardware for OpenHantek. OpenGL is prefered, if available. Overwrite this behaviour by starting OpenHantek from the command line like this: OpenHantek --useGLES.

USB access for the device is required:

  • As seen on the Microsoft Windows build instructions page, you need a special driver for Windows systems.
  • On Linux, you need to copy the file firmware/60-hantek.rules to /lib/udev/rules.d/ and replug your device.

Specifications, Features and limitations

Please refer to the Specifications, Features, Limitations page.

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:

Other DSO open source software

openhantek's People

Contributors

bobafetthotmail avatar coozoo avatar davidgraeff avatar dendvz avatar drothlis avatar eagafonov avatar fabiobaltieri avatar gjedeer avatar ho-ro avatar klemens avatar kulturnilpferd avatar oliverhaag avatar phmarek avatar phoyd avatar ra1nb0w avatar ryandesign avatar sanddorn avatar saogalde avatar stapelberg avatar swkim01 avatar vascom avatar viktorxda avatar wavelet2 avatar wmanley avatar

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  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

openhantek's Issues

Cannot compile without cloning

If I just download the source code and try to compile (32-bit Ubuntu 16.04), cmake fails with the output below.

The downloadable source code is not a git repository, and you disallow cloning - which makes it difficult to overcome this problem.

If I create a git repository in the source directory, this solves the problem.

`
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
CMake Error at cmake/CPackInfos.cmake:28 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:29 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:30 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:31 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:32 (list):
list GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

-- Configuring incomplete, errors occurred!
See also "/home/shalom/build/openhantek-untagged-de67b19b854308c333b9/build/CMakeFiles/CMakeOutput.log".
See also "/home/shalom/build/openhantek-untagged-de67b19b854308c333b9/build/CMakeFiles/CMakeError.log".
`

Unite all OpenHantek efforts

Does not work with DSO-2250

$ openhantek
Warning: This Hantek DSO model isn't supported officially, so it may not be working as expected. Reports about your experiences are very welcome though (Please open a feature request in the tracker at https://sf.net/projects/openhantek/ or email me directly to [email protected]). If it's working perfectly I can remove this warning, if not it should be possible to get it working with your help soon.
Getting capture state failed: Operation timed out
Getting capture state failed: Operation timed out

=======my_OS: http://www.calculate-linux.ru/ ================================

$ uname -a 
Linux usern 4.4.1-calculate #1 SMP PREEMPT Fri Feb 12 15:13:56 MSK 2016 x86_64 AMD A4-5000 APU with Radeon(TM) HD Graphics AuthenticAMD GNU/Linux

я изменил файл udev:

# cat /etc/udev/rules.d/90-hantek-2250.rules 

# Hantek DSO-2250
#SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="4b4/2250/*", RUN+="/sbin/fxload -t fx2 -I @hantekfirmwaredir@/dso2250-firmware.hex -s @hantekfirmwaredir@/dso2250-loader.hex -D $env{DEVNAME}"
#SYSFS{idVendor}=="04b5", SYSFS{idProduct}=="2250", MODE="0660", GROUP="plugdev"


SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="4b4/2250/*", RUN+="/sbin/fxload -t fx2 -I /usr/local/share/hantekdso/DSO2250_firmware.hex -s /usr/local/share/hantekdso/DSO2250_loader.hex -D $env{DEVNAME}"
ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="2250", MODE="0660", GROUP="plugdev"


# lsusb 
Bus 002 Device 002: ID 0bda:5775 Realtek Semiconductor Corp. HP "Truevision HD" laptop camera
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 003: ID 04b5:2250 ROHM LSI Systems USA, LLC 
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


# ls -l /dev/bus/usb/005/003 
crw-rw---- 1 root plugdev 189, 514 фев 14 12:58 /dev/bus/usb/005/003

=========without udev rule for 2250========================================

# lsusb
Bus 002 Device 002: ID 0bda:5775 Realtek Semiconductor Corp. HP "Truevision HD" laptop camera
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 004: ID 04b4:2250 Cypress Semiconductor Corp. 
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


# ls -l /dev/bus/usb/005/004 
crw-rw-r-- 1 root usb 189, 515 фев 14 14:47 /dev/bus/usb/005/004

http://www.hantek.com.cn/down.aspx?url=http%3a%2f%2fwww.hantek.com%2fProduct%2fDSO2000%2fDSO2250_Driver.zip

# unzip -l DSO2250_Driver.zip 
Archive:  DSO2250_Driver.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  12-18-2014 09:21   DSO2250_Driver/
    27464  09-25-2014 09:02   DSO2250_Driver/DSO2250AMD641.sys
    45768  09-25-2014 09:02   DSO2250_Driver/DSO2250AMD642.sys
    41288  09-25-2014 09:02   DSO2250_Driver/DSO2250IA641.sys
   123720  09-25-2014 09:02   DSO2250_Driver/DSO2250IA642.sys
    10250  09-25-2014 09:02   DSO2250_Driver/dso2250usb.cat
     5188  09-25-2014 09:00   DSO2250_Driver/dso2250usb.inf
    23888  09-25-2014 09:02   DSO2250_Driver/Dso2250x861.sys
    25544  09-25-2014 09:02   DSO2250_Driver/Dso2250x862.sys
---------                     -------
   303110                     9 files

~/openhantek/openhantek-extractfw $ ./openhantek-extractfw ../DSO2250_Driver/DSO2250AMD641.sys 
BFD: ../DSO2250_Driver/DSO2250AMD641.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
BFD: ../DSO2250_Driver/DSO2250AMD641.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .rdata
BFD: ../DSO2250_Driver/DSO2250AMD641.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
BFD: ../DSO2250_Driver/DSO2250AMD641.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .pdata
Section .data found (starting at 0x1e80, 9784 bytes)
Symbol _firmware found (offset 0xffffffffffffe180, 0 bytes)
Symbol _loader found (offset 0xffffffffffffe180, 9784 bytes)
Can't get firmware contents: Bad value


~/openhantek/openhantek-extractfw $ ./openhantek-extractfw ../DSO2250_Driver/DSO2250IA641.sys 
bfd_check_format: File format not recognized


~/openhantek/openhantek-extractfw $ ./openhantek-extractfw ../DSO2250_Driver/Dso2250x861.sys 
BFD: ../DSO2250_Driver/Dso2250x861.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
BFD: ../DSO2250_Driver/Dso2250x861.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
Section .data found (starting at 0x08a0, 9504 bytes)
Symbol _firmware found (offset 0x0000, 8184 bytes)
Symbol _loader found (offset 0x1ff8, 1320 bytes)
Saving firmware as ../DSO2250_Driver/dso2250x86-firmware.hex
Saving loader as ../DSO2250_Driver/dso2250x86-loader.hex

building from source, Ubuntu 16.04

hi,
I was struggling with the build process on Ubuntu 16.04,
I got this error:

CMake Error at openhantek/CMakeLists.txt:3 (find_package):
  By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5Widgets", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5Widgets" with
  any of the following names:

    Qt5WidgetsConfig.cmake
    qt5widgets-config.cmake

  Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
  "Qt5Widgets_DIR" to a directory containing one of the above files.  If
  "Qt5Widgets" provides a separate development package or SDK, be sure it has
  been installed.

It looks like I need to install also:
sudo apt-get install qttools5-dev

And the install location looks quite weird:

sudo make install
[  4%] Automatic moc, uic and rcc for target OpenHantek
[  4%] Built target OpenHantek_automoc
[100%] Built target OpenHantek
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /usr/local/./ChangeLog
-- Installing: /usr/local/./COPYING
-- Installing: /usr/local/./readme.md
-- Installing: /usr/local/./OpenHantek
-- Installing: /usr/local/images/openhantek.png
-- Installing: /usr/local/images/analysis.png
-- Installing: /usr/local/images/scope.png
-- Installing: /usr/local/images/options.png
-- Installing: /usr/local/images/colors.png
-- Installing: /usr/local/images/files.png
-- Installing: /usr/local/images/stop.png
-- Installing: /usr/local/images/start.png
-- Installing: /usr/local/images/print.png
-- Installing: /usr/local/images/save.png
-- Installing: /usr/local/images/digitalphosphor.png
-- Installing: /usr/local/images/open.png
-- Installing: /usr/local/images/zoom.png
-- Installing: /usr/local/images/save-as.png
-- Installing: /usr/local/images/export-as.png
-- Installing: /usr/local/images/cursors.png
-- Installing: /usr/local/images/openhantek.icns
-- Installing: /usr/local/images/analysis.svg
-- Installing: /usr/local/images/options.svg
-- Installing: /usr/local/images/digitalphosphor.svg
-- Installing: /usr/local/images/openhantek.svg

Best regards,
Paweł

No probe settings?

There is no setting for the probes (x1, x10 etc) yet?

Would be just a dropdown menu and a multiplication of the grid units?

DSO5000P support ?

Hi, this is more of a question then an issue.
Can the OpenHantek interact with the DSO5000P, since the default app is windows only, I would like to use linux with the scope, and perform captures and store in the pc ...

Thanks,
BC,mc

Problems building extractfw what gives?!

I can't build the extract tool for the life of me:
[root@Jeff-PC openhantek-extractfw]# ./configure
bash: ./configure: No such file or directory

root@Jeff-PC openhantek-extractfw]# make
make: *** No targets specified and no makefile found. Stop.

I followed the instructions exactly, what am I doing wrong?

Also, the fwget tool is bunged up as the BASEURL has moved locations. The tool does not work.

Can someone please help me?

Store firmware files in repository, wait for hantek response

The mail content send to [email protected]:

Dear Sir or Madam,

I kindly ask you for permission to store the firmware of some of your older devices
"DSO-2090", "DSO-2150", "DSO-2250", "DSO-5200", "DSO-5200A" but also one
of your current ones ("DSO-6022BL/BE") in a public accessible way (say for example github.com).

This would reduce maintainance costs and improve usability of our open source
software "OpenHantek" (https://github.com/OpenHantek/openhantek, http://openhantek.org/),
which exists because your original software does not run within Linux and MacOSX.
The software is GPLv3 licensed and therefore will not be used for commercial purposes.

We would love to make the software compatible to even more of your DSOs and it would
be great to have your permission for storing all necessary binary data for also all in the future
supported DSO models in our git repository.

If you are interested in a faster development speed for this software, that allows Linux and MacOSX
users to be (non-official) customers of yours, you may think about providing us access to
usb protocol documentation. But this is not required.

Thanks,
David Graeff

Zero reference point not moving DSO-2090USB

I recently got a DSO-2090USB, but when taking measurements, the zero reference line always seems to stay at the bottom of the screen, no matter where i put the channel's zero reference point.
Maybe i'm doing something wrong, because it also happens in the official windows software.
https://youtu.be/KSA2VSFkci0

Anyone got a clue on what the problem might be?

Time base error in Openhantek ?

Comparing same signal display (1kHz, 2V from Hantek 6022BE Probe) with
1-Win7 Open6022BE_1_0_Beta18, looks right .... 996µs
hantekprobe_open6022be
2-Linux Ubuntu Openhantek , looks wrong ... 10µs and 100.30kHz !
hantekprobe_openhantek
The question is : where in the code this could be changed, or the firmware is in doubt ?
Thanks

Unable to install - make command fails

It outputs
newtonis@newtonis-B85M-DS3H:~/OpenHantek-openhantek-48d6e64$ make
gcc -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iopenhantek/src -Iopenhantek/src/hantek -I. -o extractfw.o openhantek-extractfw/extractfw.c openhantek-extractfw/extractfw.c:31:17: fatal error: bfd.h: No such file or directory compilation terminated. Makefile:383: recipe for target 'extractfw.o' failed make: *** [extractfw.o] Error 1

I installed all the dependencies listed with no errors. I'm running Ubuntu GNOME 15.10

fftw issues during installation

hi I've got the following errors during installation.
what version of fftw should I use?

usr@pc:~/Downloads/OpenHantek-openhantek-6a7a942/build$ cmake ../
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found libusb: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found FFTW: /usr/lib/x86_64-linux-gnu/libfftw3.so
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
CMake Error at cmake/CPackInfos.cmake:28 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:29 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:30 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:31 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:32 (list):
list GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

-- Configuring incomplete, errors occurred!

having trouble with 'make install' ubuntu 16.04

hi, i am very new to ubuntu and code in general. i have been installing openhantek. i have been following the install instructions. when i type the make install command i get this error response.

cail@AkHaruCailness:/Downloads/openhantek$ make install
install -m 755 -p "bin/openhantek" "/usr/local/bin/openhantek"
install: cannot create regular file '/usr/local/bin/openhantek': Permission denied
Makefile:558: recipe for target 'install_target' failed
make: [install_target] Error 1 (ignored)
strip "/usr/local/bin/openhantek"
strip: '/usr/local/bin/openhantek': No such file
Makefile:558: recipe for target 'install_target' failed
make: [install_target] Error 1 (ignored)
mkdir: cannot create directory ‘/usr/local/share/apps’: Permission denied
Makefile:568: recipe for target 'install_translations' failed
make: *** [install_translations] Error 1
cail@AkHaruCailness:
/Downloads/openhantek$

What am i doing incorrectly?
thanks in advance

make install error: multiple definition

Hi,
I use Linux Mint 17.
When cmake-gui finished (with no error) i tried make install but got error:

$ make install
Scanning dependencies of target OpenHantek_automoc
[ 4%] Automatic moc, uic and rcc for target OpenHantek
Generating moc_colorbox.cpp
Generating moc_configdialog.cpp
Generating moc_configpages.cpp
Generating moc_dataanalyzer.cpp
Generating moc_dockwindows.cpp
Generating moc_dsocontrol.cpp
Generating moc_dsowidget.cpp
Generating moc_exporter.cpp
Generating moc_glgenerator.cpp
Generating moc_glscope.cpp
Generating moc_control.cpp
Generating moc_device.cpp
Generating moc_levelslider.cpp
Generating moc_openhantek.cpp
Generating moc_settings.cpp
Generating moc_sispinbox.cpp
[ 4%] Built target OpenHantek_automoc
Scanning dependencies of target OpenHantek
[ 8%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/colorbox.cpp.o
[ 12%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/hantek/control.cpp.o
[ 16%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/hantek/device.cpp.o
[ 20%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/hantek/types.cpp.o
[ 25%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/dso.cpp.o
[ 29%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/settings.cpp.o
[ 33%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/helper.cpp.o
[ 37%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/levelslider.cpp.o
[ 41%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/main.cpp.o
[ 45%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/glscope.cpp.o
[ 50%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/dockwindows.cpp.o
[ 54%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/configdialog.cpp.o
[ 58%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/exporter.cpp.o
[ 62%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/glgenerator.cpp.o
[ 66%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/sispinbox.cpp.o
[ 70%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/configpages.cpp.o
[ 75%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/openhantek.cpp.o
[ 79%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/dataanalyzer.cpp.o
[ 83%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/dsocontrol.cpp.o
[ 87%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/dsowidget.cpp.o
[ 91%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/OpenHantek_automoc.cpp.o
[ 95%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/qrc_configdialog.cpp.o
[100%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/qrc_application.cpp.o
Linking CXX executable OpenHantek
CMakeFiles/OpenHantek.dir/qrc_application.cpp.o: In function qInitResources()': /home/mors/openhantek/build/openhantek/qrc_application.cpp:1131: multiple definition of qInitResources()'
CMakeFiles/OpenHantek.dir/qrc_configdialog.cpp.o:/home/mors/openhantek/build/openhantek/qrc_configdialog.cpp:843: first defined here
CMakeFiles/OpenHantek.dir/qrc_application.cpp.o: In function qCleanupResources()': /home/mors/openhantek/build/openhantek/qrc_application.cpp:1140: multiple definition of qCleanupResources()'
CMakeFiles/OpenHantek.dir/qrc_configdialog.cpp.o:/home/mors/openhantek/build/openhantek/qrc_configdialog.cpp:852: first defined here
CMakeFiles/OpenHantek.dir/src/main.cpp.o: In function main': /home/mors/openhantek/openhantek/src/main.cpp:37: undefined reference to qInitResources_application()'
collect2: error: ld returned 1 exit status
make[2]: *** [openhantek/OpenHantek] Error 1
make[1]: *** [openhantek/CMakeFiles/OpenHantek.dir/all] Error 2
make: *** [all] Error 2

I have qt4 and qt5 installed together. Maybe problem in this?

Can anyone help me with it?
Thanks!

Ubuntu 14.04 LTS 32bits make errors

My System Software / Hardware Information

Hardware:
Processor: Intel Core 2 6300 @ 1.87GHz (2 Cores),
Motherboard: Gigabyte 965P-DS3,
Chipset: Intel 82P965/G965 + ICH8/R,
Memory: 8192MB,
Disk: 500GB Western Digital WD5000BPKT-0,
Graphics: eVGA NVIDIA GeForce GT 610 2048MB,
Audio: Realtek ALC888,
Monitor: SyncMaster P2370, Native Resolution: 1920x1080
Network: Marvell 88E8056 PCI-E Gigabit

Software:
OS: Ubuntu 14.04,
Kernel: 3.13.0-91-generic (i686),
Desktop: Unity 7.2.6,
Display Server: X Server 1.15.1,
Display Driver: nouveau 1.0.10,
OpenGL: 3.3
Mesa 10.1.3 Gallium 0.4,
Compiler: GCC 4.8 + Clang 3.4-1ubuntu3,
File-System: ext4, Screen

Using:
binutils-dev 2.24-5ubuntu i386 GNU binary utilities (BFD developm
cmake 2.8.12.2-0ub i386 cross-platform, open-source make s
libfftw3-dev:i 3.3.3-7ubunt i386 Library for computing Fast Fourier
libusb-1.0-0-d 2:1.0.17-1ub i386 userspace USB programming library
qttools5-dev-t 5.2.1-8build i386 Qt 5 development tools
autoconf 2.69-6 all automatic configure script builder
automake 1:1.14.1-2ub all Tool for generating GNU Standards-
build-essentia 11.6ubuntu6 i386 Informational list of build-essent
subversion 1.8.8-1ubunt i386 Advanced version control system
unrar 1:5.0.10-1ub i386 Unarchiver for .rar files (non-fre

The git clone was downloaded and extracted in the home: ~/openhantek/

I had to edit CMakeLists.txt and remove:
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
and use:
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)

and also I changed this (but I believe does not matter much):

C++11: Workaround for cmake < 3.1 with no target_compile_features support.

if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

# Patch for Ubuntu 14.04 LTS with cmake 2.8.12
################################################
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)

# Find the QtWidgets library
find_package(Qt5Widgets)

set(CMAKE_CXX_STANDARD 14)
#end patch
################################################

endif()

than cmake ../ worked but make failed.

:~/openhantek/build$ make
[ 4%] Automoc for target OpenHantek
[ 4%] Built target OpenHantek_automoc
Linking CXX executable OpenHantek
CMakeFiles/OpenHantek.dir/src/main.cpp.o: In function "main":
~/openhantek/openhantek/src/main.cpp:37: undefined reference to "qInitResources_application()"
collect2: error: ld returned 1 exit status
make[2]: *** [openhantek/OpenHantek] Error 1
make[1]: *** [openhantek/CMakeFiles/OpenHantek.dir/all] Error 2
make: *** [all] Error 2

When I removed the line with: Q_INIT_RESOURCE(application); from main.cpp the make completed and the executable was created,

make
[ 4%] Automoc for target OpenHantek
[ 4%] Built target OpenHantek_automoc
[ 4%] Built target OpenHantek

(only 4% ?!?!? but executable is created)

but when I run it the device clicks once and I get the following output (gui crashes):

~/openhantek/build/openhantek$ ./OpenHantek

Version
QObject::connect: No such slot OpenHantekMainWindow::sendCommand()
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Hantek::Control(0x963d928), parent's thread is QThread(0x94f47c8), current thread is Hantek::Control(0x963d928)
01:36:55.138: Sending bulk command: 07 00 00 00 00 00 00 00
01:36:55.139: Sending bulk command: 0b 00 00 00
01:36:55.140: Sending bulk command: 0c 00 02 00 00 00 00 00
01:36:55.141: Sending bulk command: 0d 00 01 00
01:36:55.142: Sending bulk command: 0e 00 02 00 30 fc 00 00
01:36:55.143: Sending bulk command: 0f 00 ff ff 07 00 ff d7 07 00
01:36:55.143: Sending control command b4: 00 4f 00 5f 00 7f 00 00 00 00 00 00 00 00 00 00 00
01:36:55.191: Sending control command b5: 00 04 08 fd 20 40 ef 01 00 00 00 00 00 00 00 00 00
Segmentation fault (core dumped)

I need help.

6022BE - Wrong voltage level - Issues with changing trigger mode

Hello,

First of all, sorry if I'm reporting a know issue or if I've missed any step.

I'm following the steps in README.

After loading the firmware (by udev plugdev), Openhantek is apparently working fine. Both probes are meassuring.

However, it seems the maximum voltage level I can meassure is around 2.5Volts (I've checked with a 5VDC power supply and I'm pretty confident it's around 5VDC; I have confirmed its voltage level with a multimeter).

The scope is working fine, because it works fine with the Windows software.

Additionnally, with trigger in AUTO mode, it's apparently working fine. But when in normal mode or single, going back to AUTO does not work.

I can reproduce this issue with both the tar.gz packange in openhantek.org. And with the latest source in master (commit 0ce9ae3).

Additionnally, I've tried to generate the firmware hex files from the .sys drivers in the CD-ROM by compiling the extract-fw tool. but I get:
Can't get firmware contents: Bad value

Thanks a lot in advance.

Best regards,
Ricardo

gamaleyvv

Prebuilt binary in deb package install binary to /usr directory. May be install to /usr/bin drectory?

OpenHantek master does not compile

I'm trying to compile OpenHantek on Ubuntu (both the master and the downloadable zip archive) and get the following errors during make :

/home/labor/Asztal/OpenHantek-openhantek-6026fd6/openhantek/src/main.cpp: In function ‘int main(int, char**)’:
/home/labor/Asztal/OpenHantek-openhantek-6026fd6/openhantek/src/main.cpp:45:70: error: ‘QMAKE_TRANSLATIONS_PATH’ was not declared in this scope
  openHantekTranslator.load("openhantek_" + QLocale::system().name(), QMAKE_TRANSLATIONS_PATH);
                                                                      ^
CMakeFiles/OpenHantek.dir/build.make:215: recipe for target 'CMakeFiles/OpenHantek.dir/src/main.o' failed
make[2]: *** [CMakeFiles/OpenHantek.dir/src/main.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/OpenHantek.dir/all' failed
make[1]: *** [CMakeFiles/OpenHantek.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

Can you help me solving this?

Big white square in GUI when deactivating toolbars

Hi everyone,
I came up with the following bug, which is happening in Qt5.7.0 in OSX Yosemite. When I deactivate all toolbars in OpenHantek and re-open the program, a big white square appears. This doesn't happen at the time when I deactivate all toolbars, but when I reopen the program with these settings. It can be easily solved by reactivating all toolbars again.

Normal screenshot
without_problem

Screenshot when error happening
big_square

Console log

saogalde@macpro: ~/Downloads/openhantek-master/build/openhantek$ ./OpenHantek
Version 
QObject::connect: No such slot OpenHantekMainWindow::sendCommand()
QWidgetWindow(0x7ffe02f30ed0, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f36da0, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f36e00, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f30ed0, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f36da0, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f36e00, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f36e00, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f36da0, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f30ed0, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7ffe02f36da0, name="QToolBarClassWindow") ( QScreen(0x7ffe02d1e1c0, name="Color LCD") ): Attempt to set a screen on a child window.

Add support for Qt 5

Most distros ship with Qt 5 and that's the default build environment used, when trying to build from sources.

It would be nice to have support for it.

Should that not be possible, I think it would be good to at least detect that the Qt version is different from the expected one (5 instead of 4), stop the build and generate a meaningful error message.

DSO-5200 calibrator signal not right

openhantek 2017-02-28 15-53-23.
testing openhantek ubuntu on DSO-5200.
the display seems to skip pulses when I test the calibrator signal available at the back (see attachment). I guess this is a firmware issue. I use the dso5200x86-firmware.hex and dso5200x86-loader.hex files I found on this site.
I want to try extracting the hex files from my working windows 10- 64 bit application, but I can't get the executable for extractfw. I try to compile the extractfw.c file, but got errors "undefined reference to bfd_xxx". I am not experienced in gcc though.
When this firmware issue is solved I 'd like to work on the sw. Can somebody help?

[email protected]

Build error on master: ‘struct Hantek::ControlSpecification’ has no member named ‘gainDiv’

Build error introduced in fc04859:

openhantek/src/hantek/control.cpp: In member function ‘virtual void Hantek::Control::connectDevice()’:
openhantek/src/hantek/control.cpp:943:25: error: ‘struct Hantek::ControlSpecification’ has no member named ‘gainDiv’
     this->specification.gainDiv
                         ^

May I humble suggest raising pull requests even for your own commits, to give Travis a chance to compile-test it?

Questions about Hantek DSO 2150

After downloading the newest Hantek-Driver from their website, which are Windows 8-compatible, I got a working firmware extracted with:

cp Dso2150x861.sys DSO21501.SYS
and
dsoextractfw

Openhantek 0.2.0 starts up with

sudo openhantek
Warning: This Hantek DSO model isn't supported officially, so it may not be working as expected. Reports about your experiences are very welcome though (Please open a feature request in the tracker at https://sf.net/projects/openhantek/ or email me directly to [email protected]). If it's working perfectly I can remove this warning, if not it should be possible to get it working with your help soon.
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Hantek::Control(0x16dce70), parent's thread is QThread(0x16593b0), current thread is Hantek::Control(0x16dce70)

The program shows, that the DSO 2150 is connected in the status line:
"Device found: Hantek DSO-2150 (002:013)"

I can measure the test signal of 1 kHz shown in the screenshot. I wonder why there is this much "interference", no clear line display.
Is it normal, that I have to change settings (e.g. samplerate or timebase or voltage for CH1) to get an updated view? There is no "live-view", when I disconnect the probe from the test-signal-port.

openhantek_1khz

Hantek 6022Bx support

Moving the Hantek 6022Bx related work from #6 here now.

Current work regarding the support can be found in the following repos:

Also related:
A 6022 libusb1.0 driver:
https://github.com/rpm2003rpm/HT6022_Driver
A cocoa (MacOSX) based GUI for the 6022 based on the driver:
https://github.com/SergeOkon/HT6022_OSX

More complete deb package

To make the debian package more "complete" and correct there are some file(INSTALL...) commands missing, all binaries should be installed to "bin", images to "share/openhantek" or similar etc. For debian and ubuntu the dependency names have to be figured out and added with one of the CPACK_ commands.

Theoretically we can also create a rpm, but again we have to work out the dependency names.

@drothlis CPack is used at the moment to create a debian package. Travis will issue the "package" target on every new tag and uploads all generated files in the package directory. I have no time for that right now, because i want to reintegrate parts of my other branch now. Would be cool if you look at this.

INSTRUSTAR and OpenHantek - possible?

Hello.
I have a USB oscilloscope INSTRUSTAR-205A (http://english.instrustar.com/).
Is it possible to work OpenHantek with him in theory?
What will it take to finalize? The name of the USB chip, ADC? The firmware supplied drivers (how to merge?)?
[Здравствуйте.
У меня USB осцилограф INSTRUSTAR-205A (http://english.instrustar.com/).
Возможна ли работа OpenHantek с ним в теории?
Что потребуется для доработки? Название чипа USB, ADC? Прошивка из поставляемых драйверов (как ее слить?)?]

Error while build branch mr_split_gui_backend

While building branch mr_split_gui_backend with cmake I obtain:

$ cmake ..
CMake Error at openhantek2/CMakeLists.txt:3 (add_subdirectory):
  The source directory

    /home/giovanni/progetti/hantek/openhantek/openhantek2/plot

  does not contain a CMakeLists.txt file.


-- Configuring incomplete, errors occurred!
See also "/home/giovanni/progetti/hantek/openhantek/build/CMakeFiles/CMakeOutput.log".
See also "/home/giovanni/progetti/hantek/openhantek/build/CMakeFiles/CMakeError.log".

Maybe @davidgraeff forgot to add a file?

compile on debian jessie fails

after some fiddeling around on another more default jessie system i got the software compiled (will document that later)

the firmware loader from:

compiled fine after adding some libraries

i "loaded" everything thats looks like firmware from the cd driver directory, but none seems to work.
or are those all warnings?

i bought the 6022BE online, maybe somebody can provide me with a older firmware?

./extractfw /home/julius/tmp/openhantek-code/Hantek6022BEAMD641.sys
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEAMD641.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEAMD641.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .rdata
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEAMD641.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEAMD641.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .pdata
Section .data found (starting at 0x1180, 10144 bytes)
Symbol _firmware found (offset 0xffffffffffffee80, 0 bytes)
Symbol _loader found (offset 0xffffffffffffee80, 10144 bytes)
Can't get firmware contents: Bad value

./extractfw /home/julius/tmp/openhantek-code/Hantek6022BEAMD642.sys
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEAMD642.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEAMD642.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .rdata
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEAMD642.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEAMD642.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .pdata
Section .data found (starting at 0x3500, 272 bytes)
Symbol _firmware found (offset 0xffffffffffffcb00, 0 bytes)
Symbol _loader found (offset 0xffffffffffffcb00, 272 bytes)
Can't get firmware contents: Bad value

ractfw# ./extractfw /home/julius/tmp/openhantek-code/Hantek6022BEIA641.sys
bfd_check_format: File format not recognized

./extractfw /home/julius/tmp/openhantek-code/Hantek6022BEIA642.sys
bfd_check_format: File format not recognized

./extractfw /home/julius/tmp/openhantek-code/Hantek6022BEX861.sys
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEX861.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEX861.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .rdata
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEX861.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
Section .data found (starting at 0x0c00, 9864 bytes)
Symbol _firmware found (offset 0xfffffffffffff400, 0 bytes)
Symbol _loader found (offset 0xfffffffffffff400, 9864 bytes)
Can't get firmware contents: Bad value

./extractfw /home/julius/tmp/openhantek-code/Hantek6022BEX862.sys
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEX862.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEX862.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .rdata
BFD: /home/julius/tmp/openhantek-code/Hantek6022BEX862.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
Section .data found (starting at 0x2780, 8 bytes)
Symbol _firmware found (offset 0xffffffffffffd880, 0 bytes)
Symbol _loader found (offset 0xffffffffffffd880, 8 bytes)
Can't get firmware contents: Bad value

cmake fails on Xubuntu

Running cmake ../ gives the following issue:

 By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5Widgets", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5Widgets" with
  any of the following names:

    Qt5WidgetsConfig.cmake
    qt5widgets-config.cmake

  Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
  "Qt5Widgets_DIR" to a directory containing one of the above files.  If
  "Qt5Widgets" provides a separate development package or SDK, be sure it has
  been installed.


-- Configuring incomplete, errors occurred!

dso3064 support

i would like to start with a friendly hello to the team :

are there any plans to support the hantek 4 channel units dso3064 and dso3064a ... i have one of them and use mostly kubuntu machines ... there is no room on my workbench and now i would have to place a schlepptop on it in addition

i took the code on github and didn't find any .pro qt project file, so i found an older one and started with it initially, it mostly compiled and so i used the .pro file on the current project and kept on working with it

the 3000 series doesn't load any firmware at startup and it took me a while to figure this out .... they update the firmware through a usb-host port which my early 3064 unit doesn't have ... i don't care about new firmware since it works right now

long story short : did some qt work in the last 2 years as well as some usb stuff, but i'm not an expert ... added some code to device and style files to partially recognize the new dso 3064, but that's about it.

wireshark shows some usb communication, but no action on the display ... also i didn't really try to fully implement the new device since i don't know all properties ... just gave it a try

a few comments if allowed ... your guys code prints some usb debug info to qt-creator (wasn't really aware of this ability or forgot it since i didn't use qt all the time), but if anyone runs it stand alone, cause they don't know qt and the ide, i believe they're out of luck

finally after i spent hours of going through the code in debug mode and google info help i figured out why i need the udev for usb permissions reason ... it slipped by me especially after i discovered i don't need to load firmware ... to overcome i added my independent debug console and you guys can have my code if interested and use it ... every one of my qt projects has this buffered debug console and i couldn't live without it
sorry, but i didn't spend the time to figure out where and when
"message = tr("Couldn't open device %1: %2").arg(deviceAddress, Helper::libUsbErrorString(errorCode));"
this would show up ... i never saw it pop up anywhere and any ... maybe i didn't look hard enough, especially without qt-creator always by your side

one would assume, that maybe to expand from 2 to 4 channels couldn't be that hard unless there is a mayor design mess in the hantek protocols i would be really interested in possibly contributing to it, but i would need maybe some write-up or similar about how this communication works or some initial help or whatever it might take for me to avoid finding it out the hard way to chew through unknown code to reverse something which is known to you guys, just the basics, i understand that u didn't work with the 3000 series yet

i'm a hw guy with mostly firmware work for the last 30 years, did some c++builder, qt and android since 2014 and now retired by age, but not by earned finances ... quite often u need more than 2 channels and hantek offers an affordable solution within less than $ 500 ... yeah it's not 200 MHz or more, but mostly it's not the speed, but the need for more channels and hantek provides a nice solution ... for $ 700 u can get a whole bunch of probes and current clamps, and for the money any clamp is a 100 % improvement over not having one, even it's not the greatest

i'm not the hithub expert even i had to use it in one of my scrum based slavery contract assignments in the past ... i can also be reached at [email protected]

sorry that i didn't follow the wireshark package details and the application output debug details, but i'm also working on some automotive sw designs of my own and try to supplement my income once they're production ready

i would be looking forward to maybe some working together to expand the current design to 4 channel support ... the gui part is not the issue, the usb package details or more the communication portion to the device is too hard and time-consuming to reverse from the existing code

cheers Klaus

wireshark
app-output
openhantek.zip

Building openhantek on Mac OS 10.12.4 fails.

Hi:
I'm trying to build openhantek on Mac OS 10.12.4, and the build fails. Here is the command line output:

freddiecBookPro:build freddie$ cmake ../ -DCMAKE_INSTALL_PREFIX=/Users/freddie/Desktop/OpenHantek/build/bin -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt/5.8.0_1 -- Configuring done -- Generating done -- Build files have been written to: /Users/freddie/Desktop/OpenHantek freddiecBookPro:build freddie$ make -j4 [ 4%] Automatic MOC, UIC and RCC for target OpenHantek [ 4%] Built target OpenHantek_autogen [ 20%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/helper.cpp.o [ 20%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/hantek/device.cpp.o [ 20%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/dataanalyzer.cpp.o [ 20%] Building CXX object openhantek/CMakeFiles/OpenHantek.dir/src/hantek/control.cpp.o /Users/freddie/Desktop/OpenHantek/openhantek/src/dataanalyzer.cpp:29:10: fatal error: 'fftw3.h' file not found #include <fftw3.h> ^ /Users/freddie/Desktop/OpenHantek/openhantek/src/helper.cpp:30:10: fatal error: 'libusb-1.0/libusb.h' file not found #include <libusb-1.0/libusb.h> ^ 1 error generated. make[2]: *** [openhantek/CMakeFiles/OpenHantek.dir/src/helper.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /Users/freddie/Desktop/OpenHantek/openhantek/src/hantek/device.cpp:28: /Users/freddie/Desktop/OpenHantek/openhantek/src/hantek/device.h:30:10: fatal error: 'libusb-1.0/libusb.h' file not found #include <libusb-1.0/libusb.h> ^ 1 error generated. make[2]: *** [openhantek/CMakeFiles/OpenHantek.dir/src/hantek/device.cpp.o] Error 1 In file included from /Users/freddie/Desktop/OpenHantek/openhantek/src/hantek/control.cpp:36: /Users/freddie/Desktop/OpenHantek/openhantek/src/hantek/device.h:30:10: fatal error: 'libusb-1.0/libusb.h' file not found #include <libusb-1.0/libusb.h> ^ 1 error generated. make[2]: *** [openhantek/CMakeFiles/OpenHantek.dir/src/hantek/control.cpp.o] Error 1 1 error generated. make[2]: *** [openhantek/CMakeFiles/OpenHantek.dir/src/dataanalyzer.cpp.o] Error 1 make[1]: *** [openhantek/CMakeFiles/OpenHantek.dir/all] Error 2 make: *** [all] Error 2
Anyone have a idea what I am doing wrong?

Thanks,
Ed

Unable to install libqt5-dev requirement

I have not been able to install this particular requirement using apt-get.
i am on kali linux and i dont know if that is the cause.
I get this error when i overlook this requirement and try to install.

CMake Error at openhantek2/CMakeLists.txt:3 (add_subdirectory):
The source directory

/root/Desktop/pp/openhantek-mr_split_gui_backend/openhantek2/plot

does not contain a CMakeLists.txt file.

fatal: Needed a single revision
-- Configuring incomplete, errors occurred!
See also "/root/Desktop/pp/openhantek-mr_split_gui_backend/build/CMakeFiles/CMakeOutput.log".
See also "/root/Desktop/pp/openhantek-mr_split_gui_backend/build/CMakeFiles/CMakeError.log".

UI segfaults

I'm getting a similar error message to what is described at the end of Issue #10

This is the output:

$ /usr/local/OpenHantek 
Version 
QObject::connect: No such slot OpenHantekMainWindow::sendCommand()
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Hantek::Control(0x25568e0), parent's thread is QThread(0x247de30), current thread is Hantek::Control(0x25568e0)
Segmentation fault (core dumped)

I'm using KDE on an up-to-date FC 23

I followed the instructions from the readme.md file against a freshly cloned master branch.

Broken GUI layout

Hello,

I just tried installing Openhantek on GNU/Linux Debian. It seems there is a major problem with the layouts of the elements of the GUI. It makes a lot of features unusable.

Here is how it looks like

GUI elements can be rearranged by the user, but when restarting OpenHantek, everything is a mess again.

Distribution : GNU/Linux Debian Jessie (8.2), 64bits
WM: Gnome 3 (dual screen)

Thanks in advance,

Blank display on OSX

Hi,
I'm trying to build OpenHantek on OSX (w/ MacPort) and it does work, although I had to modify ./openhantek/CMakeFiles/OpenHantek.dir/flags.make and add -I/opt/local/include to the end of CXX_INCLUDES.

However when I run it I don't get any traces, the output is as follows..

Version
QObject::connect: No such slot OpenHantekMainWindow::sendCommand()
Warning: This Hantek DSO model isn't supported officially, so it may not be working as expected. Reports about your experiences are very welcome though (Please open a feature request in the tracker at https://sf.net/projects/openhantek/ or email me directly to [email protected]). If it's working perfectly I can remove this warning, if not it should be possible to get it working with your help soon.
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Hantek::Control(0x7f8a5d5938e0), parent's thread is QThread(0x7f8a5d401620), current thread is Hantek::Control(0x7f8a5d5938e0)
QWidgetWindow(0x7f8a6232dcd0, name="QToolBarClassWindow") ( QScreen(0x7f8a5d7a2230, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7f8a5fe89580, name="QToolBarClassWindow") ( QScreen(0x7f8a5d7a2230, name="Color LCD") ): Attempt to set a screen on a child window.
QWidgetWindow(0x7f8a5fbed4c0, name="QToolBarClassWindow") ( QScreen(0x7f8a5d7a2230, name="Color LCD") ): Attempt to set a screen on a child window.
10:05:18.324: Sending bulk command: 01 00 85 02 01 00 ff d7 00 00 07 00
10:05:18.325: Sending bulk command: 07 00 02 00 00 00 00 00
10:05:18.325: Sending control command b4: 00 47 00 63 00 7f 00 00 00 00 00 00 00 00 00 00 00
10:05:18.373: Sending control command b5: 00 04 08 fd 20 40 ef 01 00 00 00 00 00 00 00 00 00
10:05:18.460: Capture state changed to 2
10:05:18.467: Received 20480 B of sampling data
10:05:18.468: Starting to capture
10:05:19.423: Capture state changed to 0
10:05:19.424: Enabling trigger
10:05:24.224: Starting to capture
10:05:25.228: Enabling trigger
10:05:30.227: Starting to capture
10:05:31.224: Enabling trigger
10:05:39.228: Forcing trigger
10:05:40.226: Capture state changed to 1

The window itself looks like..
screen shot 2017-04-04 at 10 06 33

This is using Qt 5.6.2, i.e.

./openhantek/OpenHantek:
	/opt/local/libexec/qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport (compatibility version 5.6.0, current version 5.6.2)
	/opt/local/libexec/qt5/lib/QtOpenGL.framework/Versions/5/QtOpenGL (compatibility version 5.6.0, current version 5.6.2)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libusb-1.0.0.dylib (compatibility version 2.0.0, current version 2.0.0)
	/opt/local/lib/libfftw3.3.dylib (compatibility version 9.0.0, current version 9.5.0)
	/opt/local/libexec/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.6.0, current version 5.6.2)
	/opt/local/libexec/qt5/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.6.0, current version 5.6.2)
	/opt/local/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.6.0, current version 5.6.2)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)

Cmake REPLACE Error (Mint 18 -- 16.04)


Can any of the project developers test to see if openhantek can compile on a recent Ubuntu distro? I get a REPLACE error when trying to install it on Ubuntu 15.04, 15.10, 16.04.


These instructions don't work:

apt-get install cmake qttools5-dev-tools libfftw3-dev binutils-dev libusb-1.0-0-dev

After you've installed the requirements either run cmake-gui or run the following commands inside the directory of this package:

mkdir build
cd build
cmake ../
make -j4 (for 4 concurrent compile jobs)
make install (optional, for installing only)

Hi,

Using Linux Mint 18 on x86 64. I needed to install qtbase5-dev and libqt5opengl5-dev to fix the first couple of errors I got.

Now I get this (CMakeError.log posted at bottom of post.):

$ cmake ../
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found libusb: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found FFTW: /usr/lib/x86_64-linux-gnu/libfftw3.so
CMake Error at cmake/CPackInfos.cmake:28 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:29 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:30 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:31 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

CMake Error at cmake/CPackInfos.cmake:32 (list):
list GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:30 (include)

-- Configuring incomplete, errors occurred!
See also "/home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeOutput.log".
See also "/home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeError.log".


CMakeError.log:

Determining if the pthread_create exist failed with the following output:
Change Dir: /home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_6a05a/fast"
/usr/bin/make -f CMakeFiles/cmTC_6a05a.dir/build.make CMakeFiles/cmTC_6a05a.dir/build
make[1]: Entering directory '/home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_6a05a.dir/CheckSymbolExists.c.o
/usr/bin/cc -o CMakeFiles/cmTC_6a05a.dir/CheckSymbolExists.c.o -c /home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_6a05a
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6a05a.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/cmTC_6a05a.dir/CheckSymbolExists.c.o -o cmTC_6a05a -rdynamic
CMakeFiles/cmTC_6a05a.dir/CheckSymbolExists.c.o: In function main': CheckSymbolExists.c:(.text+0x16): undefined reference to pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_6a05a.dir/build.make:97: recipe for target 'cmTC_6a05a' failed
make[1]: *** [cmTC_6a05a] Error 1
make[1]: Leaving directory '/home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_6a05a/fast' failed
make: *** [cmTC_6a05a/fast] Error 2

File /home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_15985/fast"
/usr/bin/make -f CMakeFiles/cmTC_15985.dir/build.make CMakeFiles/cmTC_15985.dir/build
make[1]: Entering directory '/home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_15985.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_15985.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.5/Modules/CheckFunctionExists.c
Linking C executable cmTC_15985
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_15985.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_15985.dir/CheckFunctionExists.c.o -o cmTC_15985 -rdynamic -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_15985.dir/build.make:97: recipe for target 'cmTC_15985' failed
make[1]: *** [cmTC_15985] Error 1
make[1]: Leaving directory '/home/jam/HantekBuild/openhantek-master/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_15985/fast' failed
make: *** [cmTC_15985/fast] Error 2

USB hotplugging and selectable device

  • Make hotplugging work
  • Provide a selection of one device out of all recogniced
  • Implement a dummy device that outputs a sine wave to test the software

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.