from numpy import int64 from min_artiq import * @nac3 class A: pass @nac3 class B(A): pass @nac3 class C(B): pass @kernel def test(): pass @nac3 class Demo: core: Kernel[Core] led0: Kernel[TTLOut] optt: Kernel[float] t_mu: Kernel[int64] def __init__(self): self.core = Core() self.led0 = TTLOut(self.core, 18) self.optt = 0.0 self.t_mu = int64(0) @kernel def set_time_kernel(self, t: float): self.optt = t self.t_mu = self.core.seconds_to_mu(self.optt) @kernel def run(self): for t in [20.*us, 15.*us, 10.*us, 5.*us, 2.*us, 1.*us]: self.set_time_kernel(t) self.core.reset() for _ in range(10000): self.led0.pulse(self.optt) if __name__ == "__main__": Demo().run()