This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:tools-software:linux-software:iio_oscilloscope [21 Apr 2015 14:04] – [Capture Window] Paul Cercueil | resources:tools-software:linux-software:iio_oscilloscope [18 Oct 2023 12:01] (current) – note to use libiio-v0 when building libiio from source for osc Cristina Suteu | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== About ===== | ===== About ===== | ||
- | The ADI IIO Oscilloscope is a example | + | The ADI IIO Oscilloscope is a cross platform GUI application, |
===== Installation ===== | ===== Installation ===== | ||
Line 11: | Line 11: | ||
==== Windows ==== | ==== Windows ==== | ||
- | <WRAP round download> | + | {{page>:resources:eval:user-guides:ad-fmcomms2-ebz: |
- | * **IIO Oscilloscope (OSC) for Win32 & Win64 (2014_R2 Alpha Pre-Release) ** | + | |
- | * Download: [[http:// | + | |
- | </ | + | |
- | ==== Linux/OS X ==== | + | ==== Linux ==== |
- | For building | + | To build on an embedded |
- | To build on a host, not not use the script, you **must**: | + | To build on a development |
- | - make sure the following | + | - On Ubuntu or Debian install |
- | - build **and install** the libiio library, by following | + | $ apt-get -y install libglib2.0-dev libgtk-3-dev libgtkdatabox-dev libmatio-dev libfftw3-dev libxml2 libxml2-dev bison flex libavahi-common-dev libavahi-client-dev libcurl4-openssl-dev libjansson-dev cmake libaio-dev libserialport-dev |
- | - download | + | </code> |
- | > **git clone https:// | + | - Install the '' |
- | > **cd iio-oscilloscope** | + | <note important> |
- | > **git checkout origin/ | + | - Optionally build and install the libad9166-iio and libad9361-iio libraries, by following [[: |
- | </xterm>Or, [[https:// | + | - Download |
- | rgetz@pinky: | + | $ git clone https:// |
- | rgetz@pinky: | + | $ cd iio-oscilloscope |
- | rgetz@pinky: | + | $ git checkout origin/ |
- | </xterm> | + | </code> |
- | - and run `make` and `make install`. If you did not do a '' | + | - Or, [[https:// |
- | rgetz@pinky: | + | $ wget https:// |
- | rgetz@pinky: | + | $ unzip master.zip |
- | </ | + | $ cd iio-oscilloscope |
- | - if you don't want to do a '' | + | </code> |
+ | | ||
+ | $ mkdir build && cd build | ||
+ | $ cmake ../ && | ||
+ | $ sudo make install | ||
+ | </ | ||
+ | | ||
+ | | ||
+ | $ ./osc | ||
./osc: error while loading shared libraries: libosc.so: cannot open shared object file: | ./osc: error while loading shared libraries: libosc.so: cannot open shared object file: | ||
No such file or directory | No such file or directory | ||
+ | </ | ||
+ | |||
+ | === Ubuntu 20 and Older === | ||
+ | |||
+ | While compiling the IIO Scope for Ubuntu 20 and other older Linux distributions, | ||
+ | Instead download the sources from https:// | ||
+ | < | ||
+ | ./configure | ||
+ | make | ||
+ | make install | ||
</ | </ | ||
+ | |||
+ | |||
+ | Please not that in case some other gtkdatabox version is present in the system remove it using sudo apt remove. This action can solve error message | ||
+ | GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported Trace/ | ||
+ | |||
+ | === GTK2 Based IIO-Oscilloscope === | ||
+ | |||
+ | If you'd like to build the previous version of IIO-Oscilloscope, | ||
+ | > **apt-get -y install libglib2.0-dev libgtk2.0-dev libgtkdatabox-dev libmatio-dev libfftw3-dev libxml2 libxml2-dev bison flex libavahi-common-dev libavahi-client-dev libcurl4-openssl-dev libjansson-dev cmake libaio-dev libserialport-dev** | ||
+ | </ | ||
+ | Make sure that you have libgtkdatabox v0.9 installed, which was compiled with GTK2. | ||
+ | In addition, you will need to clone a specific branch of the IIO-Oscilloscope repository, which still uses GTK2 widgets: | ||
+ | < | ||
+ | git clone https:// | ||
+ | |||
+ | The other prerequisites and build steps are identical. | ||
+ | |||
+ | ==== macOS ==== | ||
+ | |||
+ | The recommended method is to use brew with tfcollin' | ||
+ | < | ||
+ | git clone -b fix-gtk-upgrade https:// | ||
+ | cd homebrew-formulae | ||
+ | brew install --build-from-source ./ | ||
+ | # if necessary: brew link --overwrite gtkdatabox-prev1 | ||
+ | brew install --build-from-source ./ | ||
+ | </ | ||
====== User guide ====== | ====== User guide ====== | ||
Line 65: | Line 107: | ||
- Settings -> Connect and enter the IP address in the popup window, and click " | - Settings -> Connect and enter the IP address in the popup window, and click " | ||
- Settings -> Connect and click " | - Settings -> Connect and click " | ||
+ | The application can be used to connect to another platform that runs no-OS software: | ||
+ | https:// | ||
Line 72: | Line 116: | ||
{{ : | {{ : | ||
- | Each plugin (or tab) can be detached from the main window simply by clicking on the button placed on the right side of the name of the plugin. | + | Each plugin (or tab) can be detached from the main window simply by clicking on the button placed on the right side of the name of the plugin. |
The Main Window is designed to display a configuration panel (plugin) for each device recognized by the system. Additional plugins will be loaded for device debugging and monitoring purposes such as: | The Main Window is designed to display a configuration panel (plugin) for each device recognized by the system. Additional plugins will be loaded for device debugging and monitoring purposes such as: | ||
Line 93: | Line 137: | ||
**Debug** Plugin: Is a tool for device debugging. Since " | **Debug** Plugin: Is a tool for device debugging. Since " | ||
- | * **Device Selection: | + | * **Device Selection: |
* **IIO Device Attributes: | * **IIO Device Attributes: | ||
* **Register: | * **Register: | ||
Line 132: | Line 176: | ||
* **Frequency domain:** Plots the signal in the frequency domain. Performs a FFT on the signal and displays it. | * **Frequency domain:** Plots the signal in the frequency domain. Performs a FFT on the signal and displays it. | ||
* **FFT size:** Selects the size of the FFT for frequency domain plotting | * **FFT size:** Selects the size of the FFT for frequency domain plotting | ||
+ | * **Window:** Selects the FFT Window. Selecting a window function is not a simple task. Each window function has its own characteristics and suitability for different applications (some are more frequency accurate, others are more amplitude accurate). To choose a window function, you (the user) must select the most appropriate one. Check the [[./ | ||
* **FFT Average:** Selects the average weight to be applied to the FFT samples. | * **FFT Average:** Selects the average weight to be applied to the FFT samples. | ||
* **PWR Offset:** Selects the offset of the FFT graph. | * **PWR Offset:** Selects the offset of the FFT graph. | ||
Line 208: | Line 253: | ||
To do so, right-click on the name of the device used for capture, and select **Trigger settings**. | To do so, right-click on the name of the device used for capture, and select **Trigger settings**. | ||
The pop-up window that will open will allow you to configure the channel used for the trigger, as well as the trigger level and edge. | The pop-up window that will open will allow you to configure the channel used for the trigger, as well as the trigger level and edge. | ||
+ | |||
+ | ====== Provided Waveforms ====== | ||
+ | |||
+ | Several waveforms are provided with the application for demonstration purposes, which can be loaded into different devices. | ||
+ | |||
====== Source code ====== | ====== Source code ====== | ||
Line 213: | Line 263: | ||
The source code for the entire application is at [[https:// | The source code for the entire application is at [[https:// | ||
+ | |||
+ | |||
+ | ==== Internals ==== | ||
+ | |||
+ | If you want to make your own plugin, please refer to the [[./ | ||
===== More information ===== | ===== More information ===== |