From 9c087476f001e5e34ab62666e6b4ae20ec047c4f Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Thu, 14 Nov 2024 17:35:49 +0100 Subject: [PATCH] added PV for the PV type; convert type name to field type; added workaround for enum PV not working --- SATES20-CPCL-DYNA/cfg/python/pvs.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/SATES20-CPCL-DYNA/cfg/python/pvs.py b/SATES20-CPCL-DYNA/cfg/python/pvs.py index bb70128..d121ecc 100644 --- a/SATES20-CPCL-DYNA/cfg/python/pvs.py +++ b/SATES20-CPCL-DYNA/cfg/python/pvs.py @@ -5,11 +5,21 @@ from log import log from utils import toggle +DTYPES = { + "float": "ai", + "int": "longin", + "bool": "bi", + "str": "stringin" +} + + FN_ENTRIES = "/ioc/data/SATES20-CPCL-DYNA/entries" FN_DB_TMPL = "/ioc/data/SATES20-CPCL-DYNA/dynamic.template" pv_name = PV("SATES20-DYNA:NAME") +pv_dtyp = PV("SATES20-DYNA:TYPE") +pv_dtyp.get_ctrlvars() # without this, the enum returns only str(number) @toggle @@ -18,7 +28,9 @@ def cb_add(value=None, **kwargs): if not name: log.info(f"add: ignoring name={repr(name)}") return - log.info(f"add: name={repr(name)} {kwargs}") + dtyp = pv_dtyp.get(as_string=True) + dtyp = DTYPES[dtyp] + log.info(f"add: name={repr(name)} type={repr(dtyp)} {kwargs}") data = load_data(FN_ENTRIES) data.add(name) save_data(data, FN_ENTRIES)