forked from M-Labs/artiq
ddb: controller support
This commit is contained in:
parent
776381a332
commit
2f06574381
|
@ -5,6 +5,7 @@ import numpy
|
|||
import h5py
|
||||
|
||||
from artiq.protocols.sync_struct import Notifier
|
||||
from artiq.protocols.pc_rpc import Client
|
||||
|
||||
|
||||
_type_to_hdf5 = {
|
||||
|
@ -72,9 +73,15 @@ class ResultDB:
|
|||
|
||||
|
||||
def _create_device(desc, dbh):
|
||||
ty = desc["type"]
|
||||
if ty == "local":
|
||||
module = importlib.import_module(desc["module"])
|
||||
device_class = getattr(module, desc["class"])
|
||||
return device_class(dbh, **desc["arguments"])
|
||||
elif ty == "controller":
|
||||
return Client(desc["host"], desc["port"], desc["target_name"])
|
||||
else:
|
||||
raise ValueError("Unsupported type in device DB: " + ty)
|
||||
|
||||
|
||||
class DBHub:
|
||||
|
@ -112,5 +119,7 @@ class DBHub:
|
|||
|
||||
"""
|
||||
for dev in reversed(list(self.active_devices.values())):
|
||||
if hasattr(dev, "close"):
|
||||
if isinstance(dev, Client):
|
||||
dev.close_rpc()
|
||||
elif hasattr(dev, "close"):
|
||||
dev.close()
|
||||
|
|
|
@ -1,65 +1,77 @@
|
|||
{
|
||||
"comm": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.comm_serial",
|
||||
"class": "Comm",
|
||||
"arguments": {}
|
||||
},
|
||||
"core": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.core",
|
||||
"class": "Core",
|
||||
"arguments": {}
|
||||
},
|
||||
|
||||
"led": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.gpio",
|
||||
"class": "GPIOOut",
|
||||
"arguments": {"channel": 0}
|
||||
},
|
||||
|
||||
"pmt0": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.rtio",
|
||||
"class": "RTIOIn",
|
||||
"arguments": {"channel": 0}
|
||||
},
|
||||
"pmt1": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.rtio",
|
||||
"class": "RTIOIn",
|
||||
"arguments": {"channel": 1}
|
||||
},
|
||||
|
||||
"ttl0": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.rtio",
|
||||
"class": "RTIOOut",
|
||||
"arguments": {"channel": 2}
|
||||
},
|
||||
"ttl1": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.rtio",
|
||||
"class": "RTIOOut",
|
||||
"arguments": {"channel": 3}
|
||||
},
|
||||
"ttl2": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.rtio",
|
||||
"class": "RTIOOut",
|
||||
"arguments": {"channel": 4}
|
||||
},
|
||||
|
||||
"dds0": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.dds",
|
||||
"class": "DDS",
|
||||
"arguments": {"reg_channel": 0, "rtio_switch": 5}
|
||||
},
|
||||
"dds1": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.dds",
|
||||
"class": "DDS",
|
||||
"arguments": {"reg_channel": 1, "rtio_switch": 6}
|
||||
},
|
||||
"dds2": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.dds",
|
||||
"class": "DDS",
|
||||
"arguments": {"reg_channel": 2, "rtio_switch": 7}
|
||||
},
|
||||
|
||||
"electrodes": {
|
||||
"type": "local",
|
||||
"module": "artiq.devices.pdq2",
|
||||
"class": "CompoundPDQ2",
|
||||
"arguments": {
|
||||
|
@ -70,6 +82,14 @@
|
|||
"comment": "Conflicts with dds2 and ttl0-2"
|
||||
},
|
||||
|
||||
"lda": {
|
||||
"type": "controller",
|
||||
"host": "::1",
|
||||
"port": 3253,
|
||||
"target_name": "lda",
|
||||
"command": "lda_controller -p {port} -d sim"
|
||||
},
|
||||
|
||||
"pmt": "pmt0",
|
||||
"bd": "dds0",
|
||||
"bdd": "dds1"
|
||||
|
|
Loading…
Reference in New Issue