diff --git a/build/lib/iexcode/instruments/ARPES.py b/build/lib/iexcode/instruments/ARPES.py index debe940c10e2ea72a044db5b460e4f0cbb423e62..4081b1b285a4b10f979e97ec2a364a8d7f717ab8 100644 --- a/build/lib/iexcode/instruments/ARPES.py +++ b/build/lib/iexcode/instruments/ARPES.py @@ -11,7 +11,7 @@ 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.xrays import _xrays_detector_dictionary, _xrays_reset, xrays_get_all +from iexcode.instruments.xrays import _xrays_detector_dictionary, _xrays_reset, xrays_get_all, xrays_log_dictionary from iexcode.instruments.conversions_constants import * from iexcode.instruments.utilities import * @@ -40,7 +40,7 @@ def ARPES_init(*userName,**kwargs): **kwargs: set_folders: sets the mda and EA folders (default => True) - reset: to reset the detectors in the IOC, etc (default => True) + reset: to reset the detectors in the IOC, sets the logfile name, etc (default => False) xrays: sets global variable and detectors for x-ray (default => True) mode: used sets the detectors 'user ' / 'staff' (default => 'user' ) """ @@ -48,7 +48,7 @@ def ARPES_init(*userName,**kwargs): kwargs.setdefault('xrays',True) kwargs.setdefault('mode','user') kwargs.setdefault('set_folders',True) - kwargs.setdefault('reset',True) + kwargs.setdefault('reset',False) #motors physical_motors = ['x','y','z','th','chi','phi'] @@ -76,7 +76,7 @@ def ARPES_init(*userName,**kwargs): user_name = iex.BL.mda.user_name() #update for default scanRecord advanced parameters - iex.BL.mda.log=Logfile('ARPES',user_name,_ARPES_log_dictionary) + iex.BL.mda.log=Logfile('ARPES',user_name,_ARPES_log_dictionary,set_file=False) #EA if EA.connected: @@ -103,6 +103,8 @@ def ARPES_init(*userName,**kwargs): _enable_endstation_cameras() print ('\nARPES initalized') + print('\tpath = "'+iex.BL.mda.filepath()+'"') + print('\tprefix = "'+iex.BL.mda.prefix()+'"') #return any detectors or other parameters that you want access to from jupyter return tey,ca15 @@ -258,6 +260,9 @@ def ARPES_reset(): print("resetting ARPES Lakeshore") Lakeshore_reset(pv,LS_355_defaults) + #set the logfile name + iex.BL.mda.log.name_set() + ############################################################################################################## ############################## get all ############################## ############################################################################################################## @@ -329,6 +334,9 @@ def _ARPES_log_dictionary(): "tey2":(caget(ARPES_extra_pvs()['tey2']),"1.2e") } + if iex.BL.xrays == True: + d.update(xrays_log_dictionary()) + return d ############################################################################################################## @@ -553,8 +561,9 @@ def ARPES_transfer(chi=0,phi=0,**kwargs): """ Moves the ARPES manipulator to the default transfer position kwargs: - EA_HV_Off=True; Turns off the EA HV - Close_CBranch=True; closes the C-shutter and the C-valve (main chamber to BL) + EA_off = True (default); Turns off the EA HV + shutter_close = True (default); closes the C-shutter and the C-valve (main chamber to BL) + valve_close = True (default) """ _ARPESgo2("transfer",**kwargs) @@ -562,8 +571,14 @@ def ARPES_measure(**kwargs): """ Moves to ARPES motors x,y,z,th to the default measurement position kwargs - chi=None # specify a value to move chi - phi=None # specifiy a value to move phi + + kwargs: + EA_off = True (default); Turns off the EA HV + shutter_close = True (default); closes the C-shutter and the C-valve (main chamber to BL) + valve_close = True (default) + + chi = None (default, no change); specify a value to move chi + phi=None (default, no change; specifiy a value to move phi """ _ARPESgo2("measure",**kwargs) @@ -571,11 +586,12 @@ def ARPES_LEED(**kwargs): """ Moves to ARPES motors x,y,z,th to the default LEED position kwargs: - EA_HV_Off=True; Turns off the EA HV - Close_CBranch=True; closes the C-shutter and the C-valve (main chamber to BL) + EA_off = True (default); Turns off the EA HV + shutter_close = True (default); closes the C-shutter and the C-valve (main chamber to BL) + valve_close = True (default) - chi=None # specify a value to move chi - phi=None # specifiy a value to move phi + chi = None (default, no change); specify a value to move chi + phi=None (default, no change; specifiy a value to move phi """ _ARPESgo2("LEED",**kwargs) #################################################################################################### diff --git a/build/lib/iexcode/instruments/IEX_VPU.py b/build/lib/iexcode/instruments/IEX_VPU.py index c30f5af77b10f126ecb14e533c8f9b8e181963f5..16b2b26a135320671e49ca21b33693a74b13c20d 100644 --- a/build/lib/iexcode/instruments/IEX_VPU.py +++ b/build/lib/iexcode/instruments/IEX_VPU.py @@ -5,6 +5,7 @@ import numpy.polynomial.polynomial as poly from epics import caget, caput +import iexcode.instruments.cfg as iex from iexcode.instruments.userCalcs import userCalcOut_clear from iexcode.instruments.utilities import dateandtime, print_warning_message, read_dict from iexcode.instruments.VLS_PGM import mono_grating_get @@ -31,9 +32,9 @@ def ID_pvs(): 'energy_sp':pv+'EnergySet.VAL', 'start_ramp':pv+'StartRamp.VAL', 'energy_eV_rbv':pv+'EnergyRBV', - 'energy_eV_sp':pv+'EnergyScanSet.VAL', - 'scan_eV_rbv':pv+'EnergyScanSeteV', - 'scan_eV_val':pv+'EnergySetRBV', + 'energy_eV_sp':pv+'EnergyScanSeteV.VAL', + 'scan_val':pv+'EnergyScanSeteV.VAL', + 'scan_rbv':pv+'EnergyRBV', 'table_dir':pv+'TableDirection', 'By_q':pv+'ByqRdbk', 'Bx_q':pv+'BxqRdbk', @@ -535,8 +536,8 @@ def ID_scan_pvs(): """ returns the rbv and val for scanning """ - val_pv=ID_pvs()['scan_eV_val'] - rbv_pv=ID_pvs()['scan_eV_rbv'] + val_pv=ID_pvs()['scan_val'] + rbv_pv=ID_pvs()['scan_rbv'] return rbv_pv, val_pv def ID_scan_fillin(mda,scan_dim,start,stop,step,**kwargs): @@ -547,10 +548,10 @@ def ID_scan_fillin(mda,scan_dim,start,stop,step,**kwargs): """ #Setting up the ScanRecord for ID in Table mode val_pv, rbv_pv = ID_scan_pvs() - mda.fillin(scan_dim,rbv_pv,val_pv,start,stop,step,**kwargs) + iex.BL.mda.fillin(scan_dim,rbv_pv,val_pv,start,stop,step,**kwargs) -def ID_scan_fillin_table(mda,scan_dim,ID_array,**kwargs): +def ID_scan_fillin_table(ID_array,**kwargs): """ fills in the scanRecord for scanning the ID set point @@ -558,7 +559,7 @@ def ID_scan_fillin_table(mda,scan_dim,ID_array,**kwargs): """ #Setting up the ScanRecord for ID in Table mode rbv_pv, val_pv = ID_scan_pvs() - mda.fillin.table(scan_dim,rbv_pv,val_pv,ID_array,**kwargs) + iex.BL.mda.fillin_table(rbv_pv,val_pv,ID_array,**kwargs) ############################################################################################################## ############################## ID direction table ############################## diff --git a/build/lib/iexcode/instruments/VLS_PGM.py b/build/lib/iexcode/instruments/VLS_PGM.py index ff754e5190d8670fcc20a532bfd5dd6f510cfd7a..095ac21879db6c91ab89c2ac39bf9d7fd684420a 100644 --- a/build/lib/iexcode/instruments/VLS_PGM.py +++ b/build/lib/iexcode/instruments/VLS_PGM.py @@ -7,6 +7,8 @@ import numpy as np from epics import caget,caput + +import iexcode.instruments.cfg as iex from iexcode.instruments.IEX_BL_config import * from iexcode.instruments.utilities import print_warning_message,read_dict from iexcode.instruments.scanRecord import * @@ -546,16 +548,16 @@ def mono_scan_table(hv_array,**kwargs): scan_fillin_table(val_pv,rbv_pv,hv_array,**kwargs) #mono needs to stay and have a longer settling time - iex.BL.mda.positioner_settling_time(kwargs['positioner_settling_time']) + iex.BL.mda.positioner_settling_time(**kwargs) iex.BL.mda.positioner_after_scan("STAY") def mono_scan_after(**kwargs): """ resets mda after scanning the mono """ - after_scan_pv = iex.BL.mda.default_after_scan_seq + after_scan_pv = iex.BL.mda.default_after_scan_seq() caput(after_scan_pv+".PROC",1) - iex.BL.mda.positioner_after_scan("PRIOR POS",kwargs) + iex.BL.mda.positioner_after_scan("PRIOR POS",**kwargs) ############################################################################################################## diff --git a/build/lib/iexcode/instruments/cameras.py b/build/lib/iexcode/instruments/cameras.py deleted file mode 100644 index 977490ced8d54c937769a98757e361a724faf9c6..0000000000000000000000000000000000000000 --- a/build/lib/iexcode/instruments/cameras.py +++ /dev/null @@ -1,126 +0,0 @@ - -import time -from epics import caget,caput,PV - -import iexcode.instruments.cfg as iex -from iexcode.instruments.AD_utilities import * - -############################################################################################################## -############################## Camera PV dictionary ############################## -############################################################################################################## - -def _pv_dictionary(): - """ - dictionary of pv names for the beamline cameras - """ - d={ - 1:"29id_ps1:", - 2:"29id_ps2:", - 3:"29id_ps3:", - 4:"29id_ps4:", - 5:"29idarv5:", - 6:"29id_ps6:", - 7:"29id_ps7:", - } - return d - -############################################################################################################## -############################## Endstation Cameras ############################## -############################################################################################################## - -def _enable_endstation_cameras(unused_off=True): - """ - Turns on cameras related to a given endstation if they are connected - unused_off=True turns off other cameras - - """ - endstation=iex.BL.endstation_name - - #For new endstation modify here: - cam_dict={'ARPES':[0,1,2],'Kappa':[3,4,6]} # index of cam_list - - d=_pv_dictionary() - for num in d.keys(): - pv=d[num]+"cam1:Acquire" - #camera in list - if num in cam_dict[endstation]: - #two connected to deal with network traffic - PV(pv).connected - time.sleep(0.1) - if PV(pv).connected: - caput(pv,'Acquire') - else: - print(d[num]+" ioc in not running") - #camera not in list - else: - if unused_off: - if PV(pv).connected: - caput(pv,'Done') - - -############################################################################################################## -############################## Camera Snapping an image ############################## -############################################################################################################## - -def cam_snap(cam_num,ADtype='TIFF',**kwargs): - """ - takes a camera image and saves it in the user folder - - **kwargs: - ExposureTime: changes both the exposure time and the acquire time for the snapshot - resets after acquisition - FreeRun: True => disable setting and go back to continuous acquision - False => leave saving enabled and camera in single acquision - - """ - ADplugin = _pv_dictionary()[cam_num]+ADtype+"1:" - AD_snap(ADplugin,**kwargs) - - - - -############################################################################################################## -############################## Scanning with a camera ############################## -############################################################################################################## -def cam_scan_setup(cam_num,ADtype='TIFF',**kwargs): - """ - sets up the BL scanRecord for scanning at every point - **kwargs - scanDIM = 1 - detTrig = 2; detectorTrigger number - - # AD_SaveFileSetup - filepath=userpath (from BL_ioc scanRecord)+"/dtype" - (e.g. filepath="/net/s29data/export/data_29id"+folder+"/"+run+"/"+userName+"/"+df) - dtype = taken from ADplugin - FileTemplate="%s%s_%4.4d."+dtype; format for filename first %s = filepath, second %s = prefix - prefix = dtype by default - """ - ADplugin = _pv_dictionary()[cam_num]+ADtype+"1:" - ADplugin_ScanSetup(ADplugin,iex.BL.mda, **kwargs) - -def cam_live(cam_num): - """ - puts camera in no save and continuous - a.k.a free run - - """ - ADplugin = _pv_dictionary()[cam_num] - AD_FreeRun(ADplugin) - -def cam_done(cam_num,**kwargs): - """ - stops camera acquisition (not will stop after current acquisition) - """ - ADplugin = _pv_dictionary()[cam_num] - AD_Done(ADplugin,**kwargs) - -def cam_save_setup(cam_num,ADtype='TIFF',**kwargs): - """ - sets up the save paths using iex.BL.mda.current_user - **kwargs - prefix: beginning of filename - """ - ADplugin = _pv_dictionary()[cam_num]+ADtype+"1:" - AD_SaveFileSetup(ADplugin,**kwargs) - diff --git a/build/lib/iexcode/instruments/current_amplifiers.py b/build/lib/iexcode/instruments/current_amplifiers.py index 7488c520bc4fee881fb27fa4dbdc20f342a3a116..47327a8acac2ee40b338b0da252ab2cb8c0f729e 100644 --- a/build/lib/iexcode/instruments/current_amplifiers.py +++ b/build/lib/iexcode/instruments/current_amplifiers.py @@ -2,6 +2,8 @@ import numpy as np from time import sleep from epics import caget, caput + +import iexcode.instruments.cfg as iex from iexcode.instruments.userCalcs import userStringSeq_pvs, userStringSeq_clear from iexcode.instruments.VLS_PGM import mono_energy_get @@ -11,7 +13,7 @@ def ca_detector_list(branch): returns the list of keithley current amplifiers based on key key: 'ARPES' / 'Staff' """ - ca_list = list(_ca_dictionary()[branch].keys()) + ca_list = iex.ca_list return ca_list @@ -242,16 +244,21 @@ def _ca_live_sequence(ioc,seq_num,detector_list): return userStringSeq_proc -def ca_average(avg_pts,ca_list,rate="Slow",verbose=True): +def ca_average(avg_pts,**kwargs): """ Average reading of the relevant current amplifiers for the current scanIOC/branch. + ** kwargs: Previously: CA_average """ - print("\nAverage set to: "+str(max(avg_pts,1))) + kwargs.setdefault('ca_list',ca_detector_list(iex.BL.branch)), + kwargs.setdefault('rate',"Slow") + kwargs.setdefault('verbose',True) + ca_list = kwargs['ca_list'] + for i in range(0,len(ca_list)): ca = Keithley(ca_list[i][0],ca_list[i][1]) - ca.avg(avg_pts,rate=rate,verbose=verbose) + ca.avg(avg_pts,rate=kwargs['rate'],verbose=kwargs['verbose']) def _load_responsivity_curve(): diff --git a/build/lib/iexcode/instruments/diagnostics.py b/build/lib/iexcode/instruments/diagnostics.py index 1c970b7138b4c2713937a20d2bc5ef2b01568ece..d021dc45f4cb4e471fc0b356c32014d204a20db1 100644 --- a/build/lib/iexcode/instruments/diagnostics.py +++ b/build/lib/iexcode/instruments/diagnostics.py @@ -9,19 +9,19 @@ from iexcode.instruments.utilities import print_warning_message ################################ default positions ############################## ############################################################################################################## #For new endstation modify here: -def _diagnostics_presets(): +def diagnostics_presets(): presets={ - 'H-wire':['OUT','Start'], - 'V-wire':['OUT','Start'], - 'H-Diagon':['OUT','Si-2800','ML-400','ML-460'], - 'V-Diagon':['OUT','Si-2800','ML-400','ML-460'], - 'D1A':['OUT','Mesh'], - 'D2B':['OUT','Mesh','YAG'], - 'D3B':['OUT','YAG'], - 'D4C':['OUT','Mesh','YAG'], - 'gas-cell':['OUT','Diode1','Diode2'], - 'D4D':['OUT','Mesh','YAG'], - 'D5D':['OUT','Mesh','YAG','Diode'], + 'H-wire':(['OUT','Start'],'29id:m1'), + 'V-wire':(['OUT','Start'],'29id:m2'), + 'H-Diagon':(['OUT','Si-2800','ML-400','ML-460'],'29id:m3'), + 'V-Diagon':(['OUT','Si-2800','ML-400','ML-460'],'29id:m4'), + 'D1A':(['OUT','Mesh'],'29id:m5'), + 'D2B':(['OUT','Mesh','YAG'],'29id:m6'), + 'D3B':(['OUT','YAG'],'29id:m7'), + 'D4C':(['OUT','Mesh','YAG'],'29id:m17'), + 'gas-cell':(['OUT','Diode1','Diode2'],'29id:m20'), + 'D4D':(['OUT','Mesh','YAG'],'29id:m25'), + 'D5D':(['OUT','Mesh','YAG','Diode'],'29id:m6') } return presets @@ -46,6 +46,7 @@ def _diagnostic_read_dict(): read_dict={ 'diode_c':Keithley('b',15), 'mesh_d':SRS("29idMZ0:scaler1.S14", '29idd:A4'), + 'diode_d':Keithley('b',14), } return read_dict @@ -57,19 +58,19 @@ def _diagnostics_preset_pv(diag_name,preset_name): dictionary of the motor pvs for the beamline diagnostics """ ioc = '29idb:' - d = _diagnostics_presets() + d = diagnostics_presets() pv=None if diag_name.casefold() in (key.casefold() for key in list(d.keys())): idx = [item.lower() for item in list(d.keys())].index(diag_name.lower()) diag_name=list(d.keys())[idx] - if preset_name.casefold() in (preset.casefold() for preset in d[diag_name]): - idx = [item.lower() for item in d[diag_name]].index(preset_name.lower()) - preset_name = d[diag_name][idx] + if preset_name.casefold() in (preset.casefold() for preset in d[diag_name][0]): + idx = [item.lower() for item in d[diag_name][0]].index(preset_name.lower()) + preset_name = d[diag_name][0][idx] pv = ioc+diag_name+'_'+preset_name else: message ='preset_name = '+preset_name+' not a valid name' - message +='\npreset_names:'+str(d[diag_name]) + message +='\npreset_names:'+str(d[diag_name][0]) print_warning_message(message) else: @@ -111,8 +112,8 @@ def diagnostic(name,in_out): use """ ''' - Inserts/retracts a diagnostic(motor number or name) either = "In" or "Out" - + Inserts/retracts a diagnostic either = "In" or "Out" + => diagnostic_name_list: to list diagnostics ''' d_quick = _diagnostics_inout_dict() if name in d_quick.keys(): @@ -125,7 +126,7 @@ def diagnostic(name,in_out): print("\n"+name+": "+ in_out) else: message = 'name = '+name+' is not a valid diagnostic name' - message +='\n valid names are '+str(diagnostics_list_all(verbose=False)) + message +='\n valid names are '+str(d_quick.keys()) print_warning_message(message) def diagnostics_all_out(diode_stay_in=False,mesh_stay_in=False): @@ -139,7 +140,7 @@ def diagnostics_all_out(diode_stay_in=False,mesh_stay_in=False): message = "All diagnostics out" d_names = _diagnostics_inout_dict() - diag_list = list(_diagnostics_presets().keys()) + diag_list = list(diagnostics_presets().keys()) #if staying remove diag_name from list if diode_stay_in: @@ -266,6 +267,14 @@ def mesh_d_read(verbose=True): val = diagnostic_read('mesh_d',verbose) return val +def diode_d_read(verbose=True): + """ + reads the current amplifier and returns the value + quiet = False to pring + """ + val = diagnostic_read('diode_d',verbose) + return val + ############################################################################################### ####################################### FLUX CONVERSION ####################################### diff --git a/build/lib/iexcode/instruments/electron_analyzer.py b/build/lib/iexcode/instruments/electron_analyzer.py index 393f7a817d102b0816a21a289cb25afb0b1e058f..782174e9f8f828c01db66e3f359db87a47e3b5bb 100644 --- a/build/lib/iexcode/instruments/electron_analyzer.py +++ b/build/lib/iexcode/instruments/electron_analyzer.py @@ -166,8 +166,7 @@ def EAlog_update(): """ d=EA_log_dictionary() try: - header_list,data_list,format_list = iex.BL.mda.log.log_entries(d) - iex.BL.mda.log.write_entry(data_list,format_list) + log_update(d) except: print("EAlog did not write to file, check for errors.") diff --git a/build/lib/iexcode/instruments/scanRecord.py b/build/lib/iexcode/instruments/scanRecord.py index ef3f17e8c3029a8a2b151d438b0c4dd0d0d932e1..b836c161d9f8a523c882ce0f6bf2afc6cefae57b 100644 --- a/build/lib/iexcode/instruments/scanRecord.py +++ b/build/lib/iexcode/instruments/scanRecord.py @@ -84,7 +84,6 @@ def saveData_get_all(ioc_pv): return {} - ############################################################################################################## @@ -723,6 +722,7 @@ class ScanRecord: Previously: Scan_Reset_AfterTable """ + kwargs.setdefault('scan_dim',1) #Setting everything back scan_pv = self.ioc+"scan"+str(kwargs['scan_dim']) diff --git a/build/lib/iexcode/instruments/xrays.py b/build/lib/iexcode/instruments/xrays.py index bd972006e2ed97262b74c8b1115967b93efbb3bb..924b86a7f5442155ed7e6a88b8405e88d30e704c 100644 --- a/build/lib/iexcode/instruments/xrays.py +++ b/build/lib/iexcode/instruments/xrays.py @@ -9,12 +9,10 @@ from time import sleep from epics import caget,caput import iexcode.instruments.cfg as iex -from iexcode.instruments.IEX_cameras import _enable_endstation_cameras from iexcode.instruments.current_amplifiers import ca_average, ca_detector_list from iexcode.instruments.diagnostics import * from iexcode.instruments.FMB_mirrors import FMB_mirror_get from iexcode.instruments.IEX_VPU import * -from iexcode.instruments.Logfile import log_update from iexcode.instruments.m3r import m3r_align,m3r_branch,m3r_switch_branch,m3r_position_dictionary from iexcode.instruments.shutters import * from iexcode.instruments.slits import * @@ -115,7 +113,7 @@ def xrays_get_all(verbose=True): return vals -def _xrays_log_entries(**kwargs): +def xrays_log_dictionary(**kwargs): """ Writes CSV file for the MDA scans with the following default parameters: FilePath='/home/beams/29IDUSER/Documents/User_Folders/UserName/' @@ -126,69 +124,18 @@ def _xrays_log_entries(**kwargs): Previously: scanlog """ - #default parameters - kwargs.setdefault('comment','') - #global BL - - ioc = iex.BL.ioc - - #scan Num - scan = iex.BL.mda.prefix(ioc)+str(iex.BL.mda.fileNum(ioc)) - entry_list=["scan"] - pv_list=[scan] - format_list=["s" ] - #scan info - drive = caget(ioc+"scan1.P1PV") - start = caget(ioc+"scan1.P1SP") - stop = caget(ioc+"scan1.P1EP") - step = caget(ioc+"scan1.P1SI") - entry_list.append('drive','start','stop' ,'step') - pv_list.append(drive,start,stop ,step) - format_list.append("s",".3f",".3f",".3f") - - #endstation info - if iex.BL.endstation_name == 'ARPES': - endstation_entry, endstation_pv, endstation_format = iex.BL.log_entries(**kwargs) - entry_list.append(endstation_entry) - pv_list.append(endstation_pv) - format_list.append(endstation_format) - elif iex.BL.endstation_name == 'Kappa': - endstation_entry, endstation_pv, endstation_format = iex.BL.log_entries(**kwargs) - entry_list.append(endstation_entry[:-7]) - pv_list.append(endstation_pv[:-7]) - format_list.append(endstation_format[:-7]) - - #beamline info - ID_mode = ID_mode_get(verbose=False) if iex.BL.xrays else "no_xrays" - ID_QP_ratio = ID_QP_ratio_get(verbose=False)[0] if iex.BL.xrays else "no_xrays" - ID_sp = round(ID_get_sp_eV()) if iex.BL.xrays else 0 - ID_rbv = round(ID_get_rbv_eV,4) if iex.BL.xrays else 0 - hv = mono_energy_get() if iex.BL.xrays else 0 - grt = mono_grating_get() if iex.BL.xrays else 0 - slit_size = slit_get()[0] if iex.BL.xrays else 0 - entry_list.append("hv","exit_slit","GRT", "ID_SP", "ID_RBV", "ID_Mode", "ID_QP") - pv_list.append(hv,slit_size,grt, ID_sp, ID_rbv,ID_mode, ID_QP_ratio) - format_list.append(".2f",".0f","s",".1f",".1f","s", ".0f") - - #endstation info 2: Fanny can I change to order to get rid of this complication? - if iex.BL.endstation_name == 'Kappa': - endstation_entry, endstation_pv, endstation_format = iex.BL.log_entries(**kwargs) - entry_list.append(endstation_entry[-7:]) - pv_list.append(endstation_pv[-7:]) - format_list.append(endstation_format[-7:]) - - #timestamp and comments - t = time.strftime("%D-%H:%M:%S") - comment = kwargs["comment"] - entry_list.append('time','comment') - pv_list.append(t,comment) - format_list.append("s","s") + d={ + 'ID_mode':(ID_mode_get(verbose=False),"s"), + 'ID_QP_ratio':(ID_QP_ratio_get(verbose=False)[0],".0f"), + 'ID_sp':(ID_get_sp_eV(verbose=False),".2f"), + 'ID_rbv':(ID_get_rbv_eV(verbose=False),".2f"), + 'mono':(mono_energy_get(),".2f"), + 'grating':(mono_grating_get(),"s"), + 'slit_size':(slit_get(verbose=False)[0][0],".0f"), + } + + return d - try: - log_update(iex.BL.endstation,iex.BL.ioc,entry_list,pv_list,format_list) - except: - print("scanlog did not write to file, check for errors.") - ############################################################################################################## ############################## beamline encoders ############################## ############################################################################################################## @@ -426,7 +373,7 @@ def scanmono(start,stop,step,average_pnts=1,**kwargs): scans the mono at the current ID value """ - ca_average(average_pnts,ca_detector_list(iex.BL.branch)) + ca_average(average_pnts) mono_scan(start,stop,step,**kwargs) @@ -476,13 +423,13 @@ def scanXAS(start_stop_step_lists,ID_eV=None,ID_tracking=False, **kwargs): energy(ID_eV,m3r=kwargs["m3r"]) #Averaging and Normalization - ca_average(kwargs['average_pnts'],ca_detector_list(iex.BL.branch)) + ca_average(kwargs['average_pnts']) if iex.BL.branch=="d": mesh_d("In") print_warning_message('MeshD is not automatically removed') #mpa - if iex.BL.endstation == "Kappa" and kwargs["mcp"]: + if iex.BL.endstation_name == "Kappa" and kwargs["mcp"]: mpa.HV_on() #Scanning @@ -491,11 +438,10 @@ def scanXAS(start_stop_step_lists,ID_eV=None,ID_tracking=False, **kwargs): iex.BL.mda.go(scan_dim) #Setting everything back - mono_energy_set(ID_eV) - mono_scan_after(iex.BL.mda,scan_dim) - iex.BL.mda.table_reset_after(scan_dim) + mono_scan_after() + iex.BL.mda.table_reset_after() - if iex.BL.endstation == "Kappa": + if iex.BL.endstation_name == "Kappa": if kwargs["mcp"]: mpa.HV_off() print("WARNING: Mesh"+iex.BL.branch+" is still In") @@ -584,7 +530,7 @@ def get_mirrors(): ############################################################################################################## def slit(size,verbose=True): """ - sets the exit slit based on iex.BL.endstation + sets the exit slit based on iex.BL.endstation_name ARPES = 0 < x < 300 um Kappa = 0 < x < 1000 um @@ -595,7 +541,7 @@ def slit(size,verbose=True): def slit_get(verbose=True): """ - sets the exit slit based on iex.BL.endstation + sets the exit slit based on iex.BL.endstation_name ARPES = 0 < x < 300 um Kappa = 0 < x < 1000 um diff --git a/build/lib/iexcode/macros/__init__.py b/build/lib/iexcode/macros/__init__.py index 22fb71cbe6c4dbf4d150e410132792ad6b62713f..e6ccdb93fcb545fdc3cd980a8d526137d7f192bd 100644 --- a/build/lib/iexcode/macros/__init__.py +++ b/build/lib/iexcode/macros/__init__.py @@ -1,17 +1,42 @@ +import iexcode.instruments.cfg as iex -from iexcode.instruments.AD_utilities import * -from iexcode.instruments.bakeout import * -from iexcode.instruments.cameras import * -from iexcode.instruments.conversions_constants import * -from iexcode.instruments.encoders import * -from iexcode.instruments.files_and_folders import * -from iexcode.instruments.IEX_BL_config import * -from iexcode.instruments.Logfile import * -from iexcode.instruments.Motors import * -from iexcode.instruments.remote_controlers import * -from iexcode.instruments.s29_temp_cntl import * -from iexcode.instruments.scalers import * -from iexcode.instruments.userCalcs import * -from iexcode.instruments.utilities import * - +from iexcode.instruments.ARPES import * +from iexcode.instruments.bakeout import * #not tested +from iexcode.instruments.conversions_constants import * +from iexcode.instruments.current_amplifiers import * #need to test SRS +from iexcode.instruments.diagnostics import * +from iexcode.instruments.electron_analyzer import * #didn't test, but not much changed +from iexcode.instruments.encoders import * #didn't test encoder reset +from iexcode.instruments.files_and_folders import * +from iexcode.instruments.FMB_mirrors import * +#from iexcode.instruments.hxp_mirrors import * +from iexcode.instruments.IEX_cameras import * +from iexcode.instruments.IEX_VPU import * #need to test with ID +#from iexcode.instruments.kappa_angle_calcs import * +#from iexcode.instruments.Kappa_det import * +#from iexcode.instruments.Kappa import * +from iexcode.instruments.Lakeshore_335 import *#didnt' test mostly hardcoded +from iexcode.instruments.Logfile import * # +from iexcode.instruments.m3r import * +from iexcode.instruments.Motors import * +#from iexcode.instruments.MPA import * +from iexcode.instruments.Octupole import * +#from iexcode.instruments.remote_controlers import * +#from iexcode.instruments.resolution import * +#from iexcode.instruments.s29_temp_cntl import * +from iexcode.instruments.scalers import * +from iexcode.instruments.scanRecord import * +from iexcode.instruments.Scienta import * +from iexcode.instruments.shutters import * #didn't do main shutter +from iexcode.instruments.slits import * +#from iexcode.instruments.spec_stuff import * +from iexcode.instruments.staff import * +from iexcode.instruments.storage_ring import * +from iexcode.instruments.userCalcs import * +from iexcode.instruments.utilities import * +from iexcode.instruments.valves import * +from iexcode.instruments.VLS_PGM import * +from iexcode.instruments.utilities import * +#from iexcode.instruments.vortex import * +from iexcode.instruments.xrays import *