Code for the ROACH CUKIDS readout and analysis.
This code is provided in the hope that it may be useful to others, but is still very much a work in progress.
Using the ROACH code requires the FPGA designs available here:
- Simulink .slx files (public): https://github.com/ColumbiaCMB/kid_readout_fpga
- Compiled .bof files (private): https://github.com/ColumbiaCMB/kid_readout_fpga_bof
apps/Scripts, mostly for acquiring and analyzing datadocs/Documentationkid_readout/All library codeinteractive.pyImport * from this for interactive useanalysis/Resonator fitting, timeseries analysis, experiment info (in resources/)equipment/Scripts and library code for lab equipmentmeasurement/Code for organizing collected data and writing it to diskroach/Communicate with ROACH 1 and 2 boardssettings/Local variables and settingsutils/Miscellany, mostly deprecated
ppc/ROACH PPC code
From the directory where this package was cloned, first create an environment named kid_readout with all dependencies:
conda env create -f environment.yml
Activate the kid_readout environment:
$ source activate kid_readout
At this point, all of the non-hardware tests should pass:
$ nosetests -v
All dependencies should be installed, so it should be possible to install the package in development mode:
$ pip install --no-deps -e .
This is a hack to stop the corr package from importing lots of things we don't use, one of which raises an error:
$ echo "" > $CONDA_PREFIX/lib/python2.7/site-packages/corr/__init__.py
At this point, all the hardware tests should pass if the corresponding readout hardware is connected:
$ cd kid_readout/roach/tests
$ nosetests -v test_roach2_heterodyne_loopback.py