From 4f3e750e01172fc78a1c15657706844bb910ac96 Mon Sep 17 00:00:00 2001 From: gac-furka Date: Thu, 1 Jun 2023 12:03:25 +0200 Subject: [PATCH] Added Sensors and Spreadsheet --- channels.py | 14 ++++++++++++-- furka.py | 18 +++++++++++------- sensors.py | 6 ++++++ spreadsheet.py | 5 ++++- tt_lib.py | 1 + 5 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 sensors.py diff --git a/channels.py b/channels.py index 95e004b..c188238 100644 --- a/channels.py +++ b/channels.py @@ -21,6 +21,7 @@ channels = [ # "SATES31-CAMS187-RIXS1:SPC_wgt", # "SATES31-CAMS187-RIXS1:Spectrum", # "SATES31-CAMS187-RIXS1:evt_list", + "SATES30-RIXS-CAM01:FPICTURE", "SATES30-CAMS182-GIGE2:FPICTURE", "SATES31-CAMS187-RIXS1:FPICTURE", "SATES31-CAMS187-RIXS1:x_profile", @@ -43,7 +44,6 @@ channels = [ "SLAAT31-LTIM01-EVR0:CALCS", "SAT-CVME_TIFALL5:EvtSet", "SAT-CVME_TIFALL6:EvtSet" - ] pvs = [ @@ -75,6 +75,16 @@ pvs = [ "SLAAT-LGEN:DLY_OFFS1", "SLAAT01-LTIM-PDLY:DELAY_Z_OFFS", "SATOP21-PMOS127-2D:SPECTRUM_X", - "SATOP21-PMOS127-2D:SPECTRUM_Y" + "SATOP21-PMOS127-2D:SPECTRUM_Y", + "SATES30-CAMS182-GIGE1_sp1:x_center_of_mass", + "SATES30-CAMS182-GIGE1_sp1:y_center_of_mass", + "SLAAT31-LCAM-C801:FIT-XPOS_EGU", + "SLAAT31-LCAM-C801:FIT-YPOS_EGU", +# "SLAAT31-LCAM-C801:FIT-XEGU-ARRAY", + "SLAAT31-LCAM-C802:FIT-XPOS_EGU", + "SLAAT31-LCAM-C802:FIT-YPOS_EGU", +# "SLAAT31-LCAM-C802:FIT-XEGU-ARRAY", + "SATES30-CAMS182-GIGE2_sp1:x_center_of_mass", + "SATES30-CAMS182-GIGE2_sp1:y_center_of_mass" ] diff --git a/furka.py b/furka.py index 483a4f7..3289ca7 100644 --- a/furka.py +++ b/furka.py @@ -16,7 +16,7 @@ from slic.utils import as_shortcut, Marker from spreadsheet import overview, print_overview, print_line_for_spreadsheet from channels import channels, pvs - +from sensors import * from undulator import Undulators from undulator import Mono @@ -75,7 +75,7 @@ n_unds = [ 15, 16, 17, 18, 19, 20, 21, 22 ] chic_fudge_offset = 0 -Mon2Unds_offset = 1.8 +Mon2Unds_offset = 3.0 und = Undulators(n_unds, n_und_ref, chic_fudge_offset, name="z Athos Undulators") #und = Undulators(name="Undulators") @@ -128,8 +128,8 @@ TwoTRY=Motor("SATES30-ARES:MOT_2TRY.VAL", name = "Diff 2TRY") tth_scan = Coupled_tth(delta=0.3885, name="theta 2theta") - - +GRX = Motor("SATES30-RIXS:MOT_GRX.VAL", name = "Pitch grating") +DTZ = Motor("SATES30-RIXS:MOT_DTZ.VAL", name = "DTZ (r2)") #fake_mu = HistoryDummy.init_from(mu) #fake_chi = HistoryDummy.init_from(chi) @@ -158,25 +158,29 @@ laser_WP = Motor("SLAAT31-LMOT-M801:MOT", name="Laser WavePlate") #overview.Thz_delay = Thz_delay +from spreadsheet import overview, print_overview, print_line_for_spreadsheet, spreadsheet_info +from slic.core.acquisition.spreadsheet import Spreadsheet + +spreadsheet = Spreadsheet(spreadsheet_info, placeholders=["comment", "sample"], host="satesf-cons-03", port=9090) instrument = "furka" -pgroup = "p20452" #Commissioning p group +pgroup = "p21162" #Commissioning p group #check_intensity = PVCondition("SATFE10-PEPG046:FCUP-INTENSITY-CAL", vmin=5, vmax=None, wait_time=3, required_fraction=0.8) check_intensity = PVCondition("SATBD01-DBPM060:Q2", vmin=5, vmax=None, wait_time=1, required_fraction=0.8) #check_intensity = None -daq = SFAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, rate_multiplicator=1) +daq = SFAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, rate_multiplicator=1, spreadsheet=spreadsheet) daq.update_config_pvs() #daq = FakeAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, rate_multiplicator=1) #daq = BSAcquisition .... TBI #daqPV = PVAcquisition(instrument, pgroup, default_channels=live_channels) -scan = Scanner(default_acquisitions=[daq], condition=check_intensity) +scan = Scanner(default_acquisitions=[daq], condition=check_intensity, default_sensor=s3) gui = GUI(scan, show_goto=True, show_spec=True, show_run=True) diff --git a/sensors.py b/sensors.py new file mode 100644 index 0000000..8ded013 --- /dev/null +++ b/sensors.py @@ -0,0 +1,6 @@ +from slic.core.sensor import PVSensor, BSSensor +s0 = PVSensor("SATES30-LSCP10-FNS:CH0:VAL_GET") +s1 = PVSensor("SATES30-LSCP10-FNS:CH1:VAL_GET") +s2 = PVSensor("SATES30-LSCP10-FNS:CH2:VAL_GET") +s3 = PVSensor("SATES30-LSCP10-FNS:CH3:VAL_GET") + diff --git a/spreadsheet.py b/spreadsheet.py index e7988b0..bc3a3f7 100644 --- a/spreadsheet.py +++ b/spreadsheet.py @@ -21,7 +21,7 @@ for i in n_unds: -overview = SimpleDevice("Furka Overview", +spreadsheet_info = dict( FELrepRate = PVAdjustable("SWISSFEL-STATUS:Bunch-2-Appl-Freq-RB", internal=True), @@ -47,6 +47,9 @@ overview = SimpleDevice("Furka Overview", +overview = SimpleDevice("Furka Overview", **spreadsheet_info) + + spreadsheet_line = [ "timeStamp", "run name", "File name", "comments", "static/scan", "start", "stop", "step size", "shots", "Sample", "ppressChamb3", diff --git a/tt_lib.py b/tt_lib.py index f072466..ca5b79e 100644 --- a/tt_lib.py +++ b/tt_lib.py @@ -56,5 +56,6 @@ def tt_live(off,sleep=0.1): tt.set_ydata(np.array(pp)) fig.canvas.draw() fig.canvas.flush_events() + plt.ylim(np.min(pp),np.max(pp)) time.sleep(sleep)