From 51b9effe3107ba3ca63e43a8c7b563acfe221564 Mon Sep 17 00:00:00 2001 From: wakonig_k Date: Tue, 23 Jun 2026 17:23:12 +0200 Subject: [PATCH] f --- xtreme_bec/devices/x07ma_devices.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/xtreme_bec/devices/x07ma_devices.py b/xtreme_bec/devices/x07ma_devices.py index 4ef5761..e97eebd 100644 --- a/xtreme_bec/devices/x07ma_devices.py +++ b/xtreme_bec/devices/x07ma_devices.py @@ -16,6 +16,7 @@ from ophyd import Kind, PVPositioner, Signal from ophyd.flyers import FlyerInterface from ophyd.pv_positioner import PVPositionerComparator from ophyd.status import DeviceStatus, SubscriptionStatus +from ophyd_devices import PSIDeviceBase logger = bec_logger.logger @@ -337,7 +338,7 @@ class NormDIODESignals(Device): self.norm.name = self.name -class X07MAAnalogSignals(Device): +class X07MAAnalogSignals(PSIDeviceBase, Device): """ ADC inputs """ @@ -355,13 +356,11 @@ class X07MAAnalogSignals(Device): norm_tey = Cpt(NormTEYSignals, name="norm_tey", kind=Kind.hinted) norm_diode = Cpt(NormDIODESignals, name="norm_diode", kind=Kind.hinted) - def __init__(self, *args, broadcast_rate_limit_s=0.1, **kwargs): - super().__init__(*args, **kwargs) - self._broadcast_rate_limit_s = broadcast_rate_limit_s + def on_connected(self) -> None: self._broadcast_lock = threading.Lock() - self._last_broadcast_ts = 0.0 + self._last_broadcast_ts = 0 + self._broadcast_rate_limit_s = 0.1 # seconds self._pending_broadcast = None - for signal_name in ("s1", "s2", "s3", "s4", "s5", "s6", "s7"): getattr(self, signal_name).subscribe(self._schedule_broadcast, run=False)