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

34 lines
877 B
Python

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