cleanup part 2

This commit is contained in:
2023-09-13 17:53:03 +02:00
parent ef7007582f
commit 9ae13f6c8e
3 changed files with 64 additions and 2692 deletions

View File

@ -0,0 +1,3 @@
# Cristallina SLIC code
The basic setup to control the devices at the Cristallina endstation using mostly SLIC and EPICS behind the scenes.

View File

@ -1,18 +1,21 @@
#!/usr/bin/env python #!/usr/bin/env python
import sys import sys
import os import os
import re
import time import time
from time import sleep from time import sleep
from tracemalloc import start
import numpy as np import numpy as np
os.chdir("/sf/cristallina/applications/slic/cristallina_cleanup")
# at the moment this allows us to group the subdirectories as modules easily
# TODO: a more general way would be to have this cristallina as a installed package
os.chdir("/sf/cristallina/applications/slic/cristallina")
# setup logging # setup logging
from loguru import logger from loguru import logger
def setup_logging():
logger.remove() logger.remove()
logger.add( logger.add(
sys.stderr, sys.stderr,
@ -34,6 +37,11 @@ except PermissionError as e:
logger.warning(e) logger.warning(e)
# We setup the logging before going further so that
# other modules can write startup messages into the log file.
setup_logging()
# TODO: this is later overwritten, probably not intended that way?
from epics import PV from epics import PV
from devices.alignment_laser import AlignmentLaser from devices.alignment_laser import AlignmentLaser
@ -55,6 +63,7 @@ from slic.devices.timing.events import CTASequencer
from channels.bs_channels import detectors, bs_channels, camera_channels from channels.bs_channels import detectors, bs_channels, camera_channels
from channels.pv_channels import pvs from channels.pv_channels import pvs
from spreadsheet import overview from spreadsheet import overview
# from channels_minimal import detectors_min, channels_min, pvs_min # from channels_minimal import detectors_min, channels_min, pvs_min
from devices.pp_shutter import PP_Shutter from devices.pp_shutter import PP_Shutter
@ -88,6 +97,7 @@ OWIS = Motor("SARES30-MOBI1:MOT_6") # small OWIS linear stage
attenuator = Attenuator("SAROP31-OATA150", description="Cristallina attenuator OATA150") attenuator = Attenuator("SAROP31-OATA150", description="Cristallina attenuator OATA150")
def test_attenuator(): def test_attenuator():
tfundamental = attenuator.get_transmission() tfundamental = attenuator.get_transmission()
try: try:
@ -98,7 +108,9 @@ def test_attenuator():
test_attenuator() test_attenuator()
front_end_attenuator = Attenuator("SARFE10-OATT053", description="Front end attenuator OATT053") front_end_attenuator = Attenuator(
"SARFE10-OATT053", description="Front end attenuator OATT053"
)
cta = CTASequencer("SAR-CCTA-ESC") cta = CTASequencer("SAR-CCTA-ESC")
pbps113 = IntensityMonitorPBPS( pbps113 = IntensityMonitorPBPS(
@ -120,13 +132,16 @@ pbps149 = IntensityMonitorPBPS(
from beamline import undulator from beamline import undulator
undulators = undulator.Undulators() undulators = undulator.Undulators()
logger.info(f"Using undulator (Aramis) offset to PSSS energy of {undulator.energy_offset} eV.") logger.info(
f"Using undulator (Aramis) offset to PSSS energy of {undulator.energy_offset} eV."
)
# Shutter # Shutter
shutter = PP_Shutter( shutter = PP_Shutter(
"SARES30-LTIM01-EVR0:RearUniv0-Ena-SP", name="Cristallina pulse picker shutter" "SARES30-LTIM01-EVR0:RearUniv0-Ena-SP", name="Cristallina pulse picker shutter"
) # Shutter buttton when using the pulse picker ) # Shutter button when using the pulse picker
pulsepicker = PulsePicker( pulsepicker = PulsePicker(
"SAROP31-OPPI151", "SAROP31-OPPI151",
"SARES30-LTIM01-EVR0:Pul3", "SARES30-LTIM01-EVR0:Pul3",
@ -134,7 +149,9 @@ pulsepicker = PulsePicker(
) )
# Alignment laser # Alignment laser
alaser = AlignmentLaser("SAROP31-OLAS147:MOTOR_1", name="Cristallina alignment laser OLAS147") alignment_laser = AlignmentLaser(
"SAROP31-OLAS147:MOTOR_1", name="Cristallina alignment laser OLAS147"
)
## Slits ## Slits
from slic.devices.xoptics import slits from slic.devices.xoptics import slits
@ -152,6 +169,7 @@ kbVer = KBVer("SAROP31-OKBV153", description="Cristallina vertical KB mirror")
# Bernina monochromator # Bernina monochromator
from beamline.bernina_mono import BerninaMono from beamline.bernina_mono import BerninaMono
BerninaDCM = BerninaMono("SAROP21-ODCM098") BerninaDCM = BerninaMono("SAROP21-ODCM098")
@ -190,6 +208,16 @@ daq = SFAcquisition(
# There is a new EPICS buffer, so the archiver is no longer used. This makes sure we are taking PVs from the right place. # There is a new EPICS buffer, so the archiver is no longer used. This makes sure we are taking PVs from the right place.
daq.update_config_pvs() daq.update_config_pvs()
slow_daq_test = SFAcquisition(
instrument,
"p19150",
default_channels=bs_channels,
default_pvs=pvs,
default_detectors=detectors,
rate_multiplicator=100,
)
# daq = FakeAcquisition(instrument, pgroup) # daq = FakeAcquisition(instrument, pgroup)
# daqPV = PVAcquisition(instrument, pgroup, default_channels=channels_ks) # workaround for KS not going to DB # daqPV = PVAcquisition(instrument, pgroup, default_channels=channels_ks) # workaround for KS not going to DB
@ -208,24 +236,3 @@ gui = GUI(scan, show_goto=True, show_spec=True)
logger.info(f"Running at {instrument} with pgroup {pgroup}.") logger.info(f"Running at {instrument} with pgroup {pgroup}.")
logger.info("Loading finished.") logger.info("Loading finished.")
slow_daq_test = SFAcquisition(
instrument,
"p19150",
default_channels=bs_channels,
default_pvs=pvs,
default_detectors=detectors,
rate_multiplicator=100,
)
slow_daq = SFAcquisition(
instrument,
pgroup,
default_channels=bs_channels,
default_pvs=pvs,
default_detectors=detectors,
rate_multiplicator=100,
)

File diff suppressed because it is too large Load Diff