Convert array to list in save_to_epics

This commit is contained in:
2023-07-28 16:04:39 +02:00
parent fcf6b46ec0
commit f70404c773

19
base.py
View File

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