From 3a3fa23522f95bf35f2fc365e595875df0b3fa37 Mon Sep 17 00:00:00 2001 From: Benjamin Labrecque Date: Fri, 17 Jul 2026 12:09:29 +0200 Subject: [PATCH] feat: use PV external in tune --- .../current/app/src/agebd_tune/service.py | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/services/tune/current/app/src/agebd_tune/service.py b/services/tune/current/app/src/agebd_tune/service.py index 2c9945a..3fb04b3 100644 --- a/services/tune/current/app/src/agebd_tune/service.py +++ b/services/tune/current/app/src/agebd_tune/service.py @@ -11,7 +11,7 @@ from OMFacility import Facility from scipy.fft import fft from sklearn.utils.extmath import randomized_svd -from agebd.pv import get_pv_class +from agebd.pv import get_pv_class, get_pv_external_class from agebd.service.base import BaseService from agebd.service.pvs import BasePVs from agebd.utils import printgetversion @@ -19,6 +19,7 @@ from agebd.utils import printgetversion __version__ = printgetversion(__file__) PV = get_pv_class() +PV_EXTERNAL = get_pv_external_class() class PVs(BasePVs): @@ -58,14 +59,14 @@ class PVs(BasePVs): osc_y = PV("AGEBD-TUNE:OSCILLATION-Y-ALL") # vertical TbT to be transmissed # usually it is advisable to trigger the mainloop of a service on changes of certain PVs: - BPMTriggerEvent = PV("ARS07-CECL-DBPM3-1:EEVR-EVENT0-ID") + BPMTriggerEvent = PV_EXTERNAL("ARS07-CECL-DBPM3-1:EEVR-EVENT0-ID") - CallbackPV_24 = PV("AGETI-CVME-MASTER-TMA:Evt-BO-Ext-EVRCount-I") - CallbackPV_25 = PV("AGETI-CVME-MASTER-TMA:Evt-BO-Ext-BPM-EVRCount-I") - CallbackPV_31 = PV("AGETI-CVME-MASTER-TMA:Evt-SR-Pinger-H-EVRCount-I") - CallbackPV_32 = PV("AGETI-CVME-MASTER-TMA:Evt-SR-Inj-EVRCount-I") - CallbackPV_34 = PV("AGETI-CVME-MASTER-TMA:Evt-SR-FKICK-EVRCount-I") - CallbackPV_40 = PV("AGETI-CVME-MASTER-TMA:Evt-SR-BPM-EVRCount-I") + CallbackPV_24 = PV_EXTERNAL("AGETI-CVME-MASTER-TMA:Evt-BO-Ext-EVRCount-I") + CallbackPV_25 = PV_EXTERNAL("AGETI-CVME-MASTER-TMA:Evt-BO-Ext-BPM-EVRCount-I") + CallbackPV_31 = PV_EXTERNAL("AGETI-CVME-MASTER-TMA:Evt-SR-Pinger-H-EVRCount-I") + CallbackPV_32 = PV_EXTERNAL("AGETI-CVME-MASTER-TMA:Evt-SR-Inj-EVRCount-I") + CallbackPV_34 = PV_EXTERNAL("AGETI-CVME-MASTER-TMA:Evt-SR-FKICK-EVRCount-I") + CallbackPV_40 = PV_EXTERNAL("AGETI-CVME-MASTER-TMA:Evt-SR-BPM-EVRCount-I") def __init__(self, service_name: str, pv_factory=PV): super().__init__(service_name, pv_factory) @@ -87,12 +88,12 @@ class PVs(BasePVs): BPMNamesA_y = [name + ":DAQ-BEAM-STG0-Y" for name in BPMNamesA] BPMNamesA_I = [name + ":DAQ-BEAM-STG0-Q" for name in BPMNamesA] - self.BPMx = [PV(name) for name in BPMNames_x] - self.BPMy = [PV(name) for name in BPMNames_y] - self.BPMI = [PV(name) for name in BPMNames_I] - self.BPMxA = [PV(name) for name in BPMNamesA_x] - self.BPMyA = [PV(name) for name in BPMNamesA_y] - self.BPMIA = [PV(name) for name in BPMNamesA_I] + self.BPMx = [PV_EXTERNAL(name) for name in BPMNames_x] + self.BPMy = [PV_EXTERNAL(name) for name in BPMNames_y] + self.BPMI = [PV_EXTERNAL(name) for name in BPMNames_I] + self.BPMxA = [PV_EXTERNAL(name) for name in BPMNamesA_x] + self.BPMyA = [PV_EXTERNAL(name) for name in BPMNamesA_y] + self.BPMIA = [PV_EXTERNAL(name) for name in BPMNamesA_I] self.CallbackPV = None