Skip to content
Snippets Groups Projects
Commit 368d84c2 authored by Sander de Snoo's avatar Sander de Snoo
Browse files

Merge branch 'dev' of https://github.com/stephanlphilips/pulse_lib into dev

parents ddbe0cd2 ea6780f2
No related branches found
No related tags found
No related merge requests found
......@@ -126,6 +126,29 @@ QbloxV1:
SD2: [Qblox_module8,1]
runner: core_tools
QbloxTest4:
station: qblox_test4.yaml
backend: Qblox
awg_channels:
Qblox_module4: [P1,P2,P3,]
Qblox_module6: [P4,P5,P6,P7]
Qblox_module2: [I1,Q1,I2,Q2]
markers:
M1: [Qblox_module12,0]
M_IQ1: [Qblox_module2,0]
M_IQ2: [Qblox_module2,2]
sensors:
SD1: [Qblox_module16,0]
SD2: [Qblox_module16,1]
rf:
SD2:
output: [Qblox_module16,1]
frequency: 125e6
amplitude: 400
startup_time: 200
prolongation_time: 4
runner: core_tools
QbloxGS1:
station: qblox_gs1.yaml
backend: Qblox
......@@ -144,8 +167,8 @@ QbloxGS1:
runner: core_tools
KeysightSdS:
# station: keysight_test_sds.yaml
station: keysight_test_sds_qs.yaml
station: keysight_test_sds.yaml
# station: keysight_test_sds_qs.yaml
backend: Keysight_QS
schedule: HVI2
# P1,P3,P6,P7 are connected to SD1-SD4
......
......@@ -148,8 +148,7 @@ class Context:
pulse.add_awg(getattr(station, awg_name))
pulse.define_channel(gate, awg_name, channel)
pulse.add_channel_compensation_limit(gate, (-100, 50))
# pulse.add_channel_attenuation(name, 0.2)
# pulse.add_channel_delay(name, value)
# pulse.add_channel_attenuation(gate, 0.1)
if virtual_gates:
n_gates = len(gates)
......@@ -228,6 +227,8 @@ class Context:
iq_out = rf_sources and sensor in cfg['rf']
pulse.define_digitizer_channel_iq(sensor, digitizer_name, channel,
iq_out=iq_out)
if backend == 'Qblox':
pulse.add_channel_delay(sensor, 152)
if n_sensors > 0 and backend == 'Tektronix_5014':
self._add_marker('M_M4i')
......@@ -244,7 +245,8 @@ class Context:
output=params['output'],
amplitude=params['amplitude'],
mode='pulsed',
startup_time_ns=params['startup_time'])
startup_time_ns=params['startup_time'],
prolongation_ns=params.get('prolongation_time', 0))
else:
output = params['output']
if not isinstance(output, str):
......@@ -254,7 +256,8 @@ class Context:
output=output,
amplitude=params.get('amplitude', None),
mode='pulsed',
startup_time_ns=params['startup_time'])
startup_time_ns=params['startup_time'],
prolongation_ns=params.get('prolongation_time', 0))
if backend == 'Tektronix_5014':
# pulselib always wants a digitizer for Tektronix
......@@ -322,6 +325,21 @@ class Context:
path = 'C:/measurements/test_pulselib'
DataSet.default_io = DiskIO(path)
def _play_loop(self, sequence, i, wait):
if i < len(sequence.params):
param = sequence.params[i]
for v in param.values:
param(v)
self._play_loop(sequence, i+1, wait)
else:
sequence.upload()
sequence.play()
if wait:
sequence.uploader.wait_until_AWG_idle()
def play(self, sequence, wait=False):
self._play_loop(sequence, 0, wait=wait)
def run(self, name, sequence, *params, silent=False, sweeps=[], close_sequence=True):
runner = self._configuration['runner']
self.last_sequence = sequence
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment