stirap_dds package
stirap_dds.stirap_server module
TODO:
- class stirap_dds.stirap_server.StirapServer
Bases:
LabradServerTODO: Server for communicating with AD9910 + Arduino setup.
The current hardware setup uses an Arduino to program the AD9910 evaluation board over SPI. The AD9910 has a set of 8 single-frequency registers (called the “profiles”) that can be rapidly and phase-coherently switched via external digital inputs. Additionally, the Arduino can hold an array (length < 12) of values (called the “program”), which are advanced by an external trigger input to the Arduino. The program also allows for frequency sweeps, which are useful for performing adiabatic rapid passages (ARPs).
Currently, this server assumes this general architecture; however, it should be straightforward to add new hardware implementations (
./devices) in the future.- channels = {'down': {'channel': 'stirap_ch2', 'last_freq': 130}, 'up': {'channel': 'stirap_ch1', 'last_freq': 200}}
- connect()
- default_down_freq = 130
- default_up_freq = 200
- dt = 1
- initServer()
Initialize Server.
Called after registering settings and creating a client connection to labrad, but before we start serving requests.
- name = 'stirap'
- nsteps = 5000
- profiles = '[{"profile": 0, "freq": 10, "ampl": 0, "phase": 0}, {"profile": 1, "freq": 10, "ampl": 0, "phase": 0}, {"profile": 2, "freq": 10, "ampl": 0, "phase": 0}, {"profile": 3, "freq": 10, "ampl": 0, "phase": 0}, {"profile": 4, "freq": 10, "ampl": 0, "phase": 0}, {"profile": 5, "freq": 10, "ampl": 0, "phase": 0}, {"profile": 6, "freq": 10, "ampl": 0, "phase": 0}, {"profile": 7, "freq": 10, "ampl": 0, "phase": 0}]'
- servername = 'ad9910'
stirap_dds.devices package
stirap_dds.devices.arduino module
- class stirap_dds.devices.arduino.Arduino(config)
Bases:
DeviceWrapper- __init__(config)
defaults
- echo
non-defaults
- force_trigger(self)
Issues trigger to device instead of external trigger
- initialize()
- write_data(self, program, profiles)
Writes data to the Arduino. See
ad9910.ad9910_serverfor definitions ofProgramLineandProfile.- Parameters:
program (list(ProgramLine)) – list of
ProgramLinesprofiles (list(Profile)) – list of
Profiles