Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from artiq.experiment import *
- from artiq.language.core import syscall
- @syscall
- def mem_test() -> TNone:
- raise NotImplementedError("syscall not simulated")
- class SAWGTestSines(EnvExperiment):
- def build(self):
- self.setattr_device("core")
- self.sawgs = [self.get_device("sawg"+str(i)) for i in range(8)]
- self.freq_list = self.linspace(10.0*MHz, 24.0*MHz, 100)
- def linspace(self, start, stop, num):
- dx = (stop-start)/(num-1)
- return [start+n*dx for n in range(num)]
- @kernel
- def run(self):
- self.core.reset()
- delay(1*ms)
- while True:
- self.k1()
- @kernel
- def k1(self):
- for freq in self.freq_list:
- delay(300*ms)
- core_log(freq)
- for sawg in self.sawgs:
- mem_test()
- self.core.break_realtime()
- sawg.amplitude1.set(0.99)
- mem_test()
- self.core.break_realtime()
- sawg.frequency0.set(freq)
- mem_test()
- self.core.break_realtime()
- sawg.frequency1.set(5*MHz)
- mem_test()
- self.core.break_realtime()
- sawg.frequency2.set(-5*MHz)
- mem_test()
- self.core.break_realtime()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement