Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/analogdevicesinc/pixelpulse2
Pixelpulse2 is a user interface for analog systems exploration.
https://github.com/analogdevicesinc/pixelpulse2
adalm-1000 m1k
Last synced: about 2 months ago
JSON representation
Pixelpulse2 is a user interface for analog systems exploration.
- Host: GitHub
- URL: https://github.com/analogdevicesinc/pixelpulse2
- Owner: analogdevicesinc
- License: mpl-2.0
- Created: 2014-07-13T06:48:33.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-11-16T10:53:53.000Z (about 2 years ago)
- Last Synced: 2024-04-16T04:56:44.365Z (9 months ago)
- Topics: adalm-1000, m1k
- Language: QML
- Homepage:
- Size: 2.13 MB
- Stars: 45
- Watchers: 37
- Forks: 28
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Pixelpulse2
[![Windows Status](https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva?svg=true)](https://ci.appveyor.com/project/analogdevicesinc/pixelpulse2/branch/master)
[![OSX Status](https://api.travis-ci.org/analogdevicesinc/Pixelpulse2.svg?branch=master&label=OSX)](https://travis-ci.org/analogdevicesinc/Pixelpulse2)
[![License](https://img.shields.io/badge/license-MPL-blue.svg)](https://github.com/analogdevicesinc/Pixelpulse2/blob/master/LICENSE)Pixelpulse is a powerful user interface for visualizing and manipulating signals while exploring systems attached to affordable analog interface devices, such as Analog Devices' ADALM1000.
Fully cross-platform using the Qt5 graphics toolkit and OpenGL accelerated density-gradiated rendering, it provides a powerful and accessible tool for initial interactive explorations.
Intuitive click-and-drag interfaces make exploring system behaviors across a wide range of signal amplitudes, frequencies, or phases a trivial exercise. Just click once to source a constant voltage or current and see what happens. Choose a function (sawtooth, triangle, sinusoidal, square) - adjust parameters, and make waves.
Zoom in and out with your scroll wheel or multitouch gestures (on supported platforms). Hold "Shift" to for Y-axis zooming.
Click and drag the X axis to pan in time.
### Screenshot
![Screenshot of PP2 on Windows 7](https://analogdevicesinc.github.io/Pixelpulse2/pp2screenshot.png "Pixelpulse on Windows 7")
### Getting Pixelpulse2
#### Easy
* OSX - Navigate to the [releases](https://github.com/analogdevicesinc/pixelpulse2/releases) and collect the latest `pixelpulse2-.dmg` package, specific for you OS version.
* Windows - For a testing build, download the dependency package and the latest binary build from [appveyor](https://ci.appveyor.com/project/analogdevicesinc/pixelpulse2/build/artifacts). For an official release build, navigate to releases and collect the latest pixelpulse2-setup.exe.
* Linux - Build from source (below)
#### AdvancedTo build from source on any platform, you need to install a C++ compiler toolchain, collect the build dependencies, setup your build environment, and compile the project.
If you have not built packages from source before, this is ill-advised.
* **Build and install libsmu (https://github.com/analogdevicesinc/libsmu)**.
Libsmu is a library wich contains abstractions for streaming data to and from USB-connected analog interface devices, currently supporting the Analog Devices' ADALM1000.
* Install Qt5. We recommend using a version greater than or equal to 5.14.
* On most Linux Distributions, Qt5 is available in repositories. The complete list of packages required varies, but includes qt's support for declarative (qml) UI programming, qtquick, qtquick-window, qtquick-controls, and qtquick-layouts.To build / run on a generic POSIX platform
git clone https://github.com/analogdevicesinc/Pixelpulse2
cd Pixelpulse2
mkdir build
cd build
cmake ..
makeOn Windows the process is similar. Write the following commands in a cmd console
git clone https://github.com/analogdevicesinc/Pixelpulse2
cd Pixelpulse2
mkdir build
cd build
cmake -DLIBSMU_LIBRARY="path_to_libsmu_dll" -DLIBSMU_INCLUDE_PATH="path_to_libsmu_include_folder" -DLIBUSB_INCLUDE_DIRS="path_to_libusb_include_folder" ..
makeAfter it is finished building, you have to copy the libsmu shared library into the build folder and Pixelpulse2 should be ready to use with your M1K
To build / run on Ubuntu
* Please note that you make encounter issues if you are running a version of Ubuntu lower than 15.04, because the version of QT in the repositories will likely be less than 5.4 (this also applies if you are running a Linux distribution that uses an older version of Ubuntu, for example Linux Mint 17.1, which uses Ubuntu 14.04.)
* The build process is tested and supported on Ubuntu 16, 18 and 20.* Get ready
```bash
sudo apt-get update
```* Build and install libsmu (https://github.com/analogdevicesinc/libsmu)
* Install Qt5 and some Qt modules
```bash
sudo apt-get install -y qt5-default qtdeclarative5-dev qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel qml-module-qtqml-models2 qml-module-qtquick-controls
```* Make a new folder, clone the pixelpulse library into it from git, and build it!
```bash
mkdir development
cd development
git clone https://github.com/analogdevicesinc/Pixelpulse2
cd pixelpulse2
mkdir build
cd build
cmake ..
make
```* Make sure your M1K is plugged into your computer. The onboard LED should light up when it is connected. You can double-check by typing ```lsusb```. You should see something along the lines of ```ID 064b:784c Analog Devices, Inc. (White Mountain DSP)```
* You should be ready to launch Pixelpulse2. First, go to the directory it was built in:
```bash
cd ~/development/pixelpulse2/build
```* Run Pixelpulse2
```bash
./pixelpulse2
```