From 6f90a43df28bf439adcf0298fcd008082869384b Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sun, 28 Jan 2018 02:11:45 +0800 Subject: [PATCH] examples: reorganize for new hardware --- artiq/examples/kc705/device_db.py | 364 ++++++++++++++++++ .../examples/{master => kc705}/idle_kernel.py | 0 .../simple => kc705/repository}/ad5360.py | 0 .../repository}/blink_forever.py | 0 .../repository/core_pause.py | 0 .../repository}/dds_setter.py | 0 .../simple => kc705/repository}/dds_test.py | 0 .../simple => kc705/repository}/dma_blink.py | 0 .../simple => kc705/repository}/handover.py | 0 .../simple => kc705/repository}/mandelbrot.py | 0 .../repository}/photon_histogram.py | 0 .../repository/speed_benchmark.py | 0 .../repository}/tdr.py | 0 .../simple => kc705/repository}/urukul.py | 0 artiq/examples/master/device_db.py | 28 +- .../{sim => no_hardware}/device_db.py | 23 ++ .../repository}/al_spectroscopy.py | 0 .../repository/arguments_demo.py | 0 .../repository/code_applet.py | 0 .../repository/custom_applet.py | 0 .../repository/flopping_f_simulation.py | 0 .../repository/histograms.py | 0 .../repository/multi_scan.py | 0 .../repository/remote_exec_demo.py | 0 .../repository/remote_exec_processing.py | 0 .../repository/run_forever.py | 0 .../repository}/simple_simulation.py | 0 .../repository}/terminate_all.py | 0 .../repository/thumbnail.py | 0 .../{drtio => sayma_drtio}/device_db.py | 0 .../repository/ad9154_spi.py | 0 .../repository/blink_forever.py | 0 .../repository/pulse_rate.py | 0 .../{sayma => sayma_standalone}/device_db.py | 0 .../repository/blink_led.py | 0 .../repository/demo.py | 0 .../repository/demo_2tone.py | 0 .../repository/test_ad9154_status.py | 0 38 files changed, 390 insertions(+), 25 deletions(-) create mode 100644 artiq/examples/kc705/device_db.py rename artiq/examples/{master => kc705}/idle_kernel.py (100%) rename artiq/examples/{master/repository/coredevice_examples/simple => kc705/repository}/ad5360.py (100%) rename artiq/examples/{master/repository/coredevice_examples/simple => kc705/repository}/blink_forever.py (100%) rename artiq/examples/{master => kc705}/repository/core_pause.py (100%) rename artiq/examples/{master/repository/utilities => kc705/repository}/dds_setter.py (100%) rename artiq/examples/{master/repository/coredevice_examples/simple => kc705/repository}/dds_test.py (100%) rename artiq/examples/{master/repository/coredevice_examples/simple => kc705/repository}/dma_blink.py (100%) rename artiq/examples/{master/repository/coredevice_examples/simple => kc705/repository}/handover.py (100%) rename artiq/examples/{master/repository/coredevice_examples/simple => kc705/repository}/mandelbrot.py (100%) rename artiq/examples/{master/repository/coredevice_examples => kc705/repository}/photon_histogram.py (100%) rename artiq/examples/{master => kc705}/repository/speed_benchmark.py (100%) rename artiq/examples/{master/repository/coredevice_examples => kc705/repository}/tdr.py (100%) rename artiq/examples/{master/repository/coredevice_examples/simple => kc705/repository}/urukul.py (100%) rename artiq/examples/{sim => no_hardware}/device_db.py (66%) rename artiq/examples/{sim => no_hardware/repository}/al_spectroscopy.py (100%) rename artiq/examples/{master => no_hardware}/repository/arguments_demo.py (100%) rename artiq/examples/{master => no_hardware}/repository/code_applet.py (100%) rename artiq/examples/{master => no_hardware}/repository/custom_applet.py (100%) rename artiq/examples/{master => no_hardware}/repository/flopping_f_simulation.py (100%) rename artiq/examples/{master => no_hardware}/repository/histograms.py (100%) rename artiq/examples/{master => no_hardware}/repository/multi_scan.py (100%) rename artiq/examples/{master => no_hardware}/repository/remote_exec_demo.py (100%) rename artiq/examples/{master => no_hardware}/repository/remote_exec_processing.py (100%) rename artiq/examples/{master => no_hardware}/repository/run_forever.py (100%) rename artiq/examples/{sim => no_hardware/repository}/simple_simulation.py (100%) rename artiq/examples/{master/repository/utilities => no_hardware/repository}/terminate_all.py (100%) rename artiq/examples/{master => no_hardware}/repository/thumbnail.py (100%) rename artiq/examples/{drtio => sayma_drtio}/device_db.py (100%) rename artiq/examples/{drtio => sayma_drtio}/repository/ad9154_spi.py (100%) rename artiq/examples/{drtio => sayma_drtio}/repository/blink_forever.py (100%) rename artiq/examples/{drtio => sayma_drtio}/repository/pulse_rate.py (100%) rename artiq/examples/{sayma => sayma_standalone}/device_db.py (100%) rename artiq/examples/{sayma => sayma_standalone}/repository/blink_led.py (100%) rename artiq/examples/{sayma => sayma_standalone}/repository/demo.py (100%) rename artiq/examples/{sayma => sayma_standalone}/repository/demo_2tone.py (100%) rename artiq/examples/{sayma => sayma_standalone}/repository/test_ad9154_status.py (100%) diff --git a/artiq/examples/kc705/device_db.py b/artiq/examples/kc705/device_db.py new file mode 100644 index 000000000..28117fca0 --- /dev/null +++ b/artiq/examples/kc705/device_db.py @@ -0,0 +1,364 @@ +# This is an example device database that needs to be adapted to your setup. +# The RTIO channel numbers here are for NIST CLOCK on KC705. +# The list of devices here is not exhaustive. + +core_addr = "kc705-1.lab.m-labs.hk" + +device_db = { + # Core device + "core": { + "type": "local", + "module": "artiq.coredevice.core", + "class": "Core", + "arguments": {"host": core_addr, "ref_period": 1e-9} + }, + "core_log": { + "type": "controller", + "host": "::1", + "port": 1068, + "command": "aqctl_corelog -p {port} --bind {bind} " + core_addr + }, + "core_cache": { + "type": "local", + "module": "artiq.coredevice.cache", + "class": "CoreCache" + }, + "core_dma": { + "type": "local", + "module": "artiq.coredevice.dma", + "class": "CoreDMA" + }, + "core_dds": { + "type": "local", + "module": "artiq.coredevice.dds", + "class": "DDSGroupAD9914", + "arguments": { + "sysclk": 3e9, + "first_dds_bus_channel": 39, + "dds_bus_count": 2, + "dds_channel_count": 3 + } + }, + + "i2c_switch": { + "type": "local", + "module": "artiq.coredevice.i2c", + "class": "PCA9548" + }, + + # Generic TTL + "ttl0": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 0}, + "comment": "This is a fairly long comment, shown as tooltip." + }, + "ttl1": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 1}, + "comment": "Hello World" + }, + "ttl2": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 2} + }, + "ttl3": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLInOut", + "arguments": {"channel": 3} + }, + + "ttl4": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 4} + }, + "ttl5": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 5} + }, + "ttl6": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 6} + }, + "ttl7": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLInOut", + "arguments": {"channel": 7} + }, + "ttl_sma": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLInOut", + "arguments": {"channel": 18} + }, + "led": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 19} + }, + "ttl_clock_la32_p": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLClockGen", + "arguments": {"channel": 21} + }, + + # Generic SPI + "spi0": { + "type": "local", + "module": "artiq.coredevice.spi", + "class": "SPIMaster", + "arguments": {"channel": 23} + }, + "spi_mmc": { + "type": "local", + "module": "artiq.coredevice.spi", + "class": "SPIMaster", + "arguments": {"channel": 26} + }, + + # FMC DIO used to connect to Zotino + "fmcdio_dirctl_clk": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 27} + }, + "fmcdio_dirctl_ser": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 28} + }, + "fmcdio_dirctl_latch": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 29} + }, + "fmcdio_dirctl": { + "type": "local", + "module": "artiq.coredevice.shiftreg", + "class": "ShiftReg", + "arguments": {"clk": "fmcdio_dirctl_clk", + "ser": "fmcdio_dirctl_ser", + "latch": "fmcdio_dirctl_latch"} + }, + + # DAC + "spi_ams101": { + "type": "local", + "module": "artiq.coredevice.spi", + "class": "SPIMaster", + "arguments": {"channel": 22} + }, + "ttl_ams101_ldac": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 20} + }, + "spi_zotino": { + "type": "local", + "module": "artiq.coredevice.spi", + "class": "SPIMaster", + "arguments": {"channel": 30} + }, + "ttl_zotino_ldac": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 31} + }, + "dac_zotino": { + "type": "local", + "module": "artiq.coredevice.ad5360", + "class": "AD5360", + "arguments": {"spi_device": "spi_zotino", "ldac_device": "ttl_zotino_ldac"} + }, + + "spi_urukul": { + "type": "local", + "module": "artiq.coredevice.spi", + "class": "SPIMaster", + "arguments": {"channel": 32} + }, + "ttl_urukul_io_update": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 33} + }, + "ttl_urukul_sw0": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 35} + }, + "ttl_urukul_sw1": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 36} + }, + "ttl_urukul_sw2": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 37} + }, + "ttl_urukul_sw3": { + "type": "local", + "module": "artiq.coredevice.ttl", + "class": "TTLOut", + "arguments": {"channel": 38} + }, + "urukul_cpld": { + "type": "local", + "module": "artiq.coredevice.urukul", + "class": "CPLD", + "arguments": { + "spi_device": "spi_urukul", + "io_update_device": "ttl_urukul_io_update", + "refclk": 100e6 + } + }, + "urukul_ch0a": { + "type": "local", + "module": "artiq.coredevice.ad9912", + "class": "AD9912", + "arguments": { + "pll_n": 10, + "chip_select": 4, + "cpld_device": "urukul_cpld", + "sw_device": "ttl_urukul_sw0" + } + }, + "urukul_ch1a": { + "type": "local", + "module": "artiq.coredevice.ad9912", + "class": "AD9912", + "arguments": { + "pll_n": 10, + "chip_select": 5, + "cpld_device": "urukul_cpld", + "sw_device": "ttl_urukul_sw1" + } + }, + "urukul_ch2a": { + "type": "local", + "module": "artiq.coredevice.ad9912", + "class": "AD9912", + "arguments": { + "pll_n": 10, + "chip_select": 6, + "cpld_device": "urukul_cpld", + "sw_device": "ttl_urukul_sw2" + } + }, + "urukul_ch3a": { + "type": "local", + "module": "artiq.coredevice.ad9912", + "class": "AD9912", + "arguments": { + "pll_n": 10, + "chip_select": 7, + "cpld_device": "urukul_cpld", + "sw_device": "ttl_urukul_sw3" + } + }, + "urukul_ch0b": { + "type": "local", + "module": "artiq.coredevice.ad9910", + "class": "AD9910", + "arguments": { + "pll_n": 40, + "chip_select": 4, + "cpld_device": "urukul_cpld", + "sw_device": "ttl_urukul_sw0" + } + }, + "urukul_ch1b": { + "type": "local", + "module": "artiq.coredevice.ad9910", + "class": "AD9910", + "arguments": { + "pll_n": 40, + "chip_select": 5, + "cpld_device": "urukul_cpld", + "sw_device": "ttl_urukul_sw1" + } + }, + "urukul_ch2b": { + "type": "local", + "module": "artiq.coredevice.ad9910", + "class": "AD9910", + "arguments": { + "pll_n": 40, + "chip_select": 6, + "cpld_device": "urukul_cpld", + "sw_device": "ttl_urukul_sw2" + } + }, + "urukul_ch3b": { + "type": "local", + "module": "artiq.coredevice.ad9910", + "class": "AD9910", + "arguments": { + "pll_n": 40, + "chip_select": 7, + "cpld_device": "urukul_cpld", + "sw_device": "ttl_urukul_sw3" + } + }, + + # AD9914 DDS + "dds0": { + "type": "local", + "module": "artiq.coredevice.dds", + "class": "DDSChannelAD9914", + "arguments": {"bus_channel": 39, "channel": 0}, + "comment": "Comments work in DDS panel as well" + }, + "dds1": { + "type": "local", + "module": "artiq.coredevice.dds", + "class": "DDSChannelAD9914", + "arguments": {"bus_channel": 39, "channel": 1} + }, + "dds2": { + "type": "local", + "module": "artiq.coredevice.dds", + "class": "DDSChannelAD9914", + "arguments": {"bus_channel": 39, "channel": 2} + }, + + # Aliases + "ttl_out": "ttl0", + "ttl_out_serdes": "ttl0", + + "loop_out": "ttl0", + "loop_in": "ttl3", + "loop_clock_out": "ttl_clock_la32_p", + "loop_clock_in": "ttl7", + + "pmt": "ttl3", + "bd_dds": "dds0", + "bd_sw": "ttl0", + "bdd_dds": "dds1", + "bdd_sw": "ttl1" +} diff --git a/artiq/examples/master/idle_kernel.py b/artiq/examples/kc705/idle_kernel.py similarity index 100% rename from artiq/examples/master/idle_kernel.py rename to artiq/examples/kc705/idle_kernel.py diff --git a/artiq/examples/master/repository/coredevice_examples/simple/ad5360.py b/artiq/examples/kc705/repository/ad5360.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/simple/ad5360.py rename to artiq/examples/kc705/repository/ad5360.py diff --git a/artiq/examples/master/repository/coredevice_examples/simple/blink_forever.py b/artiq/examples/kc705/repository/blink_forever.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/simple/blink_forever.py rename to artiq/examples/kc705/repository/blink_forever.py diff --git a/artiq/examples/master/repository/core_pause.py b/artiq/examples/kc705/repository/core_pause.py similarity index 100% rename from artiq/examples/master/repository/core_pause.py rename to artiq/examples/kc705/repository/core_pause.py diff --git a/artiq/examples/master/repository/utilities/dds_setter.py b/artiq/examples/kc705/repository/dds_setter.py similarity index 100% rename from artiq/examples/master/repository/utilities/dds_setter.py rename to artiq/examples/kc705/repository/dds_setter.py diff --git a/artiq/examples/master/repository/coredevice_examples/simple/dds_test.py b/artiq/examples/kc705/repository/dds_test.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/simple/dds_test.py rename to artiq/examples/kc705/repository/dds_test.py diff --git a/artiq/examples/master/repository/coredevice_examples/simple/dma_blink.py b/artiq/examples/kc705/repository/dma_blink.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/simple/dma_blink.py rename to artiq/examples/kc705/repository/dma_blink.py diff --git a/artiq/examples/master/repository/coredevice_examples/simple/handover.py b/artiq/examples/kc705/repository/handover.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/simple/handover.py rename to artiq/examples/kc705/repository/handover.py diff --git a/artiq/examples/master/repository/coredevice_examples/simple/mandelbrot.py b/artiq/examples/kc705/repository/mandelbrot.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/simple/mandelbrot.py rename to artiq/examples/kc705/repository/mandelbrot.py diff --git a/artiq/examples/master/repository/coredevice_examples/photon_histogram.py b/artiq/examples/kc705/repository/photon_histogram.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/photon_histogram.py rename to artiq/examples/kc705/repository/photon_histogram.py diff --git a/artiq/examples/master/repository/speed_benchmark.py b/artiq/examples/kc705/repository/speed_benchmark.py similarity index 100% rename from artiq/examples/master/repository/speed_benchmark.py rename to artiq/examples/kc705/repository/speed_benchmark.py diff --git a/artiq/examples/master/repository/coredevice_examples/tdr.py b/artiq/examples/kc705/repository/tdr.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/tdr.py rename to artiq/examples/kc705/repository/tdr.py diff --git a/artiq/examples/master/repository/coredevice_examples/simple/urukul.py b/artiq/examples/kc705/repository/urukul.py similarity index 100% rename from artiq/examples/master/repository/coredevice_examples/simple/urukul.py rename to artiq/examples/kc705/repository/urukul.py diff --git a/artiq/examples/master/device_db.py b/artiq/examples/master/device_db.py index 6c2a45347..44cf3d72f 100644 --- a/artiq/examples/master/device_db.py +++ b/artiq/examples/master/device_db.py @@ -1,6 +1,6 @@ -# This is an example device database that needs to be adapted to your setup. -# The RTIO channel numbers here are for NIST CLOCK on KC705. -# The list of devices here is not exhaustive. +# Copy of the KC705 device database, for compatibility of the buildbot and +# unit tests with release-3. +# Remove and update buildbot when release-3 is no longer maintained. core_addr = "kc705-1.lab.m-labs.hk" @@ -347,28 +347,6 @@ device_db = { "arguments": {"bus_channel": 39, "channel": 2} }, - # Controllers - "lda": { - "type": "controller", - "best_effort": True, - "host": "::1", - "port": 3253, - "command": "aqctl_lda -p {port} --bind {bind} --simulation" - }, - - "camera_sim": { - "type": "controller", - "host": "::1", - "port": 6283, - "target_name": "camera_sim", - "command": "python3 -m artiq.examples.remote_exec_controller" - }, - "camera_sim_rexec": { - "type": "controller_aux_target", - "controller": "camera_sim", - "target_name": "camera_sim_rexec" - }, - # Aliases "ttl_out": "ttl0", "ttl_out_serdes": "ttl0", diff --git a/artiq/examples/sim/device_db.py b/artiq/examples/no_hardware/device_db.py similarity index 66% rename from artiq/examples/sim/device_db.py rename to artiq/examples/no_hardware/device_db.py index 2fe351a5b..6e3c29af4 100644 --- a/artiq/examples/sim/device_db.py +++ b/artiq/examples/no_hardware/device_db.py @@ -41,4 +41,27 @@ device_db = { "class": "WaveOutput", "arguments": {"name": "state_detection"} }, + + # Controllers + "lda": { + "type": "controller", + "best_effort": True, + "host": "::1", + "port": 3253, + "command": "aqctl_lda -p {port} --bind {bind} --simulation" + }, + + "camera_sim": { + "type": "controller", + "host": "::1", + "port": 6283, + "target_name": "camera_sim", + "command": "python3 -m artiq.examples.remote_exec_controller" + }, + "camera_sim_rexec": { + "type": "controller_aux_target", + "controller": "camera_sim", + "target_name": "camera_sim_rexec" + }, + } diff --git a/artiq/examples/sim/al_spectroscopy.py b/artiq/examples/no_hardware/repository/al_spectroscopy.py similarity index 100% rename from artiq/examples/sim/al_spectroscopy.py rename to artiq/examples/no_hardware/repository/al_spectroscopy.py diff --git a/artiq/examples/master/repository/arguments_demo.py b/artiq/examples/no_hardware/repository/arguments_demo.py similarity index 100% rename from artiq/examples/master/repository/arguments_demo.py rename to artiq/examples/no_hardware/repository/arguments_demo.py diff --git a/artiq/examples/master/repository/code_applet.py b/artiq/examples/no_hardware/repository/code_applet.py similarity index 100% rename from artiq/examples/master/repository/code_applet.py rename to artiq/examples/no_hardware/repository/code_applet.py diff --git a/artiq/examples/master/repository/custom_applet.py b/artiq/examples/no_hardware/repository/custom_applet.py similarity index 100% rename from artiq/examples/master/repository/custom_applet.py rename to artiq/examples/no_hardware/repository/custom_applet.py diff --git a/artiq/examples/master/repository/flopping_f_simulation.py b/artiq/examples/no_hardware/repository/flopping_f_simulation.py similarity index 100% rename from artiq/examples/master/repository/flopping_f_simulation.py rename to artiq/examples/no_hardware/repository/flopping_f_simulation.py diff --git a/artiq/examples/master/repository/histograms.py b/artiq/examples/no_hardware/repository/histograms.py similarity index 100% rename from artiq/examples/master/repository/histograms.py rename to artiq/examples/no_hardware/repository/histograms.py diff --git a/artiq/examples/master/repository/multi_scan.py b/artiq/examples/no_hardware/repository/multi_scan.py similarity index 100% rename from artiq/examples/master/repository/multi_scan.py rename to artiq/examples/no_hardware/repository/multi_scan.py diff --git a/artiq/examples/master/repository/remote_exec_demo.py b/artiq/examples/no_hardware/repository/remote_exec_demo.py similarity index 100% rename from artiq/examples/master/repository/remote_exec_demo.py rename to artiq/examples/no_hardware/repository/remote_exec_demo.py diff --git a/artiq/examples/master/repository/remote_exec_processing.py b/artiq/examples/no_hardware/repository/remote_exec_processing.py similarity index 100% rename from artiq/examples/master/repository/remote_exec_processing.py rename to artiq/examples/no_hardware/repository/remote_exec_processing.py diff --git a/artiq/examples/master/repository/run_forever.py b/artiq/examples/no_hardware/repository/run_forever.py similarity index 100% rename from artiq/examples/master/repository/run_forever.py rename to artiq/examples/no_hardware/repository/run_forever.py diff --git a/artiq/examples/sim/simple_simulation.py b/artiq/examples/no_hardware/repository/simple_simulation.py similarity index 100% rename from artiq/examples/sim/simple_simulation.py rename to artiq/examples/no_hardware/repository/simple_simulation.py diff --git a/artiq/examples/master/repository/utilities/terminate_all.py b/artiq/examples/no_hardware/repository/terminate_all.py similarity index 100% rename from artiq/examples/master/repository/utilities/terminate_all.py rename to artiq/examples/no_hardware/repository/terminate_all.py diff --git a/artiq/examples/master/repository/thumbnail.py b/artiq/examples/no_hardware/repository/thumbnail.py similarity index 100% rename from artiq/examples/master/repository/thumbnail.py rename to artiq/examples/no_hardware/repository/thumbnail.py diff --git a/artiq/examples/drtio/device_db.py b/artiq/examples/sayma_drtio/device_db.py similarity index 100% rename from artiq/examples/drtio/device_db.py rename to artiq/examples/sayma_drtio/device_db.py diff --git a/artiq/examples/drtio/repository/ad9154_spi.py b/artiq/examples/sayma_drtio/repository/ad9154_spi.py similarity index 100% rename from artiq/examples/drtio/repository/ad9154_spi.py rename to artiq/examples/sayma_drtio/repository/ad9154_spi.py diff --git a/artiq/examples/drtio/repository/blink_forever.py b/artiq/examples/sayma_drtio/repository/blink_forever.py similarity index 100% rename from artiq/examples/drtio/repository/blink_forever.py rename to artiq/examples/sayma_drtio/repository/blink_forever.py diff --git a/artiq/examples/drtio/repository/pulse_rate.py b/artiq/examples/sayma_drtio/repository/pulse_rate.py similarity index 100% rename from artiq/examples/drtio/repository/pulse_rate.py rename to artiq/examples/sayma_drtio/repository/pulse_rate.py diff --git a/artiq/examples/sayma/device_db.py b/artiq/examples/sayma_standalone/device_db.py similarity index 100% rename from artiq/examples/sayma/device_db.py rename to artiq/examples/sayma_standalone/device_db.py diff --git a/artiq/examples/sayma/repository/blink_led.py b/artiq/examples/sayma_standalone/repository/blink_led.py similarity index 100% rename from artiq/examples/sayma/repository/blink_led.py rename to artiq/examples/sayma_standalone/repository/blink_led.py diff --git a/artiq/examples/sayma/repository/demo.py b/artiq/examples/sayma_standalone/repository/demo.py similarity index 100% rename from artiq/examples/sayma/repository/demo.py rename to artiq/examples/sayma_standalone/repository/demo.py diff --git a/artiq/examples/sayma/repository/demo_2tone.py b/artiq/examples/sayma_standalone/repository/demo_2tone.py similarity index 100% rename from artiq/examples/sayma/repository/demo_2tone.py rename to artiq/examples/sayma_standalone/repository/demo_2tone.py diff --git a/artiq/examples/sayma/repository/test_ad9154_status.py b/artiq/examples/sayma_standalone/repository/test_ad9154_status.py similarity index 100% rename from artiq/examples/sayma/repository/test_ad9154_status.py rename to artiq/examples/sayma_standalone/repository/test_ad9154_status.py