2021-10-08 23:41:41 +08:00
|
|
|
from min_artiq import *
|
2022-02-21 17:52:34 +08:00
|
|
|
|
|
|
|
|
2021-11-05 18:07:43 +08:00
|
|
|
@nac3
|
2021-10-08 23:41:41 +08:00
|
|
|
class Demo:
|
2021-11-06 22:50:28 +08:00
|
|
|
core: KernelInvariant[Core]
|
|
|
|
led0: KernelInvariant[TTLOut]
|
|
|
|
led1: KernelInvariant[TTLOut]
|
2021-09-25 14:17:11 +08:00
|
|
|
|
2021-10-08 23:41:41 +08:00
|
|
|
def __init__(self):
|
|
|
|
self.core = Core()
|
2021-11-05 18:07:18 +08:00
|
|
|
self.led0 = TTLOut(self.core, 18)
|
|
|
|
self.led1 = TTLOut(self.core, 19)
|
2020-12-18 23:44:45 +08:00
|
|
|
|
|
|
|
@kernel
|
2021-11-06 18:41:59 +08:00
|
|
|
def run(self):
|
2024-07-19 18:18:08 +08:00
|
|
|
a = np_array([[1., 2.], [3., 4.]])
|
|
|
|
b = try_invert_to(a)
|
|
|
|
if b:
|
|
|
|
# self.core.reset()
|
|
|
|
# while True:
|
|
|
|
# with parallel:
|
|
|
|
# self.led0.pulse(100.*ms)
|
|
|
|
# self.led1.pulse(100.*ms)
|
|
|
|
# self.core.delay(100.*ms)
|
|
|
|
v = try_invert_to(np_identity(2))
|
|
|
|
if v:
|
|
|
|
while True:
|
|
|
|
with parallel:
|
|
|
|
self.led0.pulse(100.*ms)
|
|
|
|
self.led1.pulse(100.*ms)
|
|
|
|
self.core.delay(100.*ms)
|
|
|
|
|
2020-12-18 23:44:45 +08:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2021-10-10 17:45:38 +08:00
|
|
|
Demo().run()
|