Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. from artiq.experiment import *
  2. from artiq.language.core import syscall
  3.  
  4. @syscall
  5. def mem_test() -> TNone:
  6. raise NotImplementedError("syscall not simulated")
  7.  
  8. class SAWGTestSines(EnvExperiment):
  9. def build(self):
  10. self.setattr_device("core")
  11. self.sawgs = [self.get_device("sawg"+str(i)) for i in range(8)]
  12. self.freq_list = self.linspace(10.0*MHz, 24.0*MHz, 100)
  13.  
  14. def linspace(self, start, stop, num):
  15. dx = (stop-start)/(num-1)
  16. return [start+n*dx for n in range(num)]
  17.  
  18. @kernel
  19. def run(self):
  20. self.core.reset()
  21. delay(1*ms)
  22.  
  23. while True:
  24. self.k1()
  25.  
  26. @kernel
  27. def k1(self):
  28. for freq in self.freq_list:
  29. delay(300*ms)
  30. core_log(freq)
  31. for sawg in self.sawgs:
  32. mem_test()
  33. self.core.break_realtime()
  34. sawg.amplitude1.set(0.99)
  35. mem_test()
  36. self.core.break_realtime()
  37. sawg.frequency0.set(freq)
  38. mem_test()
  39. self.core.break_realtime()
  40. sawg.frequency1.set(5*MHz)
  41. mem_test()
  42. self.core.break_realtime()
  43. sawg.frequency2.set(-5*MHz)
  44. mem_test()
  45. self.core.break_realtime()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement