Rigol DS1000Z remote control and waveform viewer
 
 
 
Go to file
Teuniz ec1f923989 Work in progress. 2019-08-06 12:15:13 +02:00
images Work in progress. 2016-11-22 21:06:24 +01:00
install Work in progress. 2019-07-27 18:22:55 +02:00
third_party/kiss_fft Start to implement FFT. 2016-01-04 14:20:26 +01:00
LICENSE
README Work in progress. 2019-08-06 12:15:13 +02:00
about_dialog.cpp Update email address. 2019-05-28 08:36:25 +02:00
about_dialog.h Update email address. 2019-05-28 08:36:25 +02:00
connection.cpp Update email address. 2019-05-28 08:36:25 +02:00
connection.h Update email address. 2019-05-28 08:36:25 +02:00
decode_dialog.cpp Update email address. 2019-05-28 08:36:25 +02:00
decode_dialog.h Update email address. 2019-05-28 08:36:25 +02:00
dsremote.pro Added udev rule to installer. 2019-07-27 17:44:12 +02:00
edflib.c Untested bugfix for "cannot set datarecord..." error. 2019-07-24 10:09:54 +02:00
edflib.h Update email address. 2019-05-28 08:36:25 +02:00
global.h Work in progress. 2019-08-01 21:34:30 +02:00
images.qrc Work in progress. 2016-11-22 21:06:24 +01:00
interface.cpp Limit number of averages to max. 1024 for DS1000Z series. 2019-07-26 10:58:16 +02:00
lan_connect_thread.cpp Update email address. 2019-05-28 08:36:25 +02:00
lan_connect_thread.h Update email address. 2019-05-28 08:36:25 +02:00
main.cpp Work in progress. 2018-03-19 12:45:34 +01:00
mainwindow.cpp Update email address. 2019-05-28 08:36:25 +02:00
mainwindow.h Work in progress. 2019-08-01 15:11:58 +02:00
mainwindow_constr.cpp Work in progress. 2019-08-01 17:03:42 +02:00
notes.txt Added Record & Playback function. 2017-05-14 18:16:49 +02:00
playback_dialog.cpp Update email address. 2019-05-28 08:36:25 +02:00
playback_dialog.h Update email address. 2019-05-28 08:36:25 +02:00
read_settings_thread.cpp Update email address. 2019-05-28 08:36:25 +02:00
read_settings_thread.h Update email address. 2019-05-28 08:36:25 +02:00
readme_usbtmc_driver.txt Update readme. 2019-04-28 09:36:38 +02:00
save_data.cpp Limit number of averages to max. 1024 for DS1000Z series. 2019-07-26 10:58:16 +02:00
save_data_thread.cpp Update email address. 2019-05-28 08:36:25 +02:00
save_data_thread.h Update email address. 2019-05-28 08:36:25 +02:00
screen_thread.cpp Make sure the waveforming is positioned correctly on the x-axis when in stop-mode and zooming out. 2019-06-24 17:45:35 +02:00
screen_thread.h Make sure the waveforming is positioned correctly on the x-axis when in stop-mode and zooming out. 2019-06-24 17:45:35 +02:00
serial_decoder.cpp Update email address. 2019-05-28 08:36:25 +02:00
settings_dialog.cpp Update email address. 2019-05-28 08:36:25 +02:00
settings_dialog.h Update email address. 2019-05-28 08:36:25 +02:00
signalcurve.cpp Work in progress. 2019-08-01 15:11:58 +02:00
signalcurve.h Update email address. 2019-05-28 08:36:25 +02:00
tdial.cpp Update email address. 2019-05-28 08:36:25 +02:00
tdial.h Update email address. 2019-05-28 08:36:25 +02:00
timer_handlers.cpp Update email address. 2019-05-28 08:36:25 +02:00
tled.cpp Update email address. 2019-05-28 08:36:25 +02:00
tled.h Update email address. 2019-05-28 08:36:25 +02:00
tmc_dev.c Make sure the waveforming is positioned correctly on the x-axis when in stop-mode and zooming out. 2019-06-24 17:45:35 +02:00
tmc_dev.h Update email address. 2019-05-28 08:36:25 +02:00
tmc_lan.c Make sure the waveforming is positioned correctly on the x-axis when in stop-mode and zooming out. 2019-06-24 17:45:35 +02:00
tmc_lan.h Update email address. 2019-05-28 08:36:25 +02:00
utils.c Update email address. 2019-05-28 08:36:25 +02:00
utils.h Update email address. 2019-05-28 08:36:25 +02:00
wave_dialog.cpp Update email address. 2019-05-28 08:36:25 +02:00
wave_dialog.h Update email address. 2019-05-28 08:36:25 +02:00
wave_view.cpp Work in progress. 2019-08-01 15:11:58 +02:00
wave_view.h Update email address. 2019-05-28 08:36:25 +02:00

README

# DSRemote
Operate your Rigol oscilloscope from your Linux desktop.
========================================================

webpage and info: https://www.teuniz.net/DSRemote/


How to compile:
---------------

- openSuse Leap 15.1
  sudo zypper in patterns-devel-base-devel_basis git-core make libqt5-qtbase-devel libQt5Core-devel libQt5Concurrent-devel libQt5Gui-devel libQt5Widgets-devel libQt5Network-devel libQt5PrintSupport-devel
  git clone https://gitlab.com/Teuniz/DSRemote.git
  cd DSRemote
  qmake-qt5
  make
  sudo make install

For USB connection setup use the following commands:
----------------------------------------------------

  sudo groupadd usbtmc
  sudo usermod -a -G usbtmc <username>
  reboot


Now you can run the program by typing: dsremote


 Read also the file readme_usbtcm_driver.txt
 and the file notes.txt.

Supported devices
---------------

DS6000 and DS1000Z series oscilloscopes.

### MSO4000/DS4000 series

There is some basic support like capturing screenshots.

Not tested yet:

* Record & Playback function
* Wave Inspector
* serial decoding.


DS1000Z series:
---------------
DSRemote assumes that, on your DS1054Z, all options are installed.
If that is not the case it's possible that the software does not work correctly.
On your scope, go to the menu Utility -> Options -> Installed and make sure you have the following options installed:

* DECODER RS232,I2C,SPI Official
* MEM_DEPTH 24M/12M/6M Official
* TRIGGER Timeout,Runt,Window,Delay,Setup,NthEdge,RS232,I2C,SPI Official
* RECORDER Record/Re-play Official
* BANDWIDTH 100M Official



Qt framework:
-------------
In case you want to use Qt5, the recommended way is not to use the Qt5 libraries that comes with your distro.
Instead, download and compile the Qt5 source and use that to compile DSRemote.
Here's a step by step list with instructions:

First, fulfill the requirements for Qt:

http://doc.qt.io/qt-5/linux.html

Debian/Ubuntu: sudo apt-get install build-essential libgl1-mesa-dev libcups2-dev libx11-dev

Fedora: sudo dnf groupinstall "C Development Tools and Libraries"
        sudo dnf install mesa-libGL-devel cups-devel libx11-dev

openSUSE: sudo zypper install -t pattern devel_basis
          sudo zypper install xorg-x11-devel cups-devel freetype-devel fontconfig-devel libxkbcommon-devel libxkbcommon-x11-devel

#############################################################################################

 Compile a static version of the Qt5 libraries excluding all modules that are not needed.

 This will not mess with your system libraries. The new compiled libraries will be stored

 in a new and separate directory: /usr/local/Qt-5.12.4-static

 It will not interfere with other Qt programs.

#############################################################################################

mkdir Qt5-source

cd Qt5-source

wget http://ftp1.nluug.nl/languages/qt/official_releases/qt/5.12/5.12.4/single/qt-everywhere-src-5.12.4.tar.xz

here is a list of download mirrors: https://download.qt.io/static/mirrorlist/
The Qt source package you are going to need is: qt-everywhere-src-5.12.4.tar.xz

tar -xvf qt-everywhere-src-5.12.4.tar.xz

cd qt-everywhere-src-5.12.4

./configure -v -prefix /usr/local/Qt-5.12.4-static -release -opensource -confirm-license -c++std c++11 -static -accessibility -fontconfig -skip qtdeclarative -skip qtconnectivity -skip qtmultimedia -qt-zlib -no-mtdev -no-journald -qt-libpng -qt-libjpeg -system-freetype -qt-harfbuzz -no-openssl -no-libproxy -no-glib -nomake examples -nomake tests -no-compile-examples -cups -no-evdev -no-dbus -no-eglfs -qreal double -no-opengl -skip qtlocation -skip qtsensors -skip qtwayland -skip qtgamepad -skip qtserialbus -skip qt3d -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtspeech -skip qtwebengine

(takes about 2 minutes)

make -j6  (change option -j according to number of available cpu cores e.g -j4 or -j8)

(takes about 11 minutes)

sudo make install

Now go to the directory that contains the DSRemote sourcecode and enter the following commands:

/usr/local/Qt-5.12.4-static/bin/qmake

make -j6  (change option -j according to number of available cpu cores e.g -j4 or -j8)

sudo make install

reboot

Now you can run the program by typing: dsremote

Congratulations!
You have compiled a static version of DSRemote that can be deployed on other systems without the need
to install the Qt libraries.
In order to reduce the size of the executable, run the following commands:

strip -s dsremote

upx dsremote


Notes:
------

This is not a community project, so, no pull-requests please, they will be ignored.
I only put the source here on Gitlab for backup and to make it easy for other people to clone the project and tinker with it.
If you have found a bug or want to add some features, send me your sourcecode/patch and I'll have a look at it.
Then I'll decide what to do with it.

This is a Linux project. Patches or feature requests that will make it easier to port the program to
other platforms will be ignored.