Skip to main content

DSP servo controller for quantum optics with the RedPitaya

Project description

travis status code coverage Python versions on PyPI PyrRPL version on PyPI join chat on gitter License

Download PyRPL LGPLv3

PyRPL (Python RedPitaya Lockbox) turns your RedPitaya into a powerful DSP device, especially suitable as a digital lockbox and measurement device in quantum optics experiments.

Website

Get started by checking out the official PyRPL website.

Installation

The easiest and fastest way to get PyRPL is to download and execute the precompiled executable for windows. This option requires no extra programs to be installed on the computer.

If instead you would like to use and/or modify the source code, make sure you have an installation of Python (2.7, 3.4, 3.5, or 3.6). If you are new to Python or unexperienced with fighting installation issues, it is recommended to install the Anaconda Python distribution, which allows to install all PyRPL dependencies via

conda install numpy scipy paramiko pandas nose pip pyqt qtpy pyqtgraph pyyaml

Check this wiki page for hints if you cannot execute conda in a terminal. Alternatively, if you prefer creating a virtual environment for pyrpl, do so with the following two commands

conda create -y -n pyrpl-env numpy scipy paramiko pandas nose pip pyqt qtpy pyqtgraph pyyaml
activate pyrpl-env

If you are not using Anaconda, you must manually install the python package PyQt5 or PyQt4, which requires a working C compiler installation on the system.

Next, clone (if you have a git client installed - recommended option) the pyrpl repository to your computer with

git clone https://github.com/lneuhaus/pyrpl.git

or download and extract (if you do not want to install git on your computer) the repository.

Install PyRPL by navigating with the command line terminal (the one where the pyrpl-env environment is active in case you are using anaconda) into the pyrpl root directory and typing

python setup.py develop

Quick start

First, hook up your Red Pitaya / STEMlab to a LAN accessible from your computer (follow the instructions for this on redpitya.com and make sure you can access your Red Pitaya with a web browser by typing its ip-address / hostname into the address bar). In an IPython console or JuPyter notebook, type

from pyrpl import Pyrpl
p = Pyrpl(config='your_configuration_name', hostname='your_redpitaya_ip_address')

The GUI should open and you can start playing around with it. By calling pyrpl with different strings for ‘your_configuration_name’, your settings for a given configuration will be automatically remembered by PyRPL. You can drop the hostname argument after the first call of a given configuration. Different RedPitayas with different configuration names can be run simultaneously.

Issues

We collect a list of common problems in a dedicated wiki page. If you do not find your problem listed there, please report all problems or wishes as new issues on this page, so we can fix it and improve the future user experience.

Unit test

If you want to check whether PyRPL works correctly on your machine, navigate with a command line terminal into the pyrpl root directory and type the following commands (by substituting the ip-address / hostname of your Red Pitaya, of course)

set REDPITAYA_HOSTNAME=your_redpitaya_ip_address
nosetests

All tests should take about 3 minutes and finish without failures or errors. If there are errors, please report the console output as an issue (see the section “Issues” below for detailed explanations).

Next steps / documentation

We are still in the process of creating an up-to-date version of the documentation of the current code. If the current documentation is wrong or insufficient, please post an issue and we will prioritize documenting the part of code you need. You can find all documentation in the subfolder “doc”. Get started by reading our paper on PyRPL, reading the official html documentation, or going through the tutorial.ipynb notebook.

Updates

Since PyRPL is continuously improved, you should install upgrades if you expect bugfixes by navigating into the pyrpl root directory on your local harddisk computer and typing

git pull

FPGA bitfile generation (only for developers)

In case you would like to modify the logic running on the FPGA, you should make sure that you are able to generate a working bitfile on your machine. To do so, you must install Vivado 2015.4 (64-bit windows](https://www.xilinx.com/member/forms/download/xef.html?filename=Xilinx_Vivado_SDK_2015.4_1118_2_Lin64.bin&akdm=1) and together with a working license. Next, with a terminal in the pyrpl root directory, type

cd pyrpl/fpga
make

Compilation should take between 10 and 30 minutes, depending on your machine. If there are no errors during compilation, the new bitfile (pyrpl/fpga/red_pitaya.bin) will be automatically used at the next restart of PyRPL. The best way to getting started is to skim through the very short Makefile in the fpga directory and to continue by reading the files mentioned in the makefile and the refences therein. All verilog source code is located in the subdirectory pyrpl/fpga/rtl/.

License

Please read our license file LICENSE for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrpl-0.9.3.3.tar.gz (563.2 kB view details)

Uploaded Source

Built Distribution

pyrpl-0.9.3.3-py2.py3-none-any.whl (599.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyrpl-0.9.3.3.tar.gz.

File metadata

  • Download URL: pyrpl-0.9.3.3.tar.gz
  • Upload date:
  • Size: 563.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyrpl-0.9.3.3.tar.gz
Algorithm Hash digest
SHA256 29f06f3906a7993f7ee5ec1b54366b941e7b9860f6aea1141ed93a21dfb977e6
MD5 1db44a3b9ecd6aab64eec1c52387f7fb
BLAKE2b-256 aa88abac1c5b0beab81612355e7313e1254a20a0ed26cc201e8c397f051a4961

See more details on using hashes here.

File details

Details for the file pyrpl-0.9.3.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pyrpl-0.9.3.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1d382f59c0d306a6e174ab08583eb6f9d524ed5d76d9c46d2cfbf4953fce3e42
MD5 ff95ca6c107e39283b78b8b1eed15581
BLAKE2b-256 13b040b67d9023e8c0a091206228762cd52f078377c00cfbc9aa1911a7be516b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page