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