artiq/artiq/examples/no_hardware/repository/interactive.py

35 lines
1.5 KiB
Python
Raw Normal View History

2024-03-25 14:55:17 +08:00
from artiq.experiment import *
class InteractiveDemo(EnvExperiment):
def build(self):
pass
def run(self):
print("Waiting for user input...")
2024-03-25 15:30:29 +08:00
with self.interactive(title="Interactive Demo") as interactive:
interactive.setattr_argument("pyon_value",
PYONValue(self.get_dataset("foo", default=42)))
2024-03-25 14:55:17 +08:00
interactive.setattr_argument("number", NumberValue(42e-6,
2024-03-25 15:30:29 +08:00
unit="us",
precision=4))
2024-03-25 14:55:17 +08:00
interactive.setattr_argument("integer", NumberValue(42,
2024-03-25 15:30:29 +08:00
step=1, precision=0))
2024-03-25 14:55:17 +08:00
interactive.setattr_argument("string", StringValue("Hello World"))
2024-03-25 15:30:29 +08:00
interactive.setattr_argument("scan", Scannable(global_max=400,
default=NoScan(325),
precision=6))
interactive.setattr_argument("boolean", BooleanValue(True), "Group")
interactive.setattr_argument("enum",
EnumerationValue(["foo", "bar", "quux"], "foo"),
"Group")
2024-03-25 14:55:17 +08:00
print("Done! Values:")
2024-03-25 15:30:29 +08:00
print(interactive.pyon_value)
print(interactive.boolean)
print(interactive.enum)
2024-03-25 14:55:17 +08:00
print(interactive.number, type(interactive.number))
print(interactive.integer, type(interactive.integer))
print(interactive.string)
2024-03-25 15:30:29 +08:00
for i in interactive.scan:
print(i)