2025-05-02 15:48:36 +02:00

40 lines
1.1 KiB
Python

from .base import MeasurementDevice
TYPENAME_TEST = "Test"
TYPENAME_SR830 = "SR830"
TYPENAME_MODEL7260 = "Model7260"
try:
from .impl.sr830 import SR830
except ImportError:
pass
from .impl.test import TestVoltageMeasurementDevice
def list_devices() -> dict[str,list[str]]:
devices = {
TYPENAME_TEST: ["Measurement Dummy Device"],
}
try:
from .impl.sr830 import SR830
devices[TYPENAME_SR830] = SR830.enumerate_devices()
except ImportError:
pass
try:
from .impl.model7260 import Model7260
devices[TYPENAME_MODEL7260] = Model7260.enumerate_devices()
except ImportError:
pass
return devices
def connect_device(type_name: str, device_name: str) -> MeasurementDevice:
if type_name == TYPENAME_TEST:
return TestVoltageMeasurementDevice()
elif type_name == TYPENAME_SR830:
try:
from .impl.sr830 import SR830
return SR830.connect_device(device_name)
except ImportError as e:
raise ValueError(f"SR830 not available: {e}")
raise ValueError(f"Unknown device type {type_name}")