From dcabe80276306d749918f7cd8b96493cf620b9fa Mon Sep 17 00:00:00 2001
From: Jessica McChesney <jmcchesn@anl.gov>
Date: Mon, 1 Aug 2022 14:59:03 -0500
Subject: [PATCH] changed ID_mode to ID_state in ID_coef

---
 build/lib/iexcode/instruments/IEX_VPU.py | 16 ++++++++------
 iexcode/instruments/IEX_VPU.py           | 28 +++++++++++++-----------
 2 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/build/lib/iexcode/instruments/IEX_VPU.py b/build/lib/iexcode/instruments/IEX_VPU.py
index 6678eb1..e644c41 100644
--- a/build/lib/iexcode/instruments/IEX_VPU.py
+++ b/build/lib/iexcode/instruments/IEX_VPU.py
@@ -26,12 +26,12 @@ def ID_calc_SP(mono_grating,ID_mode,hv_eV):    # Mode = state (0=RCP,1=LCP,2=V,3
     
     
     if type(ID_mode)== str:
-        ID_state=ID_state_mode()[ID_mode]
+        ID_state=ID_state_mode(ID_mode)
     try:
         K=ID_Coef(mono_grating,ID_mode,hv_eV)
         ID=poly.polyval(hv_eV,K)
     except KeyError:
-        message_string='Not a valid ID mode!'+"\nValid Modes: "+str(ID_mode_list)
+        message_string='Not a valid ID mode!'+"\nValid Modes: "+str(ID_mode_list())
         print_warning_message(message_string)
         ID=caget("ID29:EnergySeteV")
     return round(ID,1)
@@ -110,11 +110,11 @@ def ID_state_mode(ID_mode):
     """
     try:
         ID_mode = ID_mode.upper()
-        ID_state =ID_mode_list()[ID_mode].index(ID_mode)
+        ID_state =ID_mode_list().index(ID_mode)
         return ID_state
 
     except:
-        message_string='Not a valid ID mode!'+"\nValid Modes: "+str(ID_mode_list)
+        message_string='Not a valid ID mode!'+"\nValid Modes: "+str(ID_mode_list())
         print_warning_message(message_string)
 
 def ID_state_get():
@@ -122,6 +122,7 @@ def ID_state_get():
     Returns the current ID state
     """
     ID_state = caget("ID29:ActualMode")
+    return ID_state
 
 def ID_mode_get(verbose=True):
     """
@@ -270,8 +271,9 @@ def ID_restart():
     
     Previously: ID_Restart
     """
-    ID_mode=ID_mode_list[ID_state_get()]
-    hv=ID_SP_get_eV(verbose=False)
+    ID_state = ID_state_get()
+    ID_mode = ID_mode_list()[ID_state]
+    hv = ID_SP_get_eV(verbose=False)
 
     print("Restarting ID", dateandtime())
     ID_stop(verbose=False)
@@ -338,7 +340,7 @@ def ID_energy_set(hv_eV):
 
     Previously: SetID
     """
-    ID_mode = ID_mode_list[ID_state_get()]
+    ID_mode = ID_mode_list()[ID_state_get()]
     mono_grating = mono_grating_get()
     ID_SP = ID_calc_SP(mono_grating,ID_mode,hv_eV)
    
diff --git a/iexcode/instruments/IEX_VPU.py b/iexcode/instruments/IEX_VPU.py
index 6678eb1..a408465 100644
--- a/iexcode/instruments/IEX_VPU.py
+++ b/iexcode/instruments/IEX_VPU.py
@@ -26,12 +26,12 @@ def ID_calc_SP(mono_grating,ID_mode,hv_eV):    # Mode = state (0=RCP,1=LCP,2=V,3
     
     
     if type(ID_mode)== str:
-        ID_state=ID_state_mode()[ID_mode]
+        ID_state=ID_state_mode(ID_mode)
     try:
-        K=ID_Coef(mono_grating,ID_mode,hv_eV)
+        K=ID_coef(mono_grating,ID_state,hv_eV)
         ID=poly.polyval(hv_eV,K)
     except KeyError:
-        message_string='Not a valid ID mode!'+"\nValid Modes: "+str(ID_mode_list)
+        message_string='Not a valid ID mode!'+"\nValid Modes: "+str(ID_mode_list())
         print_warning_message(message_string)
         ID=caget("ID29:EnergySeteV")
     return round(ID,1)
@@ -110,11 +110,11 @@ def ID_state_mode(ID_mode):
     """
     try:
         ID_mode = ID_mode.upper()
-        ID_state =ID_mode_list()[ID_mode].index(ID_mode)
+        ID_state =ID_mode_list().index(ID_mode)
         return ID_state
 
     except:
-        message_string='Not a valid ID mode!'+"\nValid Modes: "+str(ID_mode_list)
+        message_string='Not a valid ID mode!'+"\nValid Modes: "+str(ID_mode_list())
         print_warning_message(message_string)
 
 def ID_state_get():
@@ -122,6 +122,7 @@ def ID_state_get():
     Returns the current ID state
     """
     ID_state = caget("ID29:ActualMode")
+    return ID_state
 
 def ID_mode_get(verbose=True):
     """
@@ -270,8 +271,9 @@ def ID_restart():
     
     Previously: ID_Restart
     """
-    ID_mode=ID_mode_list[ID_state_get()]
-    hv=ID_SP_get_eV(verbose=False)
+    ID_state = ID_state_get()
+    ID_mode = ID_mode_list()[ID_state]
+    hv = ID_SP_get_eV(verbose=False)
 
     print("Restarting ID", dateandtime())
     ID_stop(verbose=False)
@@ -338,7 +340,7 @@ def ID_energy_set(hv_eV):
 
     Previously: SetID
     """
-    ID_mode = ID_mode_list[ID_state_get()]
+    ID_mode = ID_mode_list()[ID_state_get()]
     mono_grating = mono_grating_get()
     ID_SP = ID_calc_SP(mono_grating,ID_mode,hv_eV)
    
@@ -396,7 +398,7 @@ def ID_QP_mode_set(ID_mode,QP_ratio):
     print("QP RBV   =", ratio_RBV,"%")
     sleep(15)
 
-def ID_Coef(grt,ID_mode,hv_eV):    # Mode = state (0=RCP,1=LCP,2=V,3=H); 
+def ID_coef(grt,ID_state,hv_eV):    # Mode = state (0=RCP,1=LCP,2=V,3=H); 
     
     """Return the ID coeff for a given polarization mode and energy;
     with Mode = 0 (RCP),1 (LCP), 2 (V), 3 (H).
@@ -406,9 +408,9 @@ def ID_Coef(grt,ID_mode,hv_eV):    # Mode = state (0=RCP,1=LCP,2=V,3=H);
     Previously: ID_Coef
     """
 
-    def ListRange(grt,ID_mode,IDdict):  # extract the list of break pts for a given mode/grt 
+    def ListRange(grt,ID_state,IDdict):  # extract the list of break pts for a given mode/grt 
         tmp_list=[]
-        for item in (IDdict[grt][ID_mode]):
+        for item in (IDdict[grt][ID_state]):
             tmp_list.append(item[0])  
         return tmp_list
 
@@ -427,9 +429,9 @@ def ID_Coef(grt,ID_mode,hv_eV):    # Mode = state (0=RCP,1=LCP,2=V,3=H);
         print("Unable to read dictionary") 
         
     try:   
-        Lrange = ListRange(grt,ID_mode,ID_function)
+        Lrange = ListRange(grt,ID_state,ID_function)
         Erange = FindRange(hv_eV,Lrange)
-        K = ID_function[grt][ID_mode][Erange][1]
+        K = ID_function[grt][ID_state][Erange][1]
         return K
         
     except KeyError:
-- 
GitLab