GithubHelp home page GithubHelp logo

ebiroll / dsremote Goto Github PK

View Code? Open in Web Editor NEW
16.0 3.0 3.0 458 KB

Rigol oscilloscope remote control, mainly for use with https://github.com/Ebiroll/esp32_sigrok

License: GNU General Public License v3.0

C++ 72.20% C 27.44% QMake 0.36%

dsremote's Introduction

# 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


Note: This is a private project made available to the public. No pullrequests!
      If you believe you found a bug or want to add some feature, open an issue on Gitlab or send me an email.
      In case you want to add some code, send me a diff, no pull requests, they will be ignored.
      Also, all requests regarding to support other platforms and/or other tools will be ignored.
      Again, this a Linux & GCC & Make project. That means no Mac/windows/Clang/CMake etc.


dsremote's People

Contributors

ebiroll avatar teuniz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wllis tuxiaoya koson

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.