Initial Commit
This commit is contained in:
25
OpticsMachine.py
Normal file
25
OpticsMachine.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import re
|
||||
import sys
|
||||
from typing import is_typeddict
|
||||
|
||||
sys.path.append('/sf/bd/packages/sfbd')
|
||||
from sfbd.interface import getSnapPV,getSnapVal
|
||||
|
||||
from epics import PV
|
||||
|
||||
class Machine:
|
||||
def __init__(self):
|
||||
print('Initializing PVs for Snapshot...')
|
||||
mags = ['SINLH02-MBND100', 'SINBC02-MBND100', 'S10BC02-MBND100', 'SARCL02-MBND100', 'SATCL01-MBND100',
|
||||
'SATUN05-MBND100']
|
||||
self.snapPVs = getSnapPV() + [PV('%s:ENERGY-OP' % ele, auto_monitor=False) for ele in mags]
|
||||
self.omfilter = ['.*-RMSM:SM-SET','.*-RSYS:REQUIRED-OP','.*-RSYS:SET-ACC-VOLT','.*-RSYS:SET-BEAM-PHASE']
|
||||
|
||||
|
||||
|
||||
def getSnap(self,filters = ['.*']):
|
||||
if isinstance(filters, str):
|
||||
filters = [filters]
|
||||
recomp = re.compile('|'.join(filters))
|
||||
pvget = [pv for pv in self.snapPVs if recomp.match(pv.pvname)]
|
||||
self.snap = getSnapVal(pvget)
|
||||
Reference in New Issue
Block a user