artiq/artiq/examples/no_hardware/repository/code_applet.py

30 lines
1.1 KiB
Python

import os
import time
from artiq.experiment import *
# Do the applet source code path determination on import.
# ARTIQ imports the experiment, then changes the current
# directory to the results, then instantiates the experiment.
# In Python __file__ is a relative path which is not updated
# when the current directory is changed.
custom_applet = os.path.abspath(os.path.join(os.path.dirname(__file__),
"custom_applet.py"))
class CreateCodeApplet(EnvExperiment):
def build(self):
self.setattr_device("ccb")
def run(self):
with open(custom_applet) as f:
self.ccb.issue("create_applet", "code_applet_example",
"code_applet_dataset", code=f.read(), group="autoapplet")
for i in reversed(range(10)):
self.set_dataset("code_applet_dataset", i,
broadcast=True, archive=False)
time.sleep(1)
self.ccb.issue("disable_applet", "code_applet_example",
group="autoapplet")