From f70404c773bc4084df9412cdb7e9dc5a43d0ccb4 Mon Sep 17 00:00:00 2001 From: chrin Date: Fri, 28 Jul 2023 16:04:39 +0200 Subject: [PATCH] Convert array to list in save_to_epics --- base.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/base.py b/base.py index 5deb4d5..f322398 100644 --- a/base.py +++ b/base.py @@ -5,8 +5,9 @@ from collections import OrderedDict from datetime import datetime import getpass import h5py -import logging import inspect +import logging +import numpy as np import platform import os import re @@ -1489,9 +1490,18 @@ class BaseWindow(QMainWindow): def send_to_epics(self, pv_dict: dict = None, pv_names: list = None, pv_values: list = None) -> (int, list): + if pv_dict is not None: + pv_values = [] pv_names = list(pv_dict.keys()) - pv_values = list(pv_dict.values()) + for val in pv_dict.values(): + if isinstance(val, np.ndarray): + pv_values.append(val.tolist()) + else: + pv_values.append(val) + print("SAVE TO EPICS", flush=True) + print(pv_names, flush=True) + print(pv_values, flush=True) else: if len(pv_names) != len(pv_values): _mess = ("len(pv_values)={0} does not match " + @@ -1507,17 +1517,16 @@ class BaseWindow(QMainWindow): self.cafe.open(pv_names) self.cafe.openNowAndWait(0.4) - status = self.cyca.ICAFE_NORMAL status_list = [] try: status, status_list = self.cafe.setCompoundList(pv_names, pv_values) except: print("Exception raised in cafe.setCompoundList", flush=True) - status = self.cyca.ICAFE_NORMAL + status = self.cyca.ECAFE_BADTYPE for pv, val in zip(pv_names, pv_values): print("pv/val", pv, val, flush=True) - status_list.append(self.cyca.ICAFE_NORMAL) + status_list.append(self.ECAFE_BADTYPE) if status != self.cyca.ICAFE_NORMAL: