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

34 lines
909 B
Python

from .base import Monochromator
TYPENAME_DUMMY = "Dummy"
TYPENAME_BENTHAM = "Bentham"
try:
from .impl.sr830 import SR830
except ImportError:
pass
from .impl.dummy import DummyMonochromator
def list_devices() -> dict[str,list[str]]:
devices = {
TYPENAME_DUMMY: ["Dummy Monochromator"],
}
try:
from .impl.bentham_tmc300 import TMC300
devices[TYPENAME_BENTHAM] = ["Bentham TMC300"]
except ImportError:
pass
return devices
def connect_device(type_name: str, device_name: str) -> Monochromator:
if type_name == TYPENAME_DUMMY:
return DummyMonochromator()
elif type_name == TYPENAME_BENTHAM:
try:
from .impl.bentham_tmc300 import TMC300
return TMC300()
except ImportError as e:
raise ValueError(f"TMC300 not available: {e}")
raise ValueError(f"Unknown device type {type_name}")