fix(xbpm): add auto monitor and timestamp updates

This commit is contained in:
gac-x12sa
2025-07-18 12:15:00 +02:00
parent e3077f6d2f
commit 3cda1c74b4

View File

@@ -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,