From 3cda1c74b46baf28b4f397c07e8dadee1254ba38 Mon Sep 17 00:00:00 2001 From: gac-x12sa Date: Fri, 18 Jul 2025 12:15:00 +0200 Subject: [PATCH] fix(xbpm): add auto monitor and timestamp updates --- csaxs_bec/devices/epics/xbpms.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/csaxs_bec/devices/epics/xbpms.py b/csaxs_bec/devices/epics/xbpms.py index 1c67e54..db297bc 100644 --- a/csaxs_bec/devices/epics/xbpms.py +++ b/csaxs_bec/devices/epics/xbpms.py @@ -1,3 +1,4 @@ +import time from ophyd import Component as Cpt from ophyd import Device, EpicsSignalRO, Signal @@ -12,6 +13,7 @@ class SumSignal(Signal): self._metadata.update(connected=True) def get(self, **kwargs): + self._metadata["timestamp"] = time.time() val1 = self.parent.current1.get() val2 = self.parent.current2.get() val3 = self.parent.current3.get() @@ -48,6 +50,7 @@ class DiffXYSignal(Signal): self._metadata.update(connected=True) def get(self, **kwargs): + self._metadata["timestamp"] = time.time() summed_1 = 0 summed_2 = 0 for signal in self.sum1: @@ -74,10 +77,10 @@ class DiffXYSignal(Signal): class BPMDevice(Device): - current1 = Cpt(EpicsSignalRO, ":Current1:MeanValue_RBV", kind="normal", doc="Current 1") - current2 = Cpt(EpicsSignalRO, ":Current2:MeanValue_RBV", kind="normal", doc="Current 2") - current3 = Cpt(EpicsSignalRO, ":Current3:MeanValue_RBV", kind="normal", doc="Current 3") - current4 = Cpt(EpicsSignalRO, ":Current4:MeanValue_RBV", kind="normal", doc="Current 4") + current1 = Cpt(EpicsSignalRO, ":Current1:MeanValue_RBV", kind="normal", doc="Current 1", auto_monitor=True) + current2 = Cpt(EpicsSignalRO, ":Current2:MeanValue_RBV", kind="normal", doc="Current 2", auto_monitor=True) + current3 = Cpt(EpicsSignalRO, ":Current3:MeanValue_RBV", kind="normal", doc="Current 3", auto_monitor=True) + current4 = Cpt(EpicsSignalRO, ":Current4:MeanValue_RBV", kind="normal", doc="Current 4", auto_monitor=True) sum = Cpt(SumSignal, kind="hinted", doc="Sum of all currents") x = Cpt( DiffXYSignal,