Newer
Older
from pyLIAF.artiq.controllers import UrukulCh
from pyLIAF.artiq.dummies import RedPitaya
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import numpy as np
class TestDataset(EnvExperiment):
"""Test dataset con Pitaya dummy
"""
def build(self):
self.setattr_device("core")
# global attenuation
self.setattr_argument("nro_meds", NumberValue(10, min=1, step=1, ndecimals=0))
self.RP = RedPitaya()
self.setattr_device("ccb")
def run(self):
self.set_dataset("tensiones", np.full(self.nro_meds, 0.), broadcast=True, archive=False)
self.ccb.issue("create_applet", "datos_medidos",
"${artiq_applet}plot_xy "
"tensiones")
self.kernel_run()
@rpc
def get_measurement(self, i):
val = self.RP.give_measurement()
self.mutate_dataset("tensiones", i, val)
@kernel
def kernel_run(self):
self.core.reset()
delay(10*ms)
for i in range(self.nro_meds):
self.get_measurement(i)
delay(1*s)
self.core.break_realtime()
def analyze(self):
datos = self.get_dataset("tensiones")
print(f"Media: {np.mean(datos)}")
print(f"Std: {np.std(datos)}")