Merge branch 'dev'

This commit is contained in:
2024-06-27 09:27:16 +02:00
4 changed files with 28 additions and 4 deletions

View File

@ -1,6 +1,11 @@
from .snap import getSnap
from .snap import saveSnap
from .snap import loadSnap
from .snap import parseSnapShotReqYAML
from .save import saveDataset
from .save import getDatasetFileName
from .load import loadDataset
from .elog import writeElog
from .slic import SlicScan
from .doocs import doocsread
from .doocs import doocswrite

View File

@ -57,15 +57,14 @@ def getSnap(pvs=None):
ret={}
val = epics.caget_many(pvs)
for i,pv in enumerate(pvs):
if val[i]: # filter out None values
if not val[i] is None: # filter out None values
ret[pv]=float(val[i])
# epics.ca.clear_cache()
return ret
def saveSnap(pvs={},label="", comment = "generated by application"):
def saveSnap(pvs={},label="", comment = "generated by application",reqfile = "SF_settings.yaml"):
filename = datetime.datetime.now().strftime('/sf/data/applications/snapshot/SF_settings_%Y%m%d_%H%M%S.snap')
with open(filename,'w') as fid:
fid.write('#{"labels":["%s"],"comment":"%s", "machine_parms":{}, "save_time": 0.0, "req_file_name": "SF_settings.yaml"}\n' % (label,comment))
fid.write('#{"labels":["%s"],"comment":"%s", "machine_parms":{}, "save_time": 0.0, "req_file_name": "%s"}\n' % (label,comment,reqfile))
for key in pvs.keys():
if isinstance(pvs[key],int):
fid.write('%s,{"val": %d}\n' % (key,pvs[key]))
@ -73,6 +72,21 @@ def saveSnap(pvs={},label="", comment = "generated by application"):
fid.write('%s,{"val": %f}\n' % (key,pvs[key]))
elif isinstance(pvs[key],str):
fid.write('%s,{"val": %s}\n' % (key,pvs[key]))
return filename
def loadSnap(filename):
res={}
with open(filename,'r') as fid:
lines=fid.readlines()
for line in lines[1:]:
split = line.split(',')
pv = split[0].strip()
val = split[1].split('"val":')[1].split('}')[0]
if '.' in val:
res[pv]=float(val)
else:
res[pv]= val
return res

View File

@ -1,4 +1,5 @@
from .zmqbase import ZMQBase
from .serverbase import ServerBase
from .simplecapture import SimpleCapture

View File

@ -36,6 +36,9 @@ class ZMQBase:
self.logger.info("Watchdog server came online")
self.serverIsOffline=False
if check:
if reply['action'] == 'quit':
client.close()
context.term()
return (reply['action'] == 'quit')
else:
self.logger.warning("Malformed reply from server")
@ -49,6 +52,7 @@ class ZMQBase:
if not self.serverIsOffline:
self.logger.info("Watchdog server seems to be offline")
self.serverIsOffline=True
context.term()
return False
# Create new connection