diff --git a/config/settings.properties b/config/settings.properties
index 3204786..0412a8d 100644
--- a/config/settings.properties
+++ b/config/settings.properties
@@ -1,13 +1,13 @@
-#Wed Sep 30 12:34:20 CEST 2020
+#Fri Oct 02 10:37:46 CEST 2020
HARMONIC_ID_1=1
RSYNC_USER=e18720
-ENERGY=639.2
+ENERGY=639.5
OUTLIERS_THRESHOLD=1000000000
POL_ID_1=Circ_Plus
NORM_FILE=/sls/X11MA/data/X11MA/Data1/public/PEEM/2020_09/i1904_1_0.tif
AUTO_SWITCH_VALVE=true
-RSYNC_PATH=
-DRY_RUN=false
+RSYNC_PATH=Test 1
+DRY_RUN=true
ALPHA_ID_2=45.0
ALPHA_ID_1=15.0
POL_ID_2=Lin_Ver
diff --git a/config/variables.properties b/config/variables.properties
index d8ef150..7bfd445 100644
--- a/config/variables.properties
+++ b/config/variables.properties
@@ -1,2 +1,2 @@
-#Wed Sep 30 14:19:41 CEST 2020
-FileSequentialNumber=2360
+#Fri Oct 02 11:04:53 CEST 2020
+FileSequentialNumber=2414
diff --git a/plugins/Eiger.form b/plugins/Eiger.form
index 66b37ef..6271625 100644
--- a/plugins/Eiger.form
+++ b/plugins/Eiger.form
@@ -48,16 +48,12 @@
-
-
+
+
+
-
-
-
-
-
@@ -700,13 +696,15 @@
-
-
-
+
+
+
-
+
-
+
+
+
@@ -720,6 +718,7 @@
+
@@ -751,6 +750,14 @@
+
+
+
+
+
+
+
+
@@ -767,23 +774,23 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
@@ -1028,9 +1035,9 @@
-
-
-
+
+
+
@@ -1132,16 +1139,18 @@
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
@@ -1195,7 +1204,7 @@
-
+
diff --git a/plugins/Eiger.java b/plugins/Eiger.java
index 1d5f846..9238fd3 100644
--- a/plugins/Eiger.java
+++ b/plugins/Eiger.java
@@ -504,6 +504,7 @@ public class Eiger extends Panel {
jLabel18 = new javax.swing.JLabel();
textRsyncPath = new javax.swing.JTextField();
checkRsyncEnable = new javax.swing.JCheckBox();
+ buttonSetFolder = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
panelNorm = new javax.swing.JPanel();
buttonSetNorm = new javax.swing.JButton();
@@ -1002,6 +1003,13 @@ public class Eiger extends Panel {
}
});
+ buttonSetFolder.setText("Set");
+ buttonSetFolder.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonSetFolderActionPerformed(evt);
+ }
+ });
+
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
@@ -1012,11 +1020,13 @@ public class Eiger extends Panel {
.addGap(83, 83, 83)
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(textRsyncUser)
+ .addComponent(textRsyncUser, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel18)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textRsyncPath)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(buttonSetFolder)
.addContainerGap())
);
jPanel6Layout.setVerticalGroup(
@@ -1028,7 +1038,8 @@ public class Eiger extends Panel {
.addComponent(textRsyncUser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel18)
.addComponent(textRsyncPath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(checkRsyncEnable))
+ .addComponent(checkRsyncEnable)
+ .addComponent(buttonSetFolder))
.addContainerGap())
);
@@ -1040,12 +1051,9 @@ public class Eiger extends Panel {
.addGap(10, 10, 10)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelDataFile, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(panelBeamline, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
- .addGroup(jPanel5Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addContainerGap())
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1226,15 +1234,15 @@ public class Eiger extends Panel {
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelNorm, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(panelNorm1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addComponent(panelNorm1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(buttonTriggerDetector, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(buttonShowDetectorPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 201, Short.MAX_VALUE)
+ .addComponent(buttonMeasurements, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(buttonTriggerDetector, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(buttonShowDetectorPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 201, Short.MAX_VALUE)
- .addComponent(buttonMeasurements, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonMeasurements, buttonShowDetectorPanel, buttonTriggerDetector});
@@ -1320,9 +1328,6 @@ public class Eiger extends Panel {
.addComponent(jLabel26))
.addGap(13, 13, 13))
);
-
- panelRoiLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonRoiAdd, buttonRoiRemove, jScrollPane1});
-
panelRoiLayout.setVerticalGroup(
panelRoiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelRoiLayout.createSequentialGroup()
@@ -1514,7 +1519,7 @@ public class Eiger extends Panel {
.addComponent(jLabel20)))
.addGroup(panelImgControlsLayout.createSequentialGroup()
.addGap(22, 22, 22)
- .addComponent(jLabel22, javax.swing.GroupLayout.DEFAULT_SIZE, 77, Short.MAX_VALUE))))
+ .addComponent(jLabel22, javax.swing.GroupLayout.DEFAULT_SIZE, 95, Short.MAX_VALUE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelImgControlsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(spinnerImgMeasurements)
@@ -1570,14 +1575,15 @@ public class Eiger extends Panel {
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
- .addComponent(panelImgControls, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(panelImgControls, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(jPanel2Layout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(buttonImgStart)
+ .addGap(76, 76, 76)
+ .addComponent(buttonImgAbort)
+ .addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(buttonImgStart)
- .addGap(76, 76, 76)
- .addComponent(buttonImgAbort)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonImgAbort, buttonImgStart});
@@ -2051,7 +2057,7 @@ public class Eiger extends Panel {
if (!updatingRsync){
try {
setSetting("RSYNC_USER", "");
- setSetting("RSYNC_PATH", "");
+ //setSetting("RSYNC_PATH", "");
} catch (IOException ex) {
Logger.getLogger(Eiger.class.getName()).log(Level.SEVERE, null, ex);
}
@@ -2060,7 +2066,8 @@ public class Eiger extends Panel {
String path = textRsyncPath.getText().trim();
if (!user.isEmpty()){
try {
- this.eval("authorize_user('" + user +"', aux_file = '/scratch/.rsync.tmp')");
+ //this.eval("authorize_user('" + user +"', aux_file = '/scratch/.rsync.tmp')");
+ this.eval("authorize_user('" + user +"')");
setSetting("RSYNC_USER", user);
setSetting("RSYNC_PATH", path);
} catch (Exception ex) {
@@ -2083,6 +2090,18 @@ public class Eiger extends Panel {
}
}//GEN-LAST:event_checkRsyncEnableActionPerformed
+ private void buttonSetFolderActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSetFolderActionPerformed
+ try {
+ String ret = SwingUtils.getString(this, "Enter destination path:", String.valueOf(getSetting("RSYNC_PATH")));
+ if ((ret != null) && (!ret.trim().isEmpty())){
+ setSetting("RSYNC_PATH", ret.trim());
+ updateRsync();
+ }
+ } catch (IOException ex) {
+ showException(ex);
+ }
+ }//GEN-LAST:event_buttonSetFolderActionPerformed
+
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAdd;
private javax.swing.JButton buttonApply;
@@ -2093,6 +2112,7 @@ public class Eiger extends Panel {
private javax.swing.JButton buttonRemove;
private javax.swing.JButton buttonRoiAdd;
private javax.swing.JButton buttonRoiRemove;
+ private javax.swing.JButton buttonSetFolder;
private javax.swing.JButton buttonSetNorm;
private javax.swing.JButton buttonSetPath;
private javax.swing.JButton buttonSetSeq;
diff --git a/script/local.py b/script/local.py
index 9a88e85..aba7c4e 100644
--- a/script/local.py
+++ b/script/local.py
@@ -287,7 +287,8 @@ def get_ring_status():
-def assert_machine_ok(wait = True):
+def assert_machine_ok(wait = True):
+ print "Checking machine..."
ID1status=get_id_control(1)
ID2status=get_id_control(2)
Ringstatus=get_ring_status()
@@ -350,9 +351,11 @@ def assert_machine_ok(wait = True):
log("wait 10 s")
time.sleep(10)
log("continue")
+ print "Machine ok"
def assert_bemline_ok():
+ print "Checking beamline..."
checkbeamline=0
message=[ "PLC error","Encoder error", "Feedforward error","Operator control", "Moving timeout", "Interlock"]
@@ -492,27 +495,33 @@ def stop_measurements():
#Rsync
###################################################################################################
-def check_sync_user_data(path):
+def _check_sync_user_data(path):
rsync_user = get_setting("RSYNC_USER");
rsync_path = get_setting("RSYNC_PATH");
if rsync_user:
if not rsync_path:
rsync_path = "~/Data1"
+ else:
+ rsync_path = "~/Data1/" + rsync_path
if path is not None:
sync_user_data(rsync_user, path, rsync_path)
+ time.sleep(5.0)
+_FORK_SYNC_USER = True
+def check_sync_user_data(path, do_fork=_FORK_SYNC_USER):
+ if (do_fork):
+ fork((_check_sync_user_data, (path,)), )
+ else:
+ _check_sync_user_data(path)
_CURRENT_DATA_PATH = None
def on_change_data_path(path):
global _CURRENT_DATA_PATH
if path is None:
- if _CURRENT_DATA_PATH is not None:
- check_sync_user_data(_CURRENT_DATA_PATH)
+ if _CURRENT_DATA_PATH is not None:
+ check_sync_user_data(_CURRENT_DATA_PATH)
else:
_CURRENT_DATA_PATH = path
- #print "Data path: " + str(path)
-
-
###################################################################################################
#Settings