-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
ARTIQ is software that allows real-time communication with ARTIQ-compatible hardware (e.g., sinara hardware, check the Wiki pages within). Typically, ARTIQ communicates with ethernet connections between the core device (Kasli), and enables controlling multiple Kasli's at the same time (DRTIO). Kaslis are typically connected together using fibers. Each Kasli can connect to a number of devices (e.g., TTL in/out boards (BNC/SMA DIO), rf synthesizers (Urukul), etc.), and controls these devices.
An distinction of ARTIQ with some other control platform (e.g., pulser) is that you can write code to run in Kasli. This allows writing complex pulse sequences without worrying about using up the memory in the device, and allows pulse sequences to be changed in real time.
The ARTIQ documentation is likely the most helpful source (though not complete and may be slightly outdated). If you are working with a new system, the first step is to establish communication between the computer and the Kasli, and run some simple test programs (e.g., TTL outputs).
Follow hardware setup and software setup pages.
ARTIQ control relies on artiq_master
. It handles communications with the hardware and scheduling experiments. It allows provides data saving and parameter storing capabilities but we don't use these capabilities. We use vault
labrad server for data saving, and parameter_bank
for storing parameters.
We run artiq_master
automatically when we run the artiq
labrad server. If the artiq
server is stopped, artiq_master
is terminated too. The artiq
server provides functions to control experiments and get/set DDS or TTL parameters.
After running artiq_master
, the ARTIQ dashboard can be opened by running artiq_dashboard
in a command line. It connects to artiq_master
and provides GUI to control ARTIQ. It can create and destroy GUIs based on PyQt5 on-demand in the dashboard while showing logs for all GUIs.
GUI clients should be written as ARTIQ applets. Applets can be created dynamically in the dashboard, so they can be turned on only when needed, and they can turned off and on without restarting the dashboard. The log display in the dashboard provides a good way to debug those applets.
Use $python -m __applet_path__
in the applet window of the dashboard to run an applet. The __applet_path__
is the same as how you would import the module (e.g., $python -m jax.applets.dds
).
See ARTIQ applets for more details about writing an applet.
ARTIQ experiments can be used to control both sinara hardware or any other hardware. See ARTIQ experiments for more details.