diff --git a/config/config.properties b/config/config.properties index 001d5e0..ebc0061 100644 --- a/config/config.properties +++ b/config/config.properties @@ -1,4 +1,4 @@ -#Mon Sep 22 08:45:20 CEST 2025 +#Fri Oct 24 14:56:55 CEST 2025 commandQueueSize=-1 commandStatistics=false commandTimeToLive=600000 @@ -10,7 +10,7 @@ dataLayout=table dataPath={data}/{year}_{month}/{date}/{date}_{seq}%04d_{name} dataServerPort=-1 dataTransferMode=Off -dataTransferPath=~/Data1 +dataTransferPath= dataTransferUser= filePermissionsConfig=Public filePermissionsData=Default @@ -47,6 +47,6 @@ terminalPort=3579 userAuthenticator= userManagement=true versionTrackingEnabled=true -versionTrackingLogin=auto +versionTrackingLogin= versionTrackingManual=true versionTrackingRemote=https\://gitea.psi.ch/pshell_config/x11ma.git diff --git a/config/devices.properties b/config/devices.properties index c83c910..749760f 100644 --- a/config/devices.properties +++ b/config/devices.properties @@ -1,3 +1,6 @@ +eiger=ch.psi.pshell.epics.AreaDetector|X11MA-ES1-EIGER|||true +cam2=ch.psi.pshell.epics.AreaDetector|X11MA-ES1-CAM2|||true +peemcam=ch.psi.pshell.epics.AreaDetector|X11MA-ES1-PEEMCAM|||true ai1_temperature=ch.psi.pshell.epics.ReadonlyProcessVariable|X11MA-PC-ET7000:SW-K|Read||true #ai1-raw=ch.psi.pshell.modbus.AnalogInput|et7026 1||5000| et7026=ch.psi.pshell.modbus.ModbusTCP|129.129.121.94:502||| @@ -20,7 +23,6 @@ do8=ch.psi.pshell.modbus.DigitalOutput|et7244 7||5000| Grating_ch=ch.psi.pshell.epics.ChannelString|X11MA-PGM-GRCH:GRATING|||true DiffOrd=ch.psi.pshell.epics.ChannelString|X11MA-PGM:difforder0|||true voltage=ch.psi.pshell.epics.ChannelDouble|X11MA-KEI13:SETVOLTAGE|||true -eiger=ch.psi.pshell.epics.AreaDetector|X11MA-ES1-EIGER|||true fe_slit_V_ctr=ch.psi.pshell.epics.Motor|X11MA-FE-SV:center|||true fe_slit_H_ctr=ch.psi.pshell.epics.Motor|X11MA-FE-SH:center|||true fe_slit_V_size_offs=ch.psi.pshell.epics.ChannelDouble|X11MA-FE-DSVER.A|||true @@ -111,8 +113,6 @@ CADC4=ch.psi.pshell.epics.ChannelDouble|X11MA-ES1:CADC4|Read||true girder_x=ch.psi.pshell.epics.Positioner|X11MA-HG:X_SET X11MA-HG:X1|||true girder_y=ch.psi.pshell.epics.Positioner|X11MA-HG:Y_SET X11MA-HG:Y1|||true temp_readout=ch.psi.pshell.epics.ReadonlyProcessVariable|X11MA-PC-SW:Pt100-K|||true -cam2=ch.psi.pshell.epics.AreaDetector|X11MA-ES1-CAM2|||true -peemcam=ch.psi.pshell.epics.AreaDetector|X11MA-ES1-PEEMCAM|||true raw=ch.psi.pshell.imaging.CameraSource|eiger|||true image2=ch.psi.pshell.imaging.CameraSource|cam2|||true img_peemcam=ch.psi.pshell.imaging.CameraSource|peemcam|||true diff --git a/config/preferences.json b/config/preferences.json index e6865de..5462959 100644 --- a/config/preferences.json +++ b/config/preferences.json @@ -56,8 +56,7 @@ "scanPlotDisabled" : false, "scanTableDisabled" : false, "cachedDataPanel" : false, - "dataExtensions" : "log txt xml py png tif tiff mat", - "dataSubFiles" : "", + "dataVisibleFiles" : "*.txt *.tiff *.h5 *.xml", "showEmergencyStop" : false, "showHomingButtons" : false, "showJogButtons" : false, diff --git a/config/settings.properties b/config/settings.properties index b979797..79faffe 100644 --- a/config/settings.properties +++ b/config/settings.properties @@ -1,4 +1,4 @@ -#Mon Sep 22 17:36:50 CEST 2025 +#Thu Oct 23 10:35:10 CEST 2025 ALPHA_ID_2=0.0 AUTO_SWITCH_BEAMLINE=false AUTO_SWITCH_SHUTTER=true diff --git a/config/variables.properties b/config/variables.properties index 92e2677..ec13f34 100644 --- a/config/variables.properties +++ b/config/variables.properties @@ -1,4 +1,4 @@ -#Mon Sep 22 17:17:03 CEST 2025 -DaySequentialNumber=16 -FileSequentialNumber=88 -LastRunDate=250922 +#Wed Oct 22 17:04:16 CEST 2025 +DaySequentialNumber=2 +FileSequentialNumber=125 +LastRunDate=251022 diff --git a/devices/CurrentCamera.properties b/devices/CurrentCamera.properties new file mode 100644 index 0000000..10e7c22 --- /dev/null +++ b/devices/CurrentCamera.properties @@ -0,0 +1,25 @@ +#Tue Oct 07 15:10:16 CEST 2025 +colormap=Grayscale +colormapAutomatic=false +colormapLogarithmic=false +colormapMax=NaN +colormapMin=NaN +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/devices/FE_CX.properties b/devices/FE_CX.properties new file mode 100644 index 0000000..c9a7a97 --- /dev/null +++ b/devices/FE_CX.properties @@ -0,0 +1,11 @@ +#Mon Oct 20 23:45:55 CEST 2025 +description=slit X center +maxValue=NaN +minValue=NaN +offset=0.0 +precision=4 +resolution=NaN +rotation=false +scale=1.0 +sign_bit=0 +unit=mm diff --git a/devices/FE_CY.properties b/devices/FE_CY.properties new file mode 100644 index 0000000..ed95b01 --- /dev/null +++ b/devices/FE_CY.properties @@ -0,0 +1,11 @@ +#Mon Oct 20 23:45:56 CEST 2025 +description=slit Y center +maxValue=NaN +minValue=NaN +offset=0.0 +precision=4 +resolution=NaN +rotation=false +scale=1.0 +sign_bit=0 +unit=mm diff --git a/devices/cam_server.properties b/devices/cam_server.properties new file mode 100644 index 0000000..83c082e --- /dev/null +++ b/devices/cam_server.properties @@ -0,0 +1,26 @@ +#Tue Oct 07 14:29:52 CEST 2025 +colormap=Grayscale +colormapAutomatic=false +colormapLogarithmic=false +colormapMax=NaN +colormapMin=NaN +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +serverURL=sls-daqsync-01\:8889 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/devices/dispatcher.properties b/devices/dispatcher.properties new file mode 100644 index 0000000..e9c9523 --- /dev/null +++ b/devices/dispatcher.properties @@ -0,0 +1,13 @@ +#Tue Oct 07 14:30:05 CEST 2025 +analizeHeader=false +disableCompression=false +headerReservingAllocator=false +keepListeningOnStop=false +mappingIncomplete=fill_null +parallelHandlerProcessing=true +sendAwaitFirstMessage=false +sendBuildChannelConfig=at_startup +sendStrategy=complete_all +sendSyncTimeout=0 +socketType=DEFAULT +validationInconsistency=keep_as_is diff --git a/devices/image.properties b/devices/image.properties index de245d5..2b7aec7 100644 --- a/devices/image.properties +++ b/devices/image.properties @@ -1,25 +1,25 @@ -#Sun Sep 24 17:05:12 CEST 2023 -spatialCalOffsetY=NaN -spatialCalOffsetX=NaN +#Thu Oct 23 14:04:00 CEST 2025 +colormap=Grayscale +colormapAutomatic=false colormapLogarithmic=false -scale=1.0 +colormapMax=1.0 +colormapMin=0.0 +flipHorizontally=false +flipVertically=false grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN spatialCalScaleX=NaN spatialCalScaleY=NaN -colormapMax=2.0 -rescaleOffset=0.0 -roiWidth=-1 -colormap=Grayscale -invert=false -colormapMin=0.0 -rotationCrop=false -rotation=0.0 -rescaleFactor=1.0 spatialCalUnits=null -flipVertically=false -roiHeight=-1 -flipHorizontally=false -colormapAutomatic=true -roiY=0 -roiX=0 transpose=false diff --git a/devices/raw.properties b/devices/raw.properties index 149b518..ed88e18 100644 --- a/devices/raw.properties +++ b/devices/raw.properties @@ -1,25 +1,25 @@ -#Wed Nov 16 10:21:29 CET 2022 -spatialCalOffsetY=NaN -spatialCalOffsetX=NaN +#Thu Sep 25 10:22:27 CEST 2025 +colormap=Flame +colormapAutomatic=true colormapLogarithmic=false -scale=1.0 -grayscale=false -spatialCalScaleX=NaN -spatialCalScaleY=NaN -colormapMax=237.506 -rescaleOffset=0.0 -roiWidth=-1 -colormap=Viridis -invert=false +colormapMax=1.0 colormapMin=0.0 +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 rotation=0.0 rotationCrop=false -rescaleFactor=1.0 +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN spatialCalUnits=mm -flipVertically=false -roiHeight=-1 -flipHorizontally=false -colormapAutomatic=true -roiY=0 -roiX=0 transpose=false diff --git a/devices/scan_1_cam2 image_0000.tiff.properties b/devices/scan_1_cam2 image_0000.tiff.properties new file mode 100644 index 0000000..61b2106 --- /dev/null +++ b/devices/scan_1_cam2 image_0000.tiff.properties @@ -0,0 +1,20 @@ +#Wed Sep 24 14:11:13 CEST 2025 +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/devices/scan_1_cam2 image_0001.tiff.properties b/devices/scan_1_cam2 image_0001.tiff.properties new file mode 100644 index 0000000..ca61fb1 --- /dev/null +++ b/devices/scan_1_cam2 image_0001.tiff.properties @@ -0,0 +1,20 @@ +#Wed Sep 24 13:59:31 CEST 2025 +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/devices/scan_1_cam2 image_0002.tiff.properties b/devices/scan_1_cam2 image_0002.tiff.properties new file mode 100644 index 0000000..f52c9ab --- /dev/null +++ b/devices/scan_1_cam2 image_0002.tiff.properties @@ -0,0 +1,20 @@ +#Wed Sep 24 14:11:12 CEST 2025 +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/devices/scan_1_eiger image_0001.tiff.properties b/devices/scan_1_eiger image_0001.tiff.properties new file mode 100644 index 0000000..39acd75 --- /dev/null +++ b/devices/scan_1_eiger image_0001.tiff.properties @@ -0,0 +1,20 @@ +#Wed Sep 24 13:10:15 CEST 2025 +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/devices/scan_1_eiger image_0002.tiff.properties b/devices/scan_1_eiger image_0002.tiff.properties new file mode 100644 index 0000000..644c6fe --- /dev/null +++ b/devices/scan_1_eiger image_0002.tiff.properties @@ -0,0 +1,20 @@ +#Wed Sep 24 13:13:34 CEST 2025 +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/devices/scan_2_cam2 image.tiff.properties b/devices/scan_2_cam2 image.tiff.properties new file mode 100644 index 0000000..9c15133 --- /dev/null +++ b/devices/scan_2_cam2 image.tiff.properties @@ -0,0 +1,20 @@ +#Wed Sep 24 17:37:09 CEST 2025 +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/devices/scan_2_eiger image_0000.tiff.properties b/devices/scan_2_eiger image_0000.tiff.properties new file mode 100644 index 0000000..5d1651d --- /dev/null +++ b/devices/scan_2_eiger image_0000.tiff.properties @@ -0,0 +1,20 @@ +#Wed Sep 24 13:10:13 CEST 2025 +flipHorizontally=false +flipVertically=false +grayscale=false +invert=false +rescaleFactor=1.0 +rescaleOffset=0.0 +roiHeight=-1 +roiWidth=-1 +roiX=0 +roiY=0 +rotation=0.0 +rotationCrop=false +scale=1.0 +spatialCalOffsetX=NaN +spatialCalOffsetY=NaN +spatialCalScaleX=NaN +spatialCalScaleY=NaN +spatialCalUnits=mm +transpose=false diff --git a/plugins/Beamline.java b/plugins/Beamline.java index 0bb2b9c..8239082 100644 --- a/plugins/Beamline.java +++ b/plugins/Beamline.java @@ -6,6 +6,7 @@ import ch.psi.pshell.utils.Arr; import ch.psi.pshell.utils.State; import ch.psi.pshell.utils.Str; import ch.psi.pshell.swing.SwingUtils; +import ch.psi.pshell.utils.State.StateException; import java.awt.Component; import java.awt.Font; import java.io.IOException; @@ -198,7 +199,7 @@ public class Beamline extends Panel { args.put("CFF", spinnerCff.getValue()); } - void applyBeamline() throws Sequencer.StateException { + void applyBeamline() throws StateException { HashMap args = new HashMap(); setBeamlineArgs(args); diff --git a/plugins/DataAcquisition.java b/plugins/DataAcquisition.java index fdc5bef..c495937 100644 --- a/plugins/DataAcquisition.java +++ b/plugins/DataAcquisition.java @@ -16,6 +16,7 @@ import ch.psi.pshell.utils.Serializer; import ch.psi.pshell.utils.State; import ch.psi.pshell.swing.SwingUtils; +import ch.psi.pshell.utils.State.StateException; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; @@ -370,7 +371,7 @@ public class DataAcquisition extends Panel { rendererRoi.abortSelection(); } - void run2Images() throws Sequencer.StateException { + void run2Images() throws StateException { HashMap args = new HashMap(); args.put("METHOD", comboImgMethod.getSelectedItem()); @@ -417,7 +418,7 @@ public class DataAcquisition extends Panel { return ranges; } - void runAbsSpectrum() throws Sequencer.StateException { + void runAbsSpectrum() throws StateException { HashMap args = new HashMap(); args.put("SAVE_SPECTRUM", checkSpecSaveSpectrum.isSelected()); args.put("SAVE_IMAGES", checkSpecSaveImages.isSelected()); @@ -454,7 +455,7 @@ public class DataAcquisition extends Panel { } } - void enableNorm(boolean enabled) throws Sequencer.StateException { + void enableNorm(boolean enabled) throws StateException { if (!enabled) { removeNorm(); } else { diff --git a/plugins/XPEEM_Settings.java b/plugins/XPEEM_Settings.java index 1181c57..d4a4a35 100644 --- a/plugins/XPEEM_Settings.java +++ b/plugins/XPEEM_Settings.java @@ -5,6 +5,7 @@ import ch.psi.pshell.sequencer.CommandSource; import ch.psi.pshell.sequencer.Sequencer; import ch.psi.pshell.utils.State; import ch.psi.pshell.swing.SwingUtils; +import ch.psi.pshell.utils.State.StateException; import java.awt.Component; import java.util.logging.Level; import java.util.logging.Logger; @@ -288,7 +289,7 @@ public class XPEEM_Settings extends Panel { } finally{ try { Context.getSequencer().endExecution(); - } catch (Sequencer.StateException ex) { + } catch (StateException ex) { getLogger().log(Level.SEVERE, null, ex); } } diff --git a/script/Users/PEEM/Armin/test_python.py b/script/Users/PEEM/Armin/test_python.py new file mode 100644 index 0000000..e69de29 diff --git a/script/beamline_alignment/AU_scan.py b/script/beamline_alignment/AU_scan.py new file mode 100755 index 0000000..b9bdbf7 --- /dev/null +++ b/script/beamline_alignment/AU_scan.py @@ -0,0 +1,14 @@ +add_device(Positioner("AU_CX", "X11MA-OP2-AHcenter", "X11MA-OP2-AHt2.D"), True) +add_device(Positioner("AU_CY", "X11MA-OP2-AVcenter", "X11MA-OP2-AVt2.D"), True) +AU_CX.monitored=True +AU_CY.monitored=True + +sensors = [Keithley_2_raw] + +ascan([AU_CX, AU_CY], sensors, [-0.5, -0.5], [0.5, 0.5], [0.1, 0.1], latency=0.5, zigzag=False) + +#add_device(Positioner("AU_CX", "X11MA-OP2-AHcenter", "X11MA-FE-SL1:CENTERX.RBV"), True) +#add_device(Positioner("AU_CY", "X11MA-OP2-AVcenter", "X11MA-FE-SL1:CENTERY.RBV"), True) +#AU_CX.monitored=True +#AU_CY.monitored=True +# diff --git a/script/beamline_alignment/FE_scan.py b/script/beamline_alignment/FE_scan.py new file mode 100644 index 0000000..00a8532 --- /dev/null +++ b/script/beamline_alignment/FE_scan.py @@ -0,0 +1,13 @@ +add_device(Positioner("FE_CX", "X11MA-FE-SL1:CENTERX", "X11MA-FE-SL1:CENTERX.RBV"), True) +add_device(Positioner("FE_CY", "X11MA-FE-SL1:CENTERY", "X11MA-FE-SL1:CENTERY.RBV"), True) +FE_CX.monitored=True +FE_CY.monitored=True + +sensors = [Keithley_2_raw] + + +#ascan([FE_CX, FE_CY], sensors, [X_min, Y_min], [X_max, Y_max], [X_step, Y_step], latency=0.5, zigzag=True) +#ascan([FE_CX, FE_CY], sensors, [-1.0, 0.3], [0.0, 1.3], [0.1, 0.1], latency=0.5, zigzag=True) +ascan([FE_CX, FE_CY], sensors, [-0.5, 0.45], [0.0, 1.05], [0.05, 0.05], latency=0.5, zigzag=False) + +#lscan(energy, sensors, 1100, 1900, 5.0, latency=0.5) \ No newline at end of file diff --git a/script/test/test_alex.py b/script/test/test_alex.py new file mode 100644 index 0000000..2ea3993 --- /dev/null +++ b/script/test/test_alex.py @@ -0,0 +1,9 @@ + +sensors = [Keithley_2_raw] + + +#ascan([FE_CX, FE_CY], sensors, [X_min, Y_min], [X_max, Y_max], [X_step, Y_step], latency=0.5, zigzag=True) +#ascan([FE_CX, FE_CY], sensors, [-1.0, 0.3], [0.0, 1.3], [0.1, 0.1], latency=0.5, zigzag=True) +ascan([m1, m2], sensors, [-0.5, 0.45], [0.0, 1.05], [0.05, 0.05], latency=0.5, zigzag=False) + +#lscan(energy, sensors, 1100, 1900, 5.0, latency=0.5) \ No newline at end of file diff --git a/script/test/tets_scan_tiff_stack.py b/script/test/tets_scan_tiff_stack.py index bc7b495..9ebc4ba 100644 --- a/script/test/tets_scan_tiff_stack.py +++ b/script/test/tets_scan_tiff_stack.py @@ -1,3 +1,4 @@ +#set_exec_pars(layout="default") """ class Detector(ReadonlyRegisterBase, ReadonlyRegisterMatrix): def doRead(self): @@ -14,5 +15,5 @@ detector.initialize() """ detector=eiger.dataMatrix -tscan((energy_rbk, detector), 5, 1.0) -tscan((energy_rbk, detector), 5, 1.0, stack=True) \ No newline at end of file +tscan((energy_rbk, keithley_1a, detector), 5, 1.0, before_read=trigger_eiger) +tscan((energy_rbk, keithley_1a, detector), 5, 1.0, before_read=trigger_eiger, stack=True) \ No newline at end of file