From 3d6fab676f4349e72d583fca54e75a44da0c8419 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Wed, 17 Sep 2014 19:54:20 +0800 Subject: [PATCH] examples: add RTIO loopback --- examples/rtio_loopback.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 examples/rtio_loopback.py diff --git a/examples/rtio_loopback.py b/examples/rtio_loopback.py new file mode 100644 index 000000000..f2d009ee9 --- /dev/null +++ b/examples/rtio_loopback.py @@ -0,0 +1,31 @@ +from artiq.language.core import * +from artiq.language.units import * +from artiq.devices import corecom_serial, core, rtio_core + + +class RTIOLoopback(AutoContext): + parameters = "i o" + + def report(self, n): + print(n) + + @kernel + def run(self): + with parallel: + with sequential: + for i in range(4): + delay(25*ns) + self.o.pulse(25*ns) + self.i.count_rising(1*us) + self.report(self.i.sync()) + + +if __name__ == "__main__": + with corecom_serial.CoreCom() as com: + coredev = core.Core(com) + exp = RTIOLoopback( + core=coredev, + i=rtio_core.RTIOCounter(core=coredev, channel=0), + o=rtio_core.RTIOOut(core=coredev, channel=1) + ) + exp.run()