JohannesDittloff 7f7561e4d9 rename prsctrl
2025-05-08 13:07:22 +02:00

34 lines
895 B
Python

from .base import Shutter
TYPENAME_DUMMY = "Dummy"
TYPENAME_DAQ = "DAQ"
try:
from .impl.sr830 import SR830
except ImportError:
pass
from .impl.dummy import DummyShutter
def list_devices() -> dict[str,list[str]]:
devices = {
TYPENAME_DUMMY: ["Dummy Shutter"],
}
try:
from .impl.daq import ShutterDAQ
devices[TYPENAME_DAQ] = ShutterDAQ.enumerate_devices()
except ImportError:
pass
return devices
def connect_device(type_name: str, device_name: str) -> Shutter:
if type_name == TYPENAME_DUMMY:
return DummyShutter()
elif type_name == TYPENAME_DAQ:
try:
from .impl.daq import ShutterDAQ
return ShutterDAQ.connect_device(device_name)
except ImportError as e:
raise ValueError(f"ShutterDAQ not available: {e}")
raise ValueError(f"Unknown device type {type_name}")