diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/beamline/photon_energy.py b/beamline/photon_energy.py index b4308e9..3310b03 100755 --- a/beamline/photon_energy.py +++ b/beamline/photon_energy.py @@ -27,15 +27,15 @@ N_UNDS = list(range(3, 15 + 1)) ### SETTINGS #### PSSS_MOVE = True -DCCM_MOVE = True +DCCM_MOVE = False TRAJECTORY_FEEDBACK_DISABLE_ENABLE = False POINTING_FEEDFORWARD = False -energy_offset_undulators = -14 # eV -energy_offset_PSSS = -14 # eV -energy_offset_DCCM = -12 # eV +energy_offset_undulators = -21 # eV +energy_offset_PSSS = -9 # eV +energy_offset_DCCM = -11 # eV -DCCM_RX2_energy_offset = 25.8 # eV +DCCM_RX2_energy_offset = 32.4 # eV ################ @@ -147,7 +147,7 @@ class PhotonEnergy(Adjustable): """ def __init__( - self, n_unds=N_UNDS, n_und_ref=None, scaled=True, ID="ARAMIS_UNDULATORS", name="Aramis Undulators", units="eV" + self, n_unds=N_UNDS, n_und_ref=None, scaled=True, ID="ARAMIS_UNDULATORS", name="Cristallina photon energy", units="eV" ): # # don't allow setting these since there's no chic :) # chic_fudge_offset = 0 diff --git a/channels/bs_channels.py b/channels/bs_channels.py index ce195c3..c3a7c97 100755 --- a/channels/bs_channels.py +++ b/channels/bs_channels.py @@ -9,7 +9,7 @@ from slic.core.acquisition.detcfg import DetectorConfig detectors = [ "JF16T03V02", # 1.5M from 2025 # "JF16T03V01", # 1.5M from 2022 - "JF17T16V01", # 8M + # "JF17T16V01", # 8M "JF20T01V01", # IO # "JF05T01V01", # 0.5M stripsel borrowed from Bernina, now registered in esc network ] @@ -31,10 +31,32 @@ detectors = [ detectors = DetectorConfig(detectors) # detectors_with_config["JF16T03V01"]['save_dap_results'] = True -#detectors["JF16T03V01"]['remove_raw_files'] = True -#detectors["JF16T03V01"]['factor'] = 0.2 # Some useful compromise to save space. -#detectors["JF16T03V01"]['adc_to_energy'] = True -#detectors["JF16T03V01"]['compression'] = True +# JF 1.5M default settings +detectors["JF16T03V02"]['remove_raw_files'] = True +detectors["JF16T03V02"]['factor'] = 0.1 # Some useful compromise to save space. +detectors["JF16T03V02"]['adc_to_energy'] = True +detectors["JF16T03V02"]['compression'] = True +detectors["JF16T03V02"]['save_dap_results'] = False +detectors["JF16T03V02"]['geometry'] = True + +# I0 JF default settings +detectors["JF20T01V01"]['remove_raw_files'] = True +detectors["JF20T01V01"]['factor'] = 1 # Some useful compromise to save space. +detectors["JF20T01V01"]['adc_to_energy'] = True +detectors["JF20T01V01"]['compression'] = True +detectors["JF20T01V01"]['save_dap_results'] = False +detectors["JF20T01V01"]['geometry'] = False + + +detectors_I0_only = DetectorConfig(["JF20T01V01"]) +# I0 JF settings with finer resolution +detectors["JF20T01V01"]['remove_raw_files'] = True +detectors["JF20T01V01"]['factor'] = 0.1 # Less space saving but more resolution +detectors["JF20T01V01"]['adc_to_energy'] = True +detectors["JF20T01V01"]['compression'] = True +detectors["JF20T01V01"]['save_dap_results'] = False +detectors["JF20T01V01"]['geometry'] = False + # detectors_with_config["JF16T03V01"]['disabled_modules'] = [0, 1] # bottom module:0, middle module:1, top module:2 diff --git a/channels/pv_channels.py b/channels/pv_channels.py index 2493793..345cbda 100755 --- a/channels/pv_channels.py +++ b/channels/pv_channels.py @@ -469,6 +469,10 @@ pvs_ODCC110 = [ "SAROP31-ODCC110:MOT_ENY.RBV", "SAROP31-ODCC110:MOT_OFS.RBV", "SAROP31-ODCC110:MOT_TX1.RBV", + "SAROP31-ODCC110:ENC_RX11", + "SAROP31-ODCC110:ENC_RX12", + "SAROP31-ODCC110:ENC_RX21", + "SAROP31-ODCC110:ENC_RX22", ] @@ -799,6 +803,20 @@ pvs_diffractometer_2 = [ ID_dm2 + ":m0s028-Drv01-TrqAct", # ROTTHETA Mot torque ] +############################### +# DilSc + +ID_DilSc_LakeShore = "SARES31-DIL-LS1" +pvs_DilSc_Lakeshore = [ + ID_DilSc_LakeShore + "A_KELVIN", + ID_DilSc_LakeShore + "7_KELVIN", + ID_DilSc_LakeShore + "8_KELVIN", + + ID_DilSc_LakeShore + "A_RES", + ID_DilSc_LakeShore + "7_RES", + ID_DilSc_LakeShore + "8_RES", +] + ############################### # Huber vertical stage @@ -873,6 +891,7 @@ pv_channels = ( # + pvs_smaract_xyz + pvs_diffractometer_1 + pvs_diffractometer_2 + + pvs_DilSc_Lakeshore + pvs_huber_z + pvs_JJ_slits # + pvs_attocube @@ -925,7 +944,7 @@ pv_channels_cristallina_beamline = ( + pvs_OKBV153 + pvs_PSCD153 + pvs_OKBH154 - + pvs_i0_chamber + + pvs_i0_chamber ) pv_channels_bernina_DCM = ( diff --git a/cristallina.py b/cristallina.py index ffaefee..be0e780 100755 --- a/cristallina.py +++ b/cristallina.py @@ -159,14 +159,14 @@ BerninaDCM = BerninaMono("SAROP21-ODCM098") # Diffractometer from crq_exp.diffractometer import Diffractometer -dm1 = Diffractometer("SARES30-CPCL-ECMC02") +dm1 = Diffractometer("SARES31-GPS") dm2 = Diffractometer("SARES32-GPS") # Set according to which diffractometer is being used diffractometer = dm1 # Dilution fridge -from crq_exp.dilsc import Dilution +#from crq_exp.dilsc import Dilution try: dilution = Dilution() @@ -178,6 +178,12 @@ except Exception as e: # MX adajustables # import mx.mx_adjustables +# Temporary quick hack thermometer addition for stand +#TODO: make in a thermometer class ... +T_reg = PVAdjustable('SARES31-DIL-LS1:A_KELVIN') +T_plato = PVAdjustable('SARES31-DIL-LS1:7_KELVIN') +T_chip = PVAdjustable('SARES31-DIL-LS1:8_KELVIN') + ################# Stand setup ################## @@ -187,7 +193,10 @@ from stand.time import Time adjs_for_spreadsheet = { - #"Time": Time(), + "Time": Time(), + "T_reg": T_reg, + "T_plato": T_plato, + "T_chip":T_chip, "Transmission": attenuator.trans1st, "Upstream Transmission": upstream_attenuator.trans1st, "Energy_setpoint": cr_photon_energy, @@ -204,11 +213,13 @@ adjs_for_spreadsheet = { if dilution is not None: adjs_dilsc = { - "Magnet_X": dilution.x, - "Magnet_Y": dilution.y, - "Magnet_Z": dilution.z, - "DilSc_T_chip": dilution.T_chip, - "DilSc_T_pucksensor": dilution.T_reg, + #"Magnet_X": dilution.x, + #"Magnet_Y": dilution.y, + #"Magnet_Z": dilution.z, + "DilSc_T_chip": T_chip, + "DilSc_T_plato": T_plato, + #"DilSc_T_chip": dilution.T_chip, + "DilSc_T_pucksensor": T_reg, } adjs_for_spreadsheet.update(adjs_dilsc) diff --git a/crq_exp/diffractometer.py b/crq_exp/diffractometer.py index f084036..309069c 100755 --- a/crq_exp/diffractometer.py +++ b/crq_exp/diffractometer.py @@ -36,7 +36,7 @@ class Diffractometer(Device): # This diffractometer also has extra swivel stages self.rotx = Motor(ID + ":ROTX") self.rotz = Motor(ID + ":ROTZ") - if ID == "SARES30-CPCL-ECMC02": + if ID == "SARES31-GPS": self.name = "DM1: Cristallina dilution fridge diffractometer" # class Diffractometer(Device): diff --git a/crq_exp/dilsc.py b/crq_exp/dilsc.py index 15774e3..f3e01f9 100755 --- a/crq_exp/dilsc.py +++ b/crq_exp/dilsc.py @@ -2,7 +2,7 @@ """ -from slic.core.adjustable import Adjustable +from slic.core.adjustable import Adjustable, PVAdjustable from slic.core.device import Device, SimpleDevice @@ -21,7 +21,7 @@ class Dilution(Device): self.address = 'dilsc.psi.ch:5000' self.dilsc = SecopClient(self.address) self.dilsc.connect() - + self.x = MagnetCoil("X", self.dilsc, 'x', limit_low=-0.6, limit_high=0.6) self.y = MagnetCoil("Y", self.dilsc, 'y', limit_low=-0.6, limit_high=0.6) self.z = MagnetCoil("Z", self.dilsc, 'z', limit_low=-5.2, limit_high=5.2) diff --git a/pgroups.py b/pgroups.py index 785febf..1fb969b 100755 --- a/pgroups.py +++ b/pgroups.py @@ -44,6 +44,9 @@ pgroup_scratch = "p19150" # Scratch # pgroup = "p22214" # CrQ in-house DilSc 2024-11-15 # pgroup = "p22199" # CrQ commissioning PuMa 2024-11-22 -pgroup = "p22259" # Cr-Bl commissioning Jan 2025 +# pgroup = "p22259" # Cr-Bl commissioning Jan 2025 # pgroup = "p22226" # CrMX user Nogly 2025-02-21 + +pgroup = "p22478" # Cr-Q commissioning Mar-Apr 2025 +