Getting Started - Jayich-Lab/artiq GitHub Wiki
This page aims to give an overview of a general procedure to learn ARTIQ. Refer to frequently encountered problems too.
Links
Start from Scratch
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). Kasli's 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.
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).
Set up code infrastructure
After making the connection to Kasli, the next step is to set up code infrastructure that supports ARTIQ. Follow Software Setup.
Run ARTIQ control software
ARTIQ provides artiq_master
and artiq_dashboard
which are commonly used.
-
artiq_master
depends on "config/artiq_master.py" config file. Once the config file is set correctly, use "artiq_master/artiq_master.bat" to run the artiq master. -
Run LabRAD manager, web manager, and node.
-
Run
parameter_vault
,relay_server
,drift_tracker_server
, andartiq_control
servers in LabRAD. -
Run
artiq_dashboard
to run ARTIQ dashboard.
ARTIQ experiments
ARTIQ applets
Most clients should be written in terms of 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 applets should be placed in artiq\artiq\applets
, and should inherit from QtWidgets.QDockWidget
. They can listen to changes in the datasets. See the applets in the folder for examples. These applets can be run in cmd
directly as standalone clients, or then can be added in the applets
panel in the dashboard and run in the dashboard.
The applets can be connected to the artiq_control
LabRAD server (or other LabRAD servers). The artiq_control
server can be used to read information with connected boards, to run experiments, and to modify datasets.