commented fake PID calc and raise Errors instead

This commit is contained in:
2020-09-11 16:35:44 +02:00
parent 7ecc9dc247
commit 94de23df31
+25 -15
View File
@@ -24,16 +24,16 @@ def get_beamline():
return IP_TO_BEAMLINE.get(key)
def get_fake_current_pulseid():
# 2020-05-08 08:29:52.742737 : 11718049010
# 2020-05-28 - checked compared to "real" pulse-id: 2380 pulses difference
reference_date = datetime(2020, 5, 8, 8, 29, 52)
now = datetime.utcnow()
delta_t = now - reference_date
delta_p = delta_t.total_seconds() * 100
delta_p = int(delta_p)
pid = delta_p + 11718049010 + 2361
return pid
#def get_fake_current_pulseid():
# # 2020-05-08 08:29:52.742737 : 11718049010
# # 2020-05-28 - checked compared to "real" pulse-id: 2380 pulses difference
# reference_date = datetime(2020, 5, 8, 8, 29, 52)
# now = datetime.utcnow()
# delta_t = now - reference_date
# delta_p = delta_t.total_seconds() * 100
# delta_p = int(delta_p)
# pid = delta_p + 11718049010 + 2361
# return pid
@@ -45,14 +45,24 @@ class get_current_pulseid():
The implementation only does/needs one connection check at the start
"""
# def __init__(self):
# self.get = get_fake_current_pulseid
# beamline = get_beamline()
# pulseid_pv = PULSEID_PVS.get(beamline)
# if pulseid_pv:
# pv = epics.PV(pulseid_pv)
# if pv.wait_for_connection():
# self.get = pv.get
def __init__(self):
self.get = get_fake_current_pulseid
beamline = get_beamline()
pulseid_pv = PULSEID_PVS.get(beamline)
if pulseid_pv:
pv = epics.PV(pulseid_pv)
if pv.wait_for_connection():
self.get = pv.get
if not pulseid_pv:
raise ValueError(f"no Pulse ID PV known for beamline \"{beamline}\"")
pv = epics.PV(pulseid_pv)
if not pv.wait_for_connection():
raise RuntimeError(f"could not connect to Pulse ID PV \"{pulseid_pv}\"")
self.get = pv.get
def __call__(self):
return int(self.get())