mirror of
https://github.com/bec-project/ophyd_devices.git
synced 2025-06-06 03:40:41 +02:00
Added device factory
This commit is contained in:
parent
d6da41f5e6
commit
2443269371
67
ophyd_devices/epics/DeviceFactory.py
Normal file
67
ophyd_devices/epics/DeviceFactory.py
Normal file
@ -0,0 +1,67 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Wed Oct 13 17:06:51 2021
|
||||
|
||||
@author: mohacsi_i
|
||||
"""
|
||||
|
||||
import os
|
||||
import yaml
|
||||
from ophyd.ophydobj import OphydObject
|
||||
from ophyd import EpicsSignal, EpicsSignalRO, EpicsMotor
|
||||
from ophyd.quadem import QuadEM
|
||||
import pathlib
|
||||
|
||||
|
||||
path = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
from proxies import *
|
||||
|
||||
|
||||
# Load SLS common database
|
||||
fp = open(f"{path}/db/test_database.yml", "r")
|
||||
lut_db = yaml.load(fp, Loader=yaml.Loader)
|
||||
|
||||
# Load SLS common database
|
||||
fp = open(f"{path}/db/machine_database.yml", "r")
|
||||
lut_db = yaml.load(fp, Loader=yaml.Loader)
|
||||
|
||||
# Load beamline specific database
|
||||
bl = os.getenv('BEAMLINE_XNAME', "X12SA")
|
||||
fp = open(f"{path}/db/{bl.lower()}_database.yml", "r")
|
||||
lut_db.update(yaml.load(fp, Loader=yaml.Loader))
|
||||
|
||||
|
||||
def createProxy(name: str, connect=True) -> OphydObject:
|
||||
""" Factory routine to create an ophyd device with a pre-defined schema.
|
||||
Does nothing if the device is already an OphydObject!
|
||||
"""
|
||||
if issubclass(type(name), OphydObject):
|
||||
return name
|
||||
|
||||
entry = lut_db[name]
|
||||
cls_candidate = globals()[entry["type"]]
|
||||
print(f"Device candidate: {cls_candidate}")
|
||||
|
||||
try:
|
||||
if issubclass(cls_candidate, OphydObject):
|
||||
ret = cls_candidate(**entry["config"])
|
||||
if connect:
|
||||
ret.wait_for_connection(timeout=5)
|
||||
return ret
|
||||
else:
|
||||
raise RuntimeError(f"Unsupported return class: {schema}")
|
||||
except TypeError:
|
||||
# Simulated devices
|
||||
if issubclass(type(cls_candidate), OphydObject):
|
||||
return cls_candidate
|
||||
else:
|
||||
raise RuntimeError(f"Unsupported return class: {schema}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
|
||||
|
||||
|
21
ophyd_devices/epics/db/machine_database.yml
Normal file
21
ophyd_devices/epics/db/machine_database.yml
Normal file
@ -0,0 +1,21 @@
|
||||
ring:
|
||||
desc: 'SLS storage ring status'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: ring, prefix: ''}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SlsStatus
|
||||
frontendstatus:
|
||||
desc: 'Minimal beamline frontend status'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: frontendstatus, prefix: X06DA}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: FrontEndStatus
|
||||
opticshutchstatus:
|
||||
desc: 'Minimal beamline optics hutch status'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: opticshutchstatus, prefix: X06DA}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: OpticsHutchStatus
|
35
ophyd_devices/epics/db/test_database.yml
Normal file
35
ophyd_devices/epics/db/test_database.yml
Normal file
@ -0,0 +1,35 @@
|
||||
motor1:
|
||||
desc: 'Simulated axis 1'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: motor1}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SynAxis
|
||||
motor2:
|
||||
desc: 'Simulated axis 2'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: motor2}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SynAxis
|
||||
det1:
|
||||
desc: 'Simulated signal 1'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: det1}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SynSignal
|
||||
det2:
|
||||
desc: 'Simulated signal 2'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: det2}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SynSignal
|
||||
per1:
|
||||
desc: 'Simulated periodic signal 1'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: per1}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SynPeriodicSignal
|
679
ophyd_devices/epics/db/x12sa_database.yml
Normal file
679
ophyd_devices/epics/db/x12sa_database.yml
Normal file
@ -0,0 +1,679 @@
|
||||
idgap:
|
||||
desc: 'Undulator gap size [mm]'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: idgap, read_pv: 'X12SA-ID-GAP:READ'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
bm1trx:
|
||||
desc: 'FrontEnd XBPM 1 horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm1trx, prefix: 'X12SA-FE-BM1:TRH'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bm1try:
|
||||
desc: 'FrontEnd XBPM 1 vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm1try, prefix: 'X12SA-FE-BM1:TRV'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bm2trx:
|
||||
desc: 'FrontEnd XBPM 2 horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm2trx, prefix: 'X12SA-FE-BM2:TRH'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bm2try:
|
||||
desc: 'FrontEnd XBPM 2 vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm2try, prefix: 'X12SA-FE-BM2:TRV'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
di2trx:
|
||||
desc: 'FrontEnd diaphragm 2 horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: di2trx, prefix: 'X12SA-FE-DI2:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
di2try:
|
||||
desc: 'FrontEnd diaphragm 2 vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: di2try, prefix: 'X12SA-FE-BM2:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl0trxo:
|
||||
desc: 'FrontEnd slit outer blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl0trxo, prefix: 'X12SA-FE-SH1:TRX2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl0trxi:
|
||||
desc: 'FrontEnd slit inner blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl0trxi, prefix: 'X12SA-FE-SH1:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl0h:
|
||||
desc: 'FrontEnd slit virtual movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl0h, prefix: 'X12SA-FE-SH1:'}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SlitH
|
||||
bm3trx:
|
||||
desc: 'OpticsHutch XBPM 1 horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm3trx, prefix: 'X12SA-OP-BM1:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bm3try:
|
||||
desc: 'OpticsHutch XBPM 1 vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm3try, prefix: 'X12SA-OP-BM1:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl1trxo:
|
||||
desc: 'OpticsHutch slit outer blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl1trxo, prefix: 'X12SA-OP-SH1:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl1trxi:
|
||||
desc: 'OpticsHutch slit inner blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl1trxi, prefix: 'X12SA-OP-SH1:TRX2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl1tryt:
|
||||
desc: 'OpticsHutch slit top blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl1tryt, prefix: 'X12SA-OP-SV1:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl1tryb:
|
||||
desc: 'OpticsHutch slit bottom blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl1tryb, prefix: 'X12SA-OP-SV1:TRY2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl1h:
|
||||
desc: 'OpticsHutch slit virtual movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl1h, prefix: 'X12SA-OP-SH1:'}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SlitH
|
||||
sl1v:
|
||||
desc: 'OpticsHutch slit virtual movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl1v, prefix: 'X12SA-OP-SV1:'}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SlitV
|
||||
fi1try:
|
||||
desc: 'OpticsHutch filter 1 movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: fi1try, prefix: 'X12SA-OP-FI1:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
fi2try:
|
||||
desc: 'OpticsHutch filter 2 movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: fi2try, prefix: 'X12SA-OP-FI2:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
fi3try:
|
||||
desc: 'OpticsHutch filter 3 movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: fi3try, prefix: 'X12SA-OP-FI3:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
motry:
|
||||
desc: 'OpticsHutch optical table vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: motry, prefix: 'X12SA-OP-OT:TRY'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
motrz1:
|
||||
desc: 'Monochromator crystal 1 axial movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: motrz1, prefix: 'X12SA-OP-MO:TRZ1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mopush1:
|
||||
desc: 'Monochromator crystal 1 angle'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mopush1, prefix: 'X12SA-OP-MO:ROX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
moroll1:
|
||||
desc: 'Monochromator crystal 1 roll'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: moroll1, prefix: 'X12SA-OP-MO:ROZ1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
motrx2:
|
||||
desc: 'Monochromator crystal 2 horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: motrx2, prefix: 'X12SA-OP-MO:TRX2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
motry2:
|
||||
desc: 'Monochromator crystal 2 vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: motry2, prefix: 'X12SA-OP-MO:TRY2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mopush2:
|
||||
desc: 'Monochromator crystal 2 angle'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mopush2, prefix: 'X12SA-OP-MO:ROX2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
monot:
|
||||
desc: 'Monochromator temperature'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: monot, read_pv: 'X12SA-OP-MO:TC3'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
moyaw2:
|
||||
desc: 'Monochromator crystal 2 yaw movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: moyaw2, prefix: 'X12SA-OP-MO:ROTY2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
moroll2:
|
||||
desc: 'Monochromator crystal 2 roll movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: moroll2, prefix: 'X12SA-OP-MO:ROTZ2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mobdai:
|
||||
desc: 'Monochromator ??? inner motor'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mobdai, prefix: 'X12SA-OP-MO:TRYA'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mobdbo:
|
||||
desc: 'Monochromator ??? outer motor'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mobdbo, prefix: 'X12SA-OP-MO:TRYB'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mobdco:
|
||||
desc: 'Monochromator ??? outer motor'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mobdco, prefix: 'X12SA-OP-MO:TRYC'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mobddi:
|
||||
desc: 'Monochromator ??? inner motor'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mobddi, prefix: 'X12SA-OP-MO:TRYD'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bm4trx:
|
||||
desc: 'OpticsHutch XBPM 2 horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm4trx, prefix: 'X12SA-OP-BM2:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bm4try:
|
||||
desc: 'OpticsHutch XBPM 2 vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm4try, prefix: 'X12SA-OP-BM2:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mitrx:
|
||||
desc: 'Mirror horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mitrx, prefix: 'X12SA-OP-MI:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mitry1:
|
||||
desc: 'Mirror vertical movement 1'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mitry1, prefix: 'X12SA-OP-MI:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mitry2:
|
||||
desc: 'Mirror vertical movement 2'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mitry2, prefix: 'X12SA-OP-MI:TRY2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mitry3:
|
||||
desc: 'Mirror vertical movement 3'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mitry3, prefix: 'X12SA-OP-MI:TRY3'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mibd1:
|
||||
desc: 'Mirror bender 1'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mibd1, prefix: 'X12SA-OP-MI:TRZ1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
mibd2:
|
||||
desc: 'Mirror bender 2'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: mibd2, prefix: 'X12SA-OP-MI:TRZ2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bm5trx:
|
||||
desc: 'OpticsHutch XBPM 3 horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm5trx, prefix: 'X12SA-OP-BM3:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bm5try:
|
||||
desc: 'OpticsHutch XBPM 3 vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bm5try, prefix: 'X12SA-OP-BM3:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl2trxo:
|
||||
desc: 'OpticsHutch slit 2 outer blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl2trxo, prefix: 'X12SA-OP-SH2:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl2trxi:
|
||||
desc: 'OpticsHutch slit 2 inner blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl2trxi, prefix: 'X12SA-OP-SH2:TRX2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl2tryt:
|
||||
desc: 'OpticsHutch slit 2 top blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl2tryt, prefix: 'X12SA-OP-SV2:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl2tryb:
|
||||
desc: 'OpticsHutch slit 2 bottom blade movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl2tryb, prefix: 'X12SA-OP-SV2:TRY2'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
sl2h:
|
||||
desc: 'OpticsHutch slit 2 virtual movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl2h, prefix: 'X12SA-OP-SH2:'}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SlitH
|
||||
sl2v:
|
||||
desc: 'OpticsHutch slit 2 virtual movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sl2v, prefix: 'X12SA-OP-SV2:'}
|
||||
deviceGroup: epicsDevice
|
||||
status: {enabled: true}
|
||||
type: SlitV
|
||||
aptrx:
|
||||
desc: 'ES aperture horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: aptrx, prefix: 'X12SA-ES1-PIN1:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
aptry:
|
||||
desc: 'ES aperture vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: aptry, prefix: 'X12SA-ES1-PIN1:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
ebtrx:
|
||||
desc: 'Exposure box 2 horizontal movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: ebtrx, prefix: 'X12SA-ES1-EB:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
ebtry:
|
||||
desc: 'Exposure box 2 vertical movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: ebtry, prefix: 'X12SA-ES1-EB:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
ebtrz:
|
||||
desc: 'Exposure box 2 axial movement'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: ebtrz, prefix: 'X12SA-ES1-EB:TRZ1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
fttrx1:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: fttrx1, prefix: 'X12SA-ES1-FTS1:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
fttry1:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: fttry1, prefix: 'X12SA-ES1-FTS1:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
fttrz:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: fttrz, prefix: 'X12SA-ES1-FTS1:TRZ1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
fttrx2:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: fttrx2, prefix: 'X12SA-ES1-FTS2:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
fttry2:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: fttry2, prefix: 'X12SA-ES1-FTS2:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bs1x:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bs1x, prefix: 'X12SA-ES1-BS1:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bs1y:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bs1y, prefix: 'X12SA-ES1-BS1:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bs2x:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bs2x, prefix: 'X12SA-ES1-BS2:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
bs2y:
|
||||
desc: 'Dunno these motors???'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bs2y, prefix: 'X12SA-ES1-BS2:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
dttrx:
|
||||
desc: 'Detector tower motion'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: dttrx, prefix: 'X12SA-ES1-DETT:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
dttry:
|
||||
desc: 'Detector tower motion, no encoder'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: dttry, prefix: 'X12SA-ES1-DETT:TRY1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
dttrz:
|
||||
desc: 'Detector tower motion'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: dttrz, prefix: 'X12SA-ES1-DETT:TRZ1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
dtpush:
|
||||
desc: 'Detector tower motion'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: dtpush, prefix: 'X12SA-ES1-DETT:ROX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
dettrx:
|
||||
desc: 'Detector tower motion'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: dettrx, prefix: 'X12SA-ES1-DET1:TRX1'}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
eyex:
|
||||
desc: 'X-ray eye motion'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: eyex, prefix: X12SA-ES2-ES01}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
eyey:
|
||||
desc: 'X-ray eye motion'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: eyey, prefix: X12SA-ES2-ES02}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
eyefoc:
|
||||
desc: 'X-ray eye focusing motor'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: eyefoc, prefix: X12SA-ES2-ES25}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
micfoc:
|
||||
desc: 'Microscope focusing motor'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: micfoc, prefix: X12SA-ES2-ES03}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
samx:
|
||||
desc: 'Sample motion'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: samx, prefix: X12SA-ES2-ES04}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
samy:
|
||||
desc: 'Sample motion'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: samy, prefix: X12SA-ES2-ES05}
|
||||
deviceGroup: beamlineMotor
|
||||
status: {enabled: true}
|
||||
type: EpicsMotor
|
||||
curr:
|
||||
desc: 'SLS ring current'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: curr, read_pv: 'ARIDI-PCT:CURRENT'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
sec:
|
||||
desc: 'Some scaler...'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: sec, read_pv: X12SA-ES1-SCALER.S1}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
cyb:
|
||||
desc: 'Some scaler...'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: cyb, read_pv: X12SA-ES1-SCALER.S2}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
diode:
|
||||
desc: 'Some scaler...'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: diode, read_pv: X12SA-ES1-SCALER.S3}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
led:
|
||||
desc: 'Some scaler...'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: led, read_pv: X12SA-ES1-SCALER.S4}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
bpm3:
|
||||
desc: 'XBPM 3: White beam before mono'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bpm3, prefix: 'X12SA-OP-BPM3:'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: QuadEM
|
||||
bpm5:
|
||||
desc: 'XBPM 5: After mirror'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bpm5, prefix: 'X12SA-OP-BPM5:'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: QuadEM
|
||||
bpm6:
|
||||
desc: 'XBPM 6: Not commissioned'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: bpm6, prefix: 'X12SA-OP-BPM6:'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: QuadEM
|
||||
ftp:
|
||||
desc: 'Flight tube pressure'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: ftp, read_pv: 'X12SA-ES1-FT1MT1:PRESSURE'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
eyecenx:
|
||||
desc: 'X-ray eye intensit math'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: eyecenx, read_pv: 'XOMNYI-XEYE-XCEN:0'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
eyeceny:
|
||||
desc: 'X-ray eye intensit math'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: eyeceny, read_pv: 'XOMNYI-XEYE-YCEN:0'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
eyeint:
|
||||
desc: 'X-ray eye intensit math'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: eyeint, read_pv: 'XOMNYI-XEYE-INT_MEAN:0'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
transd:
|
||||
desc: 'Transmission diode'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: transd, read_pv: 'X12SA-OP-BPM1:Current1:MeanValue_RBV'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
YASYM:
|
||||
desc: 'FOFB reference'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: YASYM, read_pv: 'X12SA-LBB:Y-ASYM'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
YSYM:
|
||||
desc: 'FOFB reference'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: YSYM, read_pv: 'X12SA-LBB:Y-SYM'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
XASYM:
|
||||
desc: 'FOFB reference'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: XASYM, read_pv: 'X12SA-LBB:X-ASYM'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
XSYM:
|
||||
desc: 'FOFB reference'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: XSYM, read_pv: 'X12SA-LBB:X-SYM'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
FBPMDX:
|
||||
desc: 'FOFB reference'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: FBPMDX, read_pv: 'X12SA-ID-FBPMD:X'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
FBPMDY:
|
||||
desc: 'FOFB reference'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: FBPMDY, read_pv: 'X12SA-ID-FBPMD:Y'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
FBPMUX:
|
||||
desc: 'FOFB reference'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: FBPMUX, read_pv: 'X12SA-ID-FBPMU:X'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
||||
FBPMUY:
|
||||
desc: 'FOFB reference'
|
||||
acquisition: {schedule: sync}
|
||||
config: {name: FBPMUY, read_pv: 'X12SA-ID-FBPMU:Y'}
|
||||
deviceGroup: monitor
|
||||
status: {enabled: true}
|
||||
type: EpicsSignalRO
|
2
ophyd_devices/epics/proxies/__init__.py
Normal file
2
ophyd_devices/epics/proxies/__init__.py
Normal file
@ -0,0 +1,2 @@
|
||||
from .DelayGeneratorDG645 import DelayGeneratorDG645
|
||||
from .slits import SlitH, SlitV
|
Loading…
x
Reference in New Issue
Block a user