From c918cdd16ca357ee1d0eebad1fe69be1d1503f79 Mon Sep 17 00:00:00 2001
From: "FR@29iduser" <rodolakis@anl.gov>
Date: Tue, 13 Sep 2022 06:52:23 -0500
Subject: [PATCH] debug scaler triggering

---
 iexcode/instruments/ARPES.py       |  8 ++++----
 iexcode/instruments/IEX_cameras.py |  5 ++++-
 iexcode/instruments/Kappa.py       | 19 ++++++++++---------
 iexcode/instruments/Octupole.py    | 26 +++++++++++++++-----------
 iexcode/instruments/scalers.py     |  6 ++++--
 5 files changed, 37 insertions(+), 27 deletions(-)

diff --git a/iexcode/instruments/ARPES.py b/iexcode/instruments/ARPES.py
index ee2f19b..5a172a0 100644
--- a/iexcode/instruments/ARPES.py
+++ b/iexcode/instruments/ARPES.py
@@ -105,7 +105,7 @@ def ARPES_init(*userName,**kwargs):
 ##############################################################################################################
 ##############################             ARPES detectors and motors         ##############################
 ##############################################################################################################
-def _ARPES_detector_list():
+def _ARPES_ca_list():
     """
     list of detectors to trigger 
 
@@ -354,7 +354,7 @@ def _ARPES_scan_before_sequence(**kwargs):
     caput(before_scan_pv+".DESC","Before Scan")
 
     #sequence put CAs in passive
-    ca_list = _ARPES_detector_list()
+    ca_list = _ARPES_ca_list()
     for (i,ca) in enumerate(ca_list):
         ca_pv = _Keithley_pv(ca[0], ca[1])+':read.SCAN PP NMS'
         caput(before_scan_pv+".LNK" +str(i+1),ca_pv)
@@ -367,7 +367,7 @@ def _ARPES_ca_live_sequence(**kwargs):
     """
     kwargs.setdefault('seq_num',7)
 
-    ca_live_sequence_proc = _ca_live_sequence(iex.BL.ioc,kwargs['seq_num'],_ARPES_detector_list())
+    ca_live_sequence_proc = _ca_live_sequence(iex.BL.ioc,kwargs['seq_num'],_ARPES_ca_list())
     return ca_live_sequence_proc
 
 def _ARPES_scan_after_sequence(**kwargs):
@@ -434,7 +434,7 @@ def _ARPES_detector_triggers_sequence(**kwargs):    # do we need to add 29idb:ca
     userStringSeq_clear(scan_ioc,seq_num=kwargs['seq_num'])
     caput(detector_triggers_pv+".DESC","ARPES_Trigger1")
     
-    ca_list = _ARPES_detector_list()
+    ca_list = _ARPES_ca_list()
     last = len(ca_list)
     for i,ca in enumerate(ca_list):
         ca_pv = _Keithley_pv(ca[0], ca[1])+':read.PROC CA NMS'
diff --git a/iexcode/instruments/IEX_cameras.py b/iexcode/instruments/IEX_cameras.py
index 63e8220..764c539 100644
--- a/iexcode/instruments/IEX_cameras.py
+++ b/iexcode/instruments/IEX_cameras.py
@@ -36,7 +36,10 @@ def _enable_endstation_cameras(unused_off=True):
     endstation=iex.BL.endstation_name
 
     #For new endstation modify here:
-    cam_dict={'ARPES':[0,1,2],'Kappa':[3,4,6]}  # index of cam_list 
+    cam_dict={'ARPES':[0,1,2],
+    'kappa':[3,4,6],
+    'Octupole':[6]
+    }  # index of cam_list 
 
     d=cam_pv_dictionary()
     for num in d.keys(): 
diff --git a/iexcode/instruments/Kappa.py b/iexcode/instruments/Kappa.py
index 972b016..175c368 100644
--- a/iexcode/instruments/Kappa.py
+++ b/iexcode/instruments/Kappa.py
@@ -9,22 +9,24 @@ import iexcode.instruments.cfg as iex
 from iexcode.instruments.IEX_BL_config import Beamline_Config
 from iexcode.instruments.IEX_cameras import _enable_endstation_cameras
 
+from iexcode.instruments.files_and_folders import check_run,make_user_folders,folder_mda,path_dserv
+from iexcode.instruments.Logfile import Logfile
 from iexcode.instruments.staff import staff_detector_dictionary
-from iexcode.instruments.files_and_folders import check_run,make_user_folders,folder_mda
-from iexcode.instruments.staff import staff_detector_dictionary
-from iexcode.instruments.xrays import _xrays_detector_dictionary,_xrays_reset,xrays_get_all
+from iexcode.instruments.xrays import _xrays_detector_dictionary, _xrays_reset, xrays_get_all
 
 from iexcode.instruments.conversions_constants import *
 from iexcode.instruments.utilities import *
-from iexcode.instruments.userCalcs import userStringSeq_clear, userStringSeq_pvs, userCalcOut_clear
+from iexcode.instruments.userCalcs import userStringSeq_clear, userStringSeq_pvs
 
 from iexcode.instruments.Motors import Motors
-from iexcode.instruments.current_amplifiers import SRS, ca_reset_all, _Keithley_pv
+from iexcode.instruments.current_amplifiers import Keithley, _Keithley_pv, ca_reset_all, _ca_live_sequence
+
 from iexcode.instruments.valves import branch_valve_close
 from iexcode.instruments.shutters import branch_shutter_close
 
 #branch specific
 from iexcode.instruments.slits import slit3D_get
+
 #endstation specific
 from iexcode.instruments.kappa_det import Kappa_Detector
 from iexcode.instruments.scalers import scaler_cts
@@ -80,7 +82,6 @@ def kappa_init(*userName,**kwargs):
         iex.BL.mda.log('kappa',user_name,_kappa_log_header(),_kappa_log_entries)
 
     #global detectors
-    
     tey = SRS("29idMZ0:scaler1.S2", '29idd:A1')
     d3 = SRS("29idMZ0:scaler1.S3", '29idd:A2')
     d4 = SRS("29idMZ0:scaler1.S4", '29idd:A3')
@@ -103,7 +104,7 @@ def kappa_init(*userName,**kwargs):
 ##############################################################################################################
 ##############################                    detectors and motors                ##############################
 ##############################################################################################################
-def _kappa_detector_list():
+def _kappa_ca_list():
     """
     list of detectors to trigger 
 
@@ -496,12 +497,12 @@ def _kappa_detector_triggers_sequence(scan_ioc,scan_dim,**kwargs):    # do we ne
     userStringSeq_clear(scan_ioc,seq_num=kwargs['seq_num'])
     caput(detector_triggers_pv+".DESC","kappa_Trigger1")
 
-    scaler_pv = kappa_scaler_pv()
+    scaler_pv = kappa_scaler_pv
 
     caput(detector_triggers_pv+".LNK" +str(1),scaler_pv)
     caput(detector_triggers_pv+".WAIT"+str(1),"After"+str(last))
     
-    ca_list = _kappa_detector_list()
+    ca_list = _kappa_ca_list()
     last = len(ca_list)
     for i,ca in enumerate(ca_list):
         ca_pv = _Keithley_pv(ca[0], ca[1])+':read.PROC CA NMS'
diff --git a/iexcode/instruments/Octupole.py b/iexcode/instruments/Octupole.py
index 6ff8d9b..2f7af76 100644
--- a/iexcode/instruments/Octupole.py
+++ b/iexcode/instruments/Octupole.py
@@ -6,29 +6,34 @@ from epics import caget, caput,PV
 
 import iexcode.instruments.cfg as iex
 from iexcode.instruments.IEX_endstations import Endstation
-from iexcode.instruments.cameras import _enable_endstation_cameras
+from iexcode.instruments.IEX_cameras import _enable_endstation_cameras
 
+
+from iexcode.instruments.files_and_folders import check_run,make_user_folders,folder_mda,path_dserv
+from iexcode.instruments.Logfile import Logfile
 from iexcode.instruments.staff import staff_detector_dictionary
-from iexcode.instruments.files_and_folders import check_run,make_user_folders,folder_mda
-from iexcode.instruments.staff import staff_detector_dictionary
-from iexcode.instruments.xrays import _xrays_detector_dictionary,_xrays_reset,xrays_get_all
+from iexcode.instruments.xrays import _xrays_detector_dictionary, _xrays_reset, xrays_get_all
 
 from iexcode.instruments.conversions_constants import *
 from iexcode.instruments.utilities import *
-from iexcode.instruments.userCalcs import userStringSeq_clear, userStringSeq_pvs, userCalcOut_clear
+from iexcode.instruments.userCalcs import userStringSeq_clear, userStringSeq_pvs
 
 from iexcode.instruments.Motors import Motors
-from iexcode.instruments.current_amplifiers import SRS, ca_reset_all, Keithley_pv
+from iexcode.instruments.current_amplifiers import Keithley, _Keithley_pv, ca_reset_all, _ca_live_sequence
+
 from iexcode.instruments.valves import branch_valve_close
 from iexcode.instruments.shutters import branch_shutter_close
 
 #branch specific
 from iexcode.instruments.slits import slit3D_get
+
 #endstation specific
 from iexcode.instruments.scalers import scaler_cts
 from iexcode.instruments.spec_stuff import folders_spec
 
 default_ioc = '29ide:'
+global tey,tfy,pd,mesh,diag,kbh,kbv, Octupole_scaler_pv
+
 #############################################################################
 def Octupole_init(*userName,**kwargs):
     """
@@ -56,7 +61,7 @@ def Octupole_init(*userName,**kwargs):
     Octupole_Motors = Motors('Octupole',_Octupole_motor_dictionary(),physical_motors,pseudo_motors)
 
     #endstation
-    iex.BL = Endstation('Kappa',kwargs['scan_ioc'],kwargs['xrays'],kwargs['mode'],Octupole_Motors)
+    iex.BL = Endstation('Octupole',kwargs['scan_ioc'],kwargs['xrays'],kwargs['mode'],Octupole_Motors)
 
     #setting folders
     if kwargs['set_folders']:
@@ -74,7 +79,6 @@ def Octupole_init(*userName,**kwargs):
         iex.BL.mda.log('Octupole',user_name,_Octupole_log_header(),_Octupole_log_entries)
 
     #global detectors
-    global tey,tfy,pd,mesh,diag,kbh,kbv, Octupole_scaler_pv
     mesh = SRS("29ide:scaler1.S2", '29idd:A4')
     diag = SRS("29ide:scaler1.S6", '29ide:SR570_1')
     kbh = SRS("29ide:scaler1.S7", '29ide:SR570_2')
@@ -94,7 +98,7 @@ def Octupole_init(*userName,**kwargs):
 ##############################################################################################################
 ##############################                    detectors and motors                ##############################
 ##############################################################################################################
-def _Octupole_detector_list():
+def _Octupole_ca_list():
     """
     list of detectors to trigger 
 
@@ -431,12 +435,12 @@ def _Octupole_detector_triggers_sequence(scan_ioc,scan_dim,**kwargs):    # do we
     userStringSeq_clear(scan_ioc,seq_num=kwargs['seq_num'])
     caput(detector_triggers_pv+".DESC","Octupole_Trigger1")
 
-    scaler_pv = Octupole_scaler_pv()
+    scaler_pv = Octupole_scaler_pv
 
     caput(detector_triggers_pv+".LNK" +str(1),scaler_pv)
     caput(detector_triggers_pv+".WAIT"+str(1),"After"+str(last))
     
-    ca_list = _Octupole_detector_list()
+    ca_list = _Octupole_ca_list()
     last = len(ca_list)
     for i,ca in enumerate(ca_list):
         ca_pv = Keithley_pv(ca[0], ca[1])+':read.PROC CA NMS'
diff --git a/iexcode/instruments/scalers.py b/iexcode/instruments/scalers.py
index 7face9f..2c17c47 100644
--- a/iexcode/instruments/scalers.py
+++ b/iexcode/instruments/scalers.py
@@ -10,10 +10,12 @@ def scaler_cts(time_seconds=0.1,verbose=True):
     'For new endstation modify here:'
     if iex.BL.endstation_name == 'kappa':
         Kappa_scaler(time_seconds,verbose=verbose)
+    elif iex.BL.endstation_name == 'Octupole':
+        Octupole_scaler(time_seconds,verbose)
     else:
         pass
 
-def Kappa_scaler(time_seconds=0.1,verbose=True):
+def Kappa_scaler(time_seconds,verbose):
     """
     Sets the integration time for the scalers in the Kappa chamber
     and mpa filter num if mpa is running
@@ -31,7 +33,7 @@ def Kappa_scaler(time_seconds=0.1,verbose=True):
         print("Integration time set to:", str(time_seconds))
 
 
-def Octupole_scaler(time_seconds=0.1,verbose=True):
+def Octupole_scaler(time_seconds,verbose):
     """
     Sets the integration time for the scalers in the Kappa chamber
     and mpa filter num if mpa is running
-- 
GitLab