feat: add ecmc and vme user motor to device templates

This commit is contained in:
2026-03-25 11:23:04 +01:00
parent 962568941e
commit 228fb97ca3
2 changed files with 18 additions and 10 deletions
@@ -51,24 +51,32 @@ class EpicsSignalWithRBVDeviceConfigTemplate(BaseModel):
# Dictionary mapping device groups to supported device class templates/variants.
OPHYD_DEVICE_TEMPLATES: dict[str, dict[str, dict[str, type]]] = {
OPHYD_DEVICE_TEMPLATES: dict[str, dict[str, dict[str, type | str]]] = {
"EpicsMotor": {
"EpicsMotor": {
"deviceClass": "ophyd.EpicsMotor", # "ophyd_devices.devices.EpicsMotor",
"deviceClass": "ophyd_devices.EpicsMotor", # "ophyd_devices.devices.EpicsMotor",
"deviceConfig": EpicsMotorDeviceConfigTemplate,
}
},
"EpicsMotorEC": {
"deviceClass": "ophyd_devices.EpicsMotorEC", # "ophyd_devices.devices.EpicsMotorEC",
"deviceConfig": EpicsMotorDeviceConfigTemplate,
},
"EpicsUserMotorVME": {
"deviceClass": "ophyd_devices.EpicsUserMotorVME", # "ophyd_devices.devices.EpicsUserMotorVME",
"deviceConfig": EpicsMotorDeviceConfigTemplate,
},
},
"EpicsSignal": {
"EpicsSignal": {
"deviceClass": "ophyd.EpicsSignal",
"deviceClass": "ophyd_devices.EpicsSignal",
"deviceConfig": EpicsSignalDeviceConfigTemplate,
},
"EpicsSignalRO": {
"deviceClass": "ophyd.EpicsSignalRO",
"deviceClass": "ophyd_devices.EpicsSignalRO",
"deviceConfig": EpicsSignalRODeviceConfigTemplate,
},
"EpicsSignalWithRBV": {
"deviceClass": "ophyd.EpicsSignalWithRBV",
"deviceClass": "ophyd_devices.EpicsSignalWithRBV",
"deviceConfig": EpicsSignalWithRBVDeviceConfigTemplate,
},
},
+4 -4
View File
@@ -19,24 +19,24 @@ def test_interfaces_OPHYD_DEVICE_TEMPLATES():
# Component level checks
assert "EpicsMotor" in OPHYD_DEVICE_TEMPLATES["EpicsMotor"]
template_info = OPHYD_DEVICE_TEMPLATES["EpicsMotor"]["EpicsMotor"]
assert "ophyd.EpicsMotor" == template_info.get("deviceClass", "")
assert "ophyd_devices.EpicsMotor" == template_info.get("deviceClass", "")
assert issubclass(template_info.get("deviceConfig", object), EpicsMotorDeviceConfigTemplate)
assert "EpicsSignalRO" in OPHYD_DEVICE_TEMPLATES["EpicsSignal"]
template_info = OPHYD_DEVICE_TEMPLATES["EpicsSignal"]["EpicsSignalRO"]
assert "ophyd.EpicsSignalRO" == template_info.get("deviceClass", "")
assert "ophyd_devices.EpicsSignalRO" == template_info.get("deviceClass", "")
assert issubclass(template_info.get("deviceConfig", object), EpicsSignalRODeviceConfigTemplate)
assert "EpicsSignalWithRBV" in OPHYD_DEVICE_TEMPLATES["EpicsSignal"]
template_info = OPHYD_DEVICE_TEMPLATES["EpicsSignal"]["EpicsSignalWithRBV"]
assert "ophyd.EpicsSignalWithRBV" == template_info.get("deviceClass", "")
assert "ophyd_devices.EpicsSignalWithRBV" == template_info.get("deviceClass", "")
assert issubclass(
template_info.get("deviceConfig", object), EpicsSignalWithRBVDeviceConfigTemplate
)
assert "EpicsSignal" in OPHYD_DEVICE_TEMPLATES["EpicsSignal"]
template_info = OPHYD_DEVICE_TEMPLATES["EpicsSignal"]["EpicsSignal"]
assert "ophyd.EpicsSignal" == template_info.get("deviceClass", "")
assert "ophyd_devices.EpicsSignal" == template_info.get("deviceClass", "")
assert issubclass(template_info.get("deviceConfig", object), EpicsSignalDeviceConfigTemplate)
assert "CustomDevice" in OPHYD_DEVICE_TEMPLATES["CustomDevice"]