after removing of trailing spaces

This commit is contained in:
gac-x07mb
2024-08-09 13:27:23 +02:00
parent b36c19e224
commit f89f9c4451
8 changed files with 345 additions and 137 deletions

View File

@ -37,27 +37,28 @@ from IPython.core.magic import register_line_magic
import time as tt import time as tt
# pylint: disable=invalid-name, unused-import, import-error, undefined-variable, unused-variable, unused-argument, no-name-in-module # pylint: disable=invalid-name, unused-import, import-error, undefined-variable, unused-variable, unused-argument, no-name-in-module
import sys import sys
# SETUP PROMPTS # SETUP PROMPTS
bec._ip.prompts.username = "PHOENIX" bec._ip.prompts.username = "PHOENIX"
bec._ip.prompts.status = 1 bec._ip.prompts.status = 1
# make sure that edited modules are reloaded when changed # make sure that edited modules are reloaded when changed
print('post_startup.py : set autoreload of modules') print('post_startup.py : set autoreload of modules')
bec._ip.run_line_magic("reload_ext","autoreload") bec._ip.run_line_magic("reload_ext","autoreload")
bec._ip.run_line_magic("autoreload", "2") bec._ip.run_line_magic("autoreload", "2")
print('autoreload loaded ') print('autoreload loaded ')
########### ###########
# #
# next lines are not ideal and likely need to be removed they are a temporary fix as we had trouble finding certain paths. # next lines are not ideal and likely need to be removed they are a temporary fix as we had trouble finding certain paths.
# #
# we need to work in server_env, otherwise no server is found # we need to work in server_env, otherwise no server is found
# path to ophyd devices is only way to find default ophyd devices # path to ophyd devices is only way to find default ophyd devices
# path to python packages not ideal but only way to add pyp5 and pandas packages # path to python packages not ideal but only way to add pyp5 and pandas packages
# #
########## ##########
@ -69,41 +70,42 @@ p_path='/data/test/x07mb-test-bec/bec_deployment/bec_server_venv/lib/python3.11/
print('add ',ophyd_devices_path) print('add ',ophyd_devices_path)
print('add ',p_path) print('add ',p_path)
if ophyd_devices_path not in sys.path: if ophyd_devices_path not in sys.path:
sys.path.insert(1, os.path.expandvars(ophyd_devices_path)) sys.path.insert(1, os.path.expandvars(ophyd_devices_path))
#endif #endif
if p_path not in sys.path: if p_path not in sys.path:
sys.path.insert(1, os.path.expandvars(p_path)) sys.path.insert(1, os.path.expandvars(p_path))
#endif #endif
############################################################################# #############################################################################
# #
#... register BL specific magic commands #... register BL specific magic commands
# #
############################################################################## ##############################################################################
@register_line_magic @register_line_magic
def ph_reload(line): def ph_reload(line):
########################################################################## ##########################################################################
# #
# this reloads certain phoenix related script to the iphython shell. # this reloads certain phoenix related script to the iphython shell.
# useful for debugging/development to be revised for production # useful for debugging/development to be revised for production
# aim of this magic is to quickl reload BL related stuff for debugging # aim of this magic is to quickl reload BL related stuff for debugging
# Most likely there are better ways to do this (possibly bec.reload_user_script() # Most likely there are better ways to do this (possibly bec.reload_user_script()
# but syntax not clear, error messages. Here we know what we do # but syntax not clear, error messages. Here we know what we do
# #
# ####################################################################### ########################################################################
print('reload phoenix_bec.scripts.phoenix to iphyhton console')
print('to update version server restart server ') print('reload phoenix_bec.scripts.phoenix to iphyhton console')
global PH,phoenix print('to update version server restart server ')
print('from phoenix_bec.scripts import phoenix as PH') global PH,phoenix
from phoenix_bec.scripts import phoenix as PH print('from phoenix_bec.scripts import phoenix as PH')
print('phoenix = PH.PhoenixBL()') from phoenix_bec.scripts import phoenix as PH
phoenix = PH.PhoenixBL() print('phoenix = PH.PhoenixBL()')
#ph_config=PH.PhoenixConfighelper() phoenix = PH.PhoenixBL()
#enddef #ph_config=PH.PhoenixConfighelper()
#enddef
print('register magic') print('register magic')
print('...... %ph_load_xmap') print('...... %ph_load_xmap')
@ -112,7 +114,7 @@ def ph_load_xmap(line):
t0=tt.time() t0=tt.time()
phoenix_server.add_xmap() phoenix_server.add_xmap()
print('elapsed time:', tt.time()-t0) print('elapsed time:', tt.time()-t0)
#enddef #enddef
print('...... %ph_load_falcon') print('...... %ph_load_falcon')
@register_line_magic @register_line_magic
@ -120,7 +122,7 @@ def ph_load_falcon(line):
t0=tt.time() t0=tt.time()
phoenix_server.add_falcon() phoenix_server.add_falcon()
print('elapsed time:', tt.time()-t0) print('elapsed time:', tt.time()-t0)
#enddef #enddef
print('...... %ph_load_config') print('...... %ph_load_config')
@register_line_magic @register_line_magic
@ -131,18 +133,17 @@ def ph_load_config(line):
#enddef #enddef
##@register_line_magic ##@register_line_magic
#def ph_post_startup(line): #def ph_post_startup(line):
# print('import phoenix_bec.bec_ipython_client.startup.post_startup does not work caused loop ') # print('import phoenix_bec.bec_ipython_client.startup.post_startup does not work caused loop ')
# #import phoenix_bec.bec_ipython_client.startup.post_startup # #import phoenix_bec.bec_ipython_client.startup.post_startup
# does not work seems to build a infinite stack... # does not work seems to build a infinite stack...
#################################################################################### ####################################################################################
# #
# init phoenix.py from server version as # init phoenix.py from server version as
# .................. phoenix_server=PhoenixBL() # .................. phoenix_server=PhoenixBL()
# and in ipython shell only as # and in ipython shell only as
# .............. phoenix = Ph.Pheonix(BL() # .............. phoenix = Ph.Pheonix(BL()
# #
##################################################################################### #####################################################################################
@ -157,4 +158,4 @@ phoenix = PH.PhoenixBL()
#from phoenix_bec.bec_ipython_client.plugins.phoenix import Phoenix #from phoenix_bec.bec_ipython_client.plugins.phoenix import Phoenix
#from phoenix_bec.devices.falcon_phoenix_no_hdf5 import FalconHDF5Plugins #from phoenix_bec.devices.falcon_phoenix_no_hdf5 import FalconHDF5Plugins

View File

@ -7,7 +7,7 @@ falcon_nohdf5:
- phoenix - phoenix
- falcon - falcon
- no hdf5 - no hdf5
- phoenix_devices.yaml - phoenix_devices.yaml
onFailure: buffer onFailure: buffer
enabled: true enabled: true
readoutPriority: async readoutPriority: async

View File

@ -2,4 +2,4 @@ from phoenix_bec.scripts.phoenix import PhoenixBL
phoenix=PhoenixBL() phoenix=PhoenixBL()
#phoenix.read_phoenix_config() #phoenix.read_phoenix_config()
phoenix.show_phoenix_setup() phoenix.show_phoenix_setup()

View File

@ -1,72 +1,71 @@
#from unittest import mock #from unittest import mock
import numpy as np import numpy as np
#import pandas #import pandas
#import pytest #import pytest
#from bec_lib import messages #from bec_lib import messages
#import device_server #import device_server
#from ophyd importPhoenixTemplate.pyitioner import PVPositionerComparator #from ophyd importPhoenixTemplate.pyitioner import PVPositionerComparator
#from ophyd.status import DeviceStatus, SubscriptionStatus #from ophyd.status import DeviceStatus, SubscriptionStatus
import time import time
#import ophyd
import os
import sys
import importlib
import ophyd
#import ophyd
import os
import sys
import importlib
import ophyd
#logger = bec_logger.logger #logger = bec_logger.logger
# load local configuration # load local configuration
#bec.config.load_demo_config() #bec.config.load_demo_config()
# .. define base path for directory with scripts # .. define base path for directory with scripts
PhoenixBL=0 PhoenixBL=0
from ConfigPHOENIX.config.phoenix import PhoenixBL from ConfigPHOENIX.config.phoenix import PhoenixBL
#from ConfigPHOENIX.devices.falcon_csaxs import FalconSetup #from ConfigPHOENIX.devices.falcon_csaxs import FalconSetup
# initialize general parameter # initialize general parameter
ph=PhoenixBL() ph=PhoenixBL()
bec.config.update_session_with_file('./ConfigPHOENIX/device_config/phoenix_devices.yaml') bec.config.update_session_with_file('./ConfigPHOENIX/device_config/phoenix_devices.yaml')
time.sleep(1) time.sleep(1)
s1=scans.line_scan(dev.ScanX,0,0.002,steps=4,exp_time=1,relative=False,delay=2) s1=scans.line_scan(dev.ScanX,0,0.002,steps=4,exp_time=1,relative=False,delay=2)
s2=scans.phoenix_line_scan(dev.ScanX,0,0.002,steps=4,exp_time=.01,relative=False,delay=2) s2=scans.phoenix_line_scan(dev.ScanX,0,0.002,steps=4,exp_time=.01,relative=False,delay=2)
"""
print('---------------------------------')
# scan will not diode
print(' SCAN DO NOT READ DIODE ')
dev.PH_curr_conf.readout_priority='baseline' # do not read detector
ti=tt.time_ns()
s1=scans.line_scan(dev.PH_ScanX_conf,0,0.002,steps=4,exp_time=.01,relative=False,delay=2)
tf=tt.time_ns()
print('elapsed time',(tf-ti)/1e9)
# scan will read diode
print(' SCAN READ DIODE ')s is not installed on test system
ScanX_conf,0,0.002,steps=11,exp_time=.3,relative=False,delay=2)
"""
""" """
next lines do not work as pandas is not installed on test system print('---------------------------------')
res1 = s1.scan.to_pandas() # scan will not diode
re1 = res1.to_numpy() print(' SCAN DO NOT READ DIODE ')
print('Scana') dev.PH_curr_conf.readout_priority='baseline' # do not read detector
print(res1) ti=tt.time_ns()
print('') s1=scans.line_scan(dev.PH_ScanX_conf,0,0.002,steps=4,exp_time=.01,relative=False,delay=2)
print('Scan2 at pandas ') tf=tt.time_ns()
print(res2)
print('Scan2 as numpy ') print('elapsed time',(tf-ti)/1e9)
# scan will read diode
print(' SCAN READ DIODE ')s is not installed on test system
ScanX_conf,0,0.002,steps=11,exp_time=.3,relative=False,delay=2)
"""
"""
next lines do not work as pandas is not installed on test system
res1 = s1.scan.to_pandas()
re1 = res1.to_numpy()
print('Scana')
print(res1)
print('')
print('Scan2 at pandas ')
print(res2) print(res2)
""" print('Scan2 as numpy ')
print(res2)
"""

View File

@ -0,0 +1,104 @@
s#from unittest import mock
import numpy as np
#import pandas
#import pytest
#from bec_lib import messages
#import device_server
#from ophyd import Component as Cpt
from ophyd import Device, EpicsMotor, EpicsSignal, EpicsSignalRO
#from ophyd import FormattedComponent as FCpt
#from ophyd import Kind, PVPositioner, Signal
#from ophyd.flyers import FlyerInterface
#from ophyd.pv_positioner import PVPositionerComparator
#from ophyd.status import DeviceStatus, SubscriptionStatus
from bec_lib.config_helper import ConfigHelper
from bec_lib.logger import bec_logger
logger = bec_logger.logger
import time as tt
#import ophyd
import os
import sys
#logger = bec_logger.logger
# load simulation
#bec.config.load_demo_config()
# .. define base path for directory with scripts
class PhoenixBL():
"""
General class for PHOENIX beamline from phoenix_bec/phoenic_bec/scripts
"""
def __init__(self):
"""
init PhoenixBL() in phoenix_bec/scripts
"""
import os
print('..... init PhoenixBL from phoenix_bec/scripts/phoenix.py')
#from ophyd import Device, EpicsMotor, EpicsSignal, EpicsSignalRO
#from ophyd import Component as Cpt
#self.ScanX = EpicsMotor(name='ScanX',prefix='X07MB-ES-MA1:ScanX')
#self.ScanY = EpicsMotor(name='ScanY',prefix='X07MB-ES-MA1:ScanY')
#self.DIODE = EpicsSignal(name='SI',read_pv='X07MB-OP2-SAI_07:MEAN')
#self.SIG = Cpt(EpicsSignal,name='we',read_pv="X07MB-OP2-SAI_07:MEAN")
#self.SMPL = EpicsSignal(name='SMPL',read_pv='X07MB-OP2:SMPL')
#self.CYCLES = EpicsSignal(name='SMPL',read_pv='X07MB-OP2:TOTAL-CYCLES',write_pv='X07MB-OP2:TOTAL-CYCLES')
# load local configuration
self.path_scripts_local = '/data/test/x07mb-test-bec/bec_deployment/phoenix_bec/phoenix_bec/local_scripts/'
self.path_config_local = self.path_scripts_local + 'TEST_ConfigPhoenix/' # base dir for local configurations
self.path_devices_local = self.path_config_local + 'Local_device_config/' # local yamal file
self.file_devices_file_local = self.path_devices_local + 'phoenix_devices.yaml'
self.path_phoenix_bec ='/data/test/x07mb-test-bec/bec_deployment/phoenix_bec/'
self.path_devices = self.path_phoenix_bec + 'phoenix_bec/device_configs/' # local yamal file
self.file_devices_file = self.path_phoenix_bec + 'phoenix_bec/device_configs/phoenix_devices.yaml' # local yamal file
def read_local_phoenix_config(self):
print('read file ')
print(self.file_phoenix_devices_file)
bec.config.update_session_with_file(self.file_devices_file_local)
def add_phoenix_config(self):
print('add_phoenix_config ')
print('self.file_devices_file')
bec.config.update_session_with_file(self.file_devices_file)
def add_xmap(self):
print('add xmap ')
print(self.path_devices+'phoenix_xmap.yaml')
bec.config.update_session_with_file(self.path_devices+'phoenix_xmap.yaml',timeout=50)
def add_falcon(self):
print('add_xmap')
print(self.path_devices+'/phoenix_falcon.yaml')
bec.config.wait_for_config_reply()
bec.config.update_session_with_file(self.path_devices+'/phoenix_falcon.yaml')
def show_phoenix_setup(self):
print(self.path_phoenix_bec)
os.system('cat '+self.path_phoenix_bec+'phoenix_bec/scripts/Current_setup.txt')

View File

@ -0,0 +1,104 @@
#from unittest import mock
import numpy as np
#import pandas
#import pytest
#from bec_lib import messages
#import device_server
#from ophyd import Component as Cpt
from ophyd import Device, EpicsMotor, EpicsSignal, EpicsSignalRO
#from ophyd import FormattedComponent as FCpt
#from ophyd import Kind, PVPositioner, Signal
#from ophyd.flyers import FlyerInterface
#from ophyd.pv_positioner import PVPositionerComparator
#from ophyd.status import DeviceStatus, SubscriptionStatus
from bec_lib.config_helper import ConfigHelper
from bec_lib.logger import bec_logger
logger = bec_logger.logger
import time as tt
#import ophyd
import os
import sys
#logger = bec_logger.logger
# load simulation
#bec.config.load_demo_config()
# .. define base path for directory with scripts
class PhoenixBL():
"""
General class for PHOENIX beamline from phoenix_bec/phoenic_bec/scripts
"""
def __init__(self):
"""
init PhoenixBL() in phoenix_bec/scripts
"""
import os
print('..... init PhoenixBL from phoenix_bec/scripts/phoenix.py')
#from ophyd import Device, EpicsMotor, EpicsSignal, EpicsSignalRO
#from ophyd import Component as Cpt
#self.ScanX = EpicsMotor(name='ScanX',prefix='X07MB-ES-MA1:ScanX')
#self.ScanY = EpicsMotor(name='ScanY',prefix='X07MB-ES-MA1:ScanY')
#self.DIODE = EpicsSignal(name='SI',read_pv='X07MB-OP2-SAI_07:MEAN')
#self.SIG = Cpt(EpicsSignal,name='we',read_pv="X07MB-OP2-SAI_07:MEAN")
#self.SMPL = EpicsSignal(name='SMPL',read_pv='X07MB-OP2:SMPL')
#self.CYCLES = EpicsSignal(name='SMPL',read_pv='X07MB-OP2:TOTAL-CYCLES',write_pv='X07MB-OP2:TOTAL-CYCLES')
# load local configuration
self.path_scripts_local = '/data/test/x07mb-test-bec/bec_deployment/phoenix_bec/phoenix_bec/local_scripts/'
self.path_config_local = self.path_scripts_local + 'TEST_ConfigPhoenix/' # base dir for local configurations
self.path_devices_local = self.path_config_local + 'Local_device_config/' # local yamal file
self.file_devices_file_local = self.path_devices_local + 'phoenix_devices.yaml'
self.path_phoenix_bec ='/data/test/x07mb-test-bec/bec_deployment/phoenix_bec/'
self.path_devices = self.path_phoenix_bec + 'phoenix_bec/device_configs/' # local yamal file
self.file_devices_file = self.path_phoenix_bec + 'phoenix_bec/device_configs/phoenix_devices.yaml' # local yamal file
def read_local_phoenix_config(self):
print('read file ')
print(self.file_phoenix_devices_file)
bec.config.update_session_with_file(self.file_devices_file_local)
def add_phoenix_config(self):
print('add_phoenix_config ')
print('self.file_devices_file')
bec.config.update_session_with_file(self.file_devices_file)
def add_xmap(self):
print('add xmap ')
print(self.path_devices+'phoenix_xmap.yaml')
bec.config.update_session_with_file(self.path_devices+'phoenix_xmap.yaml',timeout=50)
def add_falcon(self):
print('add_xmap')
print(self.path_devices+'/phoenix_falcon.yaml')
bec.config.wait_for_config_reply()
bec.config.update_session_with_file(self.path_devices+'/phoenix_falcon.yaml')
def show_phoenix_setup(self):
print(self.path_phoenix_bec)
os.system('cat '+self.path_phoenix_bec+'phoenix_bec/scripts/Current_setup.txt')

View File

@ -0,0 +1 @@

View File

@ -20,7 +20,7 @@ import time as tt
#import ophyd #import ophyd
import os import os
import sys import sys
#logger = bec_logger.logger #logger = bec_logger.logger
# load simulation # load simulation
@ -30,73 +30,72 @@ import sys
class PhoenixBL(): class PhoenixBL():
""" """
General class for PHOENIX beamline from phoenix_bec/phoenic_bec/scripts General class for PHOENIX beamline from phoenix_bec/phoenic_bec/scripts
""" """
def __init__(self):
def __init__(self):
""" """
init PhoenixBL() in phoenix_bec/scripts init PhoenixBL() in phoenix_bec/scripts
""" """
import os import os
print('..... init PhoenixBL from phoenix_bec/scripts/phoenix.py') print('..... init PhoenixBL from phoenix_bec/scripts/phoenix.py')
#from ophyd import Device, EpicsMotor, EpicsSignal, EpicsSignalRO #from ophyd import Device, EpicsMotor, EpicsSignal, EpicsSignalRO
#from ophyd import Component as Cpt #from ophyd import Component as Cpt
#self.ScanX = EpicsMotor(name='ScanX',prefix='X07MB-ES-MA1:ScanX') #self.ScanX = EpicsMotor(name='ScanX',prefix='X07MB-ES-MA1:ScanX')
#self.ScanY = EpicsMotor(name='ScanY',prefix='X07MB-ES-MA1:ScanY') #self.ScanY = EpicsMotor(name='ScanY',prefix='X07MB-ES-MA1:ScanY')
#self.DIODE = EpicsSignal(name='SI',read_pv='X07MB-OP2-SAI_07:MEAN') #self.DIODE = EpicsSignal(name='SI',read_pv='X07MB-OP2-SAI_07:MEAN')
#self.SIG = Cpt(EpicsSignal,name='we',read_pv="X07MB-OP2-SAI_07:MEAN") #self.SIG = Cpt(EpicsSignal,name='we',read_pv="X07MB-OP2-SAI_07:MEAN")
#self.SMPL = EpicsSignal(name='SMPL',read_pv='X07MB-OP2:SMPL') #self.SMPL = EpicsSignal(name='SMPL',read_pv='X07MB-OP2:SMPL')
#self.CYCLES = EpicsSignal(name='SMPL',read_pv='X07MB-OP2:TOTAL-CYCLES',write_pv='X07MB-OP2:TOTAL-CYCLES') #self.CYCLES = EpicsSignal(name='SMPL',read_pv='X07MB-OP2:TOTAL-CYCLES',write_pv='X07MB-OP2:TOTAL-CYCLES')
# load local configuration # load local configuration
self.path_scripts_local = '/data/test/x07mb-test-bec/bec_deployment/phoenix_bec/phoenix_bec/local_scripts/' self.path_scripts_local = '/data/test/x07mb-test-bec/bec_deployment/phoenix_bec/phoenix_bec/local_scripts/'
self.path_config_local = self.path_scripts_local + 'TEST_ConfigPhoenix/' # base dir for local configurations self.path_config_local = self.path_scripts_local + 'TEST_ConfigPhoenix/' # base dir for local configurations
self.path_devices_local = self.path_config_local + 'Local_device_config/' # local yamal file self.path_devices_local = self.path_config_local + 'Local_device_config/' # local yamal file
self.file_devices_file_local = self.path_devices_local + 'phoenix_devices.yaml' self.file_devices_file_local = self.path_devices_local + 'phoenix_devices.yaml'
self.path_phoenix_bec ='/data/test/x07mb-test-bec/bec_deployment/phoenix_bec/' self.path_phoenix_bec ='/data/test/x07mb-test-bec/bec_deployment/phoenix_bec/'
self.path_devices = self.path_phoenix_bec + 'phoenix_bec/device_configs/' # local yamal file self.path_devices = self.path_phoenix_bec + 'phoenix_bec/device_configs/' # local yamal file
self.file_devices_file = self.path_phoenix_bec + 'phoenix_bec/device_configs/phoenix_devices.yaml' # local yamal file self.file_devices_file = self.path_phoenix_bec + 'phoenix_bec/device_configs/phoenix_devices.yaml' # local yamal file
def read_local_phoenix_config(self): def read_local_phoenix_config(self):
print('read file ') print('read file ')
print(self.file_phoenix_devices_file) print(self.file_phoenix_devices_file)
bec.config.update_session_with_file(self.file_devices_file_local) bec.config.update_session_with_file(self.file_devices_file_local)
def add_phoenix_config(self): def add_phoenix_config(self):
print('add_phoenix_config ') print('add_phoenix_config ')
print('self.file_devices_file') print('self.file_devices_file')
bec.config.update_session_with_file(self.file_devices_file) bec.config.update_session_with_file(self.file_devices_file)
def add_xmap(self): def add_xmap(self):
print('add xmap ') print('add xmap ')
print(self.path_devices+'phoenix_xmap.yaml') print(self.path_devices+'phoenix_xmap.yaml')
bec.config.update_session_with_file(self.path_devices+'phoenix_xmap.yaml',timeout=50) bec.config.update_session_with_file(self.path_devices+'phoenix_xmap.yaml',timeout=50)
def add_falcon(self): def add_falcon(self):
print('add_xmap') print('add_xmap')
print(self.path_devices+'/phoenix_falcon.yaml') print(self.path_devices+'/phoenix_falcon.yaml')
bec.config.wait_for_config_reply() bec.config.wait_for_config_reply()
bec.config.update_session_with_file(self.path_devices+'/phoenix_falcon.yaml') bec.config.update_session_with_file(self.path_devices+'/phoenix_falcon.yaml')
def show_phoenix_setup(self): def show_phoenix_setup(self):
print(self.path_phoenix_bec) print(self.path_phoenix_bec)
os.system('cat '+self.path_phoenix_bec+'phoenix_bec/scripts/Current_setup.txt') os.system('cat '+self.path_phoenix_bec+'phoenix_bec/scripts/Current_setup.txt')