diff --git a/config/devices.properties b/config/devices.properties
index 9dfca2a..7e60bec 100755
--- a/config/devices.properties
+++ b/config/devices.properties
@@ -33,12 +33,12 @@ fampltms=ch.psi.pshell.imaging.RegisterMatrixSource|fampltm||-100|
#rf_phase=ch.psi.pshell.epics.ChannelDouble|MINSB03-RSYS:SET-VSUM-PHASE|||true
#rf_phase_rb=ch.psi.pshell.epics.ChannelDouble|MINSB03-RSYS:GET-VSUM-PHASE|Read||true
#rf_ampl_rb=ch.psi.pshell.epics.ChannelDouble|MINSB03-RSYS:GET-VSUM-AMPLT|Read||true
-image=ch.psi.pshell.imaging.FileSource|/afs/psi.ch/intranet/SF/Applications/config/pshell_op/context/beam.jpg|||
+#image=ch.psi.pshell.imaging.FileSource|/afs/psi.ch/intranet/SF/Applications/config/pshell_op/context/beam.jpg|||
#cam=ch.psi.pshell.epics.ArraySource|SINEG01-DSCR350:FPICTURE Int16 5529600||-200|
#matrix=ch.psi.pshell.epics.GenericMatrix|SINEG01-DSCR350:FPICTURE 2560 2160|||
-cam1=ch.psi.pshell.epics.PsiCamera|SINEG01-DSCR350||-200|false
-cam2=ch.psi.pshell.epics.PsiCamera|SLG-LCAM-C041||-200|
-cam3=SfCamera|SLG-LCAM-C041||-200|
+#cam1=ch.psi.pshell.epics.PsiCamera|SINEG01-DSCR350||-200|false
+#cam2=ch.psi.pshell.epics.PsiCamera|SLG-LCAM-C041||-200|
+#cam3=SfCamera|SLG-LCAM-C041||-200|
gsx=ch.psi.pshell.epics.Positioner|SINEG01-MSOL130:X_SP SINEG01-MSOL130:X|||true
gsy=ch.psi.pshell.epics.Positioner|SINEG01-MSOL130:Y_SP SINEG01-MSOL130:Y|||true
gsrx=ch.psi.pshell.epics.Positioner|SINEG01-MSOL130:ROT_X_SP SINEG01-MSOL130:ROT_X|||true
diff --git a/devices/Beam phase.properties b/devices/Beam phase.properties
index 018d7e0..ed270b2 100644
--- a/devices/Beam phase.properties
+++ b/devices/Beam phase.properties
@@ -1,9 +1,9 @@
-#Mon Nov 27 08:47:47 CET 2017
+#Mon Dec 04 09:50:29 CET 2017
maxValue=360.0
minValue=-360.0
offset=0.0
precision=3
resolution=0.1
-rotation=true
+rotation=false
scale=1.0
unit=deg
diff --git a/devices/CurrentCamera.properties b/devices/CurrentCamera.properties
index f6e71dc..cf1503b 100644
--- a/devices/CurrentCamera.properties
+++ b/devices/CurrentCamera.properties
@@ -1,19 +1,19 @@
-#Mon Nov 27 10:35:37 CET 2017
+#Mon Dec 04 19:58:20 CET 2017
\u0000\u0000\u0000\u0000=
\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000=
\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000=
colormap=Flame
-colormapAutomatic=true
-colormapMax=14000.0
+colormapAutomatic=false
+colormapMax=3909.451
colormapMin=0.0
flipHorizontally=false
flipVertically=false
grayscale=false
-imageHeight=1024
-imageWidth=1280
+imageHeight=494
+imageWidth=659
invert=false
-regionStartX=1
-regionStartY=1
+regionStartX=0
+regionStartY=0
rescaleFactor=1.0
rescaleOffset=0.0
roiHeight=-1
@@ -24,9 +24,9 @@ rotation=0.0
rotationCrop=false
scale=1.0
serverURL=localhost\:10000
-spatialCalOffsetX=-50.03909304143862
-spatialCalOffsetY=-50.048875855327466
-spatialCalScaleX=-1.0
-spatialCalScaleY=-1.0
+spatialCalOffsetX=-385.58509787098683
+spatialCalOffsetY=-249.50507086514602
+spatialCalScaleX=-14.362775530133929
+spatialCalScaleY=-11.5606939536321
spatialCalUnits=
transpose=false
diff --git a/devices/cam_server.properties b/devices/cam_server.properties
index 34a9b02..7760ea4 100644
--- a/devices/cam_server.properties
+++ b/devices/cam_server.properties
@@ -1,4 +1,4 @@
-#Thu Nov 23 17:13:12 CET 2017
+#Mon Dec 04 09:40:04 CET 2017
colormap=Flame
colormapAutomatic=true
colormapMax=NaN
diff --git a/devices/pipeline_server.properties b/devices/pipeline_server.properties
index 6c78e50..542921f 100644
--- a/devices/pipeline_server.properties
+++ b/devices/pipeline_server.properties
@@ -1,4 +1,4 @@
-#Fri Nov 24 16:13:49 CET 2017
+#Mon Dec 04 09:46:10 CET 2017
colormap=Flame
colormapAutomatic=true
colormapMax=NaN
@@ -16,9 +16,9 @@ roiY=0
rotation=0.0
rotationCrop=false
scale=1.0
-spatialCalOffsetX=-677.5082585941401
-spatialCalOffsetY=-627.4707187276099
-spatialCalScaleX=-8.737659534534535
-spatialCalScaleY=-8.834897886167417
+spatialCalOffsetX=-391.48331413428485
+spatialCalOffsetY=-387.5330483081544
+spatialCalScaleX=-26.714159311263906
+spatialCalScaleY=-27.10027117768595
spatialCalUnits=mm
transpose=false
diff --git a/plugins/GunEnergyScan.form b/plugins/GunEnergyScan.form
index 02ad08d..b0e8849 100644
--- a/plugins/GunEnergyScan.form
+++ b/plugins/GunEnergyScan.form
@@ -24,21 +24,22 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
@@ -48,12 +49,14 @@
-
+
-
+
+
+
@@ -241,7 +244,7 @@
-
+
@@ -327,5 +330,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/GunEnergyScan.java b/plugins/GunEnergyScan.java
index 3a72208..541c072 100644
--- a/plugins/GunEnergyScan.java
+++ b/plugins/GunEnergyScan.java
@@ -28,14 +28,16 @@ public class GunEnergyScan extends Panel {
@Override
public void onStateChange(State state, State former) {
buttonAbort.setEnabled(state.isProcessing());
- buttonStart.setEnabled(state == State.Ready);
- spinnerStart.setEnabled(buttonStart.isEnabled());
- spinnerStop.setEnabled(buttonStart.isEnabled());
- spinnerStep.setEnabled(buttonStart.isEnabled());
- spinnerSamples.setEnabled(buttonStart.isEnabled());
- spinnerLatency.setEnabled(buttonStart.isEnabled());
- spinnerDispersion.setEnabled(buttonStart.isEnabled());
- spinnerEnergy.setEnabled(buttonStart.isEnabled());
+ boolean enabled = (state == State.Ready);
+ buttonStart.setEnabled(enabled);
+ spinnerStart.setEnabled(enabled);
+ spinnerStop.setEnabled(enabled);
+ spinnerStep.setEnabled(enabled);
+ spinnerSamples.setEnabled(enabled);
+ spinnerLatency.setEnabled(enabled);
+ spinnerDispersion.setEnabled(enabled);
+ spinnerEnergy.setEnabled(enabled);
+ buttonPhaseSet.setEnabled(enabled && !buttonPhaseSet.getText().isEmpty());
}
@Override
@@ -70,6 +72,10 @@ public class GunEnergyScan extends Panel {
plot = new ch.psi.pshell.plot.LinePlotJFree();
buttonStart = new javax.swing.JButton();
buttonAbort = new javax.swing.JButton();
+ jPanel1 = new javax.swing.JPanel();
+ jLabel1 = new javax.swing.JLabel();
+ buttonPhaseSet = new javax.swing.JButton();
+ textRefPhase = new javax.swing.JTextField();
setPreferredSize(new java.awt.Dimension(737, 445));
@@ -173,7 +179,7 @@ public class GunEnergyScan extends Panel {
panelBeamParsLayout.setHorizontalGroup(
panelBeamParsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelBeamParsLayout.createSequentialGroup()
- .addContainerGap(19, Short.MAX_VALUE)
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelBeamParsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(labelDispersion, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelEnergy))
@@ -213,6 +219,47 @@ public class GunEnergyScan extends Panel {
}
});
+ jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Set Phase"));
+
+ jLabel1.setText("Ref phase:");
+
+ buttonPhaseSet.setText("Set");
+ buttonPhaseSet.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonPhaseSetActionPerformed(evt);
+ }
+ });
+
+ textRefPhase.setEditable(false);
+ textRefPhase.setHorizontalAlignment(javax.swing.JTextField.CENTER);
+
+ javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+ jPanel1.setLayout(jPanel1Layout);
+ jPanel1Layout.setHorizontalGroup(
+ jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(buttonPhaseSet)
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel1)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(textRefPhase, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+ jPanel1Layout.setVerticalGroup(
+ jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabel1)
+ .addComponent(textRefPhase, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(buttonPhaseSet)
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ );
+
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
@@ -220,17 +267,18 @@ public class GunEnergyScan extends Panel {
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(panelScanPars, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(panelBeamPars, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(buttonStart)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonAbort)
- .addGap(15, 15, 15)))
- .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, 527, Short.MAX_VALUE)
+ .addGap(15, 15, 15))
+ .addGroup(layout.createSequentialGroup()
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(panelScanPars, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(panelBeamPars, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
+ .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, 528, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
@@ -238,12 +286,14 @@ public class GunEnergyScan extends Panel {
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
+ .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(panelScanPars, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(panelBeamPars, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 12, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonStart)
.addComponent(buttonAbort))))
@@ -254,6 +304,7 @@ public class GunEnergyScan extends Panel {
}// //GEN-END:initComponents
private void buttonStartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonStartActionPerformed
+ textRefPhase.setText("");
ArrayList parameters = new ArrayList();
parameters.add(spinnerStart.getValue());
parameters.add(spinnerStop.getValue());
@@ -262,13 +313,19 @@ public class GunEnergyScan extends Panel {
parameters.add(spinnerLatency.getValue());
parameters.add((Double) spinnerDispersion.getValue());
parameters.add((Double) spinnerEnergy.getValue());
- parameters.add(plot);
+ parameters.add(plot);
try {
runAsync("RFscan/GunEnergyScan", parameters).handle((ret, ex) -> {
if (ex != null) {
getLogger().info("Exception executing scan: " + ex);
showException((Exception) ex);
} else {
+ try{
+ double phase = ((Number)ret).doubleValue();
+ textRefPhase.setText(String.format("%1.2f",phase));
+ } catch (Exception e) {
+ showException(e);
+ }
}
return ret;
});
@@ -285,9 +342,38 @@ public class GunEnergyScan extends Panel {
}
}//GEN-LAST:event_buttonAbortActionPerformed
+ private void buttonPhaseSetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonPhaseSetActionPerformed
+ try {
+ if (!textRefPhase.getText().isEmpty()){
+ Double phase = Double.parseDouble(textRefPhase.getText());
+
+ ArrayList parameters = new ArrayList();
+ parameters.add(phase);
+ parameters.add(plot);
+ try {
+ //How to get a callback on the end of execution
+ runAsync("RFscan/GunEnergyScanSet", parameters).handle((ret, ex) -> {
+ if (ex != null) {
+ getLogger().info("Exception executing scan: " + ex);
+ showException((Exception) ex);
+ }
+ return ret;
+ });
+ } catch (Exception ex) {
+ showException(ex);
+ }
+ }
+ } catch (Exception ex) {
+ showException(ex);
+ }
+ }//GEN-LAST:event_buttonPhaseSetActionPerformed
+
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAbort;
+ private javax.swing.JButton buttonPhaseSet;
private javax.swing.JButton buttonStart;
+ private javax.swing.JLabel jLabel1;
+ private javax.swing.JPanel jPanel1;
private javax.swing.JLabel labelDispersion;
private javax.swing.JLabel labelEnergy;
private javax.swing.JLabel labelLatency;
@@ -305,5 +391,6 @@ public class GunEnergyScan extends Panel {
private javax.swing.JSpinner spinnerStart;
private javax.swing.JSpinner spinnerStep;
private javax.swing.JSpinner spinnerStop;
+ private javax.swing.JTextField textRefPhase;
// End of variables declaration//GEN-END:variables
}
diff --git a/plugins/ScreenPanel.java b/plugins/ScreenPanel.java
index 82c1048..ad6330e 100644
--- a/plugins/ScreenPanel.java
+++ b/plugins/ScreenPanel.java
@@ -1768,7 +1768,15 @@ public class ScreenPanel extends Panel {
dm.setAttribute(pathImage, key + " " + k, (v == null) ? "" : v);
}
} else {
- dm.setAttribute(pathImage, key, (pars.get(key) == null) ? "" : pars.get(key));
+ Object value = pars.get(key);
+ if (value == null){
+ value = "";
+ } else if (value instanceof List){
+ Class cls = (((List) value).size()>0) ? ((List) value).get(0).getClass() : double.class;
+ value = Convert.toPrimitiveArray(value, cls);
+ //value = Convert.toDouble(value);
+ }
+ dm.setAttribute(pathImage, key, value);
}
}
} else if (val.getClass().isArray()) {
diff --git a/plugins/WireScan.form b/plugins/WireScan.form
index f9e1d78..fe232cb 100644
--- a/plugins/WireScan.form
+++ b/plugins/WireScan.form
@@ -16,120 +16,12 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -138,118 +30,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -258,304 +39,591 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/WireScan.java b/plugins/WireScan.java
index f6ac679..7f64c04 100644
--- a/plugins/WireScan.java
+++ b/plugins/WireScan.java
@@ -7,6 +7,8 @@ import ch.psi.pshell.device.DeviceAdapter;
import ch.psi.pshell.epics.ChannelDouble;
import ch.psi.pshell.epics.ChannelInteger;
import ch.psi.pshell.epics.Epics;
+import ch.psi.pshell.swing.DevicePanel;
+import ch.psi.pshell.swing.DeviceValueChart;
import ch.psi.pshell.ui.App;
import ch.psi.pshell.ui.Panel;
import ch.psi.pshell.ui.Plugin;
@@ -14,12 +16,18 @@ import ch.psi.utils.Convert;
import ch.psi.utils.State;
import ch.psi.utils.swing.SwingUtils;
import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Window;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
/**
*
@@ -141,6 +149,7 @@ public class WireScan extends Panel {
buttonPark.setEnabled((state==State.Ready) && validWireScan && homed);
buttonParkAll.setEnabled(state==State.Ready);
buttonScan.setEnabled((state==State.Ready) && validWireScan && homed);
+ checkSaveRaw.setEnabled(state==State.Ready);
buttonAbort.setEnabled(state==State.Busy);
comboScanType.setEnabled(validWireScan);
for (JComboBox cb : bpmCombos){
@@ -158,8 +167,19 @@ public class WireScan extends Panel {
spinnerEndX.setEnabled(spinnerStartX.isEnabled());
spinnerStartY.setEnabled(validWireScan && isY());
spinnerEndY.setEnabled(spinnerStartY.isEnabled());
+ updateRawButtons();
}
+ void updateRawButtons(){
+ boolean validWireScan = isValidScanner();
+ Object sel = comboBlm1.getSelectedItem();
+ buttonRaw1.setEnabled(validWireScan && (sel!=null) && (!sel.toString().isEmpty()));
+ sel = comboBlm2.getSelectedItem();
+ buttonRaw2.setEnabled(validWireScan && (sel!=null) && (!sel.toString().isEmpty()));
+ sel = comboBlm3.getSelectedItem();
+ buttonRaw3.setEnabled(validWireScan && (sel!=null) && (!sel.toString().isEmpty()));
+ }
+
@Override
public void onExecutedFile(String fileName, Object result) {
}
@@ -270,101 +290,115 @@ public class WireScan extends Panel {
labelPosY.setText("");
}
+
+ void showBlmRawData(String blm){
+ try {
+ if ((blm==null) || (blm.isEmpty())){
+ return;
+ }
+ String channel = blm + ":LOSS_SIGNAL_RAW";
+ Device dev = Epics.newChannelDevice(channel, channel, null);
+ //dev.setPolling(1000);
+ dev.setMonitored(true);
+ dev.initialize();
+ DeviceValueChart chart = new DeviceValueChart();
+ JDialog dlg = SwingUtils.showDialog((Window)this.getTopLevel(), blm, new Dimension(600,400), chart);
+ chart = null;
+ chart.setDevice(dev);
+ dlg.addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent e) {
+ try {
+ dev.close();
+ } catch (Exception ex) {
+ Logger.getLogger(WireScan.class.getName()).log(Level.WARNING, null, ex);
+ }
+ }
+ });
+ } catch (Exception ex) {
+ showException(ex);
+ }
+ }
+
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
- comboWireScanner = new javax.swing.JComboBox();
- jLabel2 = new javax.swing.JLabel();
- comboScanType = new javax.swing.JComboBox();
- jLabel3 = new javax.swing.JLabel();
- jLabel4 = new javax.swing.JLabel();
- jLabel5 = new javax.swing.JLabel();
- comboBpm3 = new javax.swing.JComboBox();
- jLabel6 = new javax.swing.JLabel();
- jLabel7 = new javax.swing.JLabel();
- jLabel8 = new javax.swing.JLabel();
- jLabel9 = new javax.swing.JLabel();
- jLabel10 = new javax.swing.JLabel();
- buttonScan = new javax.swing.JButton();
- buttonAbort = new javax.swing.JButton();
- buttonMoveStart = new javax.swing.JButton();
- spinnerStartX = new javax.swing.JSpinner();
- spinnerEndX = new javax.swing.JSpinner();
- spinnerVel = new javax.swing.JSpinner();
- spinnerCycles = new javax.swing.JSpinner();
- panelStatus = new ch.psi.pshell.swing.DeviceValuePanel();
plot = new ch.psi.pshell.plot.LinePlotJFree();
- comboBpm1 = new javax.swing.JComboBox();
- comboBpm2 = new javax.swing.JComboBox();
- buttonPark = new javax.swing.JButton();
- jLabel11 = new javax.swing.JLabel();
- panelPosition = new ch.psi.pshell.swing.DeviceValuePanel();
- buttonMotorPanel = new javax.swing.JButton();
- buttonScannerPanel = new javax.swing.JButton();
- jLabel12 = new javax.swing.JLabel();
- ledHomed = new ch.psi.pshell.swing.Led();
- buttonHoming = new javax.swing.JButton();
- jLabel13 = new javax.swing.JLabel();
- jLabel14 = new javax.swing.JLabel();
- labelPosX = new javax.swing.JLabel();
+ panelLeft = new javax.swing.JPanel();
+ buttonRaw1 = new javax.swing.JButton();
labelPosY = new javax.swing.JLabel();
- labelStartY = new javax.swing.JLabel();
- spinnerStartY = new javax.swing.JSpinner();
- labelEndY = new javax.swing.JLabel();
- spinnerEndY = new javax.swing.JSpinner();
- jLabel15 = new javax.swing.JLabel();
+ jLabel14 = new javax.swing.JLabel();
+ jLabel8 = new javax.swing.JLabel();
+ buttonScan = new javax.swing.JButton();
+ ledHomed = new ch.psi.pshell.swing.Led();
+ comboScanType = new javax.swing.JComboBox();
+ spinnerCycles = new javax.swing.JSpinner();
panelPosition1 = new ch.psi.pshell.swing.DeviceValuePanel();
- jLabel16 = new javax.swing.JLabel();
- comboBlm3 = new javax.swing.JComboBox();
- jLabel17 = new javax.swing.JLabel();
- comboBlm2 = new javax.swing.JComboBox();
+ labelEndY = new javax.swing.JLabel();
comboBlm1 = new javax.swing.JComboBox();
- jLabel18 = new javax.swing.JLabel();
- jLabel19 = new javax.swing.JLabel();
- spinnerBackground = new javax.swing.JSpinner();
- jLabel20 = new javax.swing.JLabel();
+ jLabel7 = new javax.swing.JLabel();
+ jLabel9 = new javax.swing.JLabel();
+ buttonMoveStart = new javax.swing.JButton();
+ jLabel4 = new javax.swing.JLabel();
+ jLabel2 = new javax.swing.JLabel();
+ spinnerStartY = new javax.swing.JSpinner();
buttonParkAll = new javax.swing.JButton();
+ panelStatus = new ch.psi.pshell.swing.DeviceValuePanel();
+ buttonPark = new javax.swing.JButton();
+ panelPosition = new ch.psi.pshell.swing.DeviceValuePanel();
+ comboBlm2 = new javax.swing.JComboBox();
+ comboBpm3 = new javax.swing.JComboBox();
+ spinnerVel = new javax.swing.JSpinner();
+ buttonRaw2 = new javax.swing.JButton();
+ comboBlm3 = new javax.swing.JComboBox();
+ comboWireScanner = new javax.swing.JComboBox();
+ jLabel15 = new javax.swing.JLabel();
+ jLabel19 = new javax.swing.JLabel();
+ checkSaveRaw = new javax.swing.JCheckBox();
+ jLabel20 = new javax.swing.JLabel();
+ jLabel12 = new javax.swing.JLabel();
+ jLabel5 = new javax.swing.JLabel();
+ spinnerEndY = new javax.swing.JSpinner();
+ jLabel16 = new javax.swing.JLabel();
+ jLabel17 = new javax.swing.JLabel();
+ spinnerStartX = new javax.swing.JSpinner();
+ jLabel13 = new javax.swing.JLabel();
+ jLabel11 = new javax.swing.JLabel();
+ buttonMotorPanel = new javax.swing.JButton();
+ labelPosX = new javax.swing.JLabel();
+ spinnerBackground = new javax.swing.JSpinner();
+ buttonHoming = new javax.swing.JButton();
+ jLabel10 = new javax.swing.JLabel();
+ comboBpm1 = new javax.swing.JComboBox();
+ jLabel3 = new javax.swing.JLabel();
+ comboBpm2 = new javax.swing.JComboBox();
+ buttonAbort = new javax.swing.JButton();
+ jLabel6 = new javax.swing.JLabel();
+ labelStartY = new javax.swing.JLabel();
+ spinnerEndX = new javax.swing.JSpinner();
+ buttonRaw3 = new javax.swing.JButton();
+ jLabel18 = new javax.swing.JLabel();
+ buttonScannerPanel = new javax.swing.JButton();
- comboWireScanner.addActionListener(new java.awt.event.ActionListener() {
+ plot.setTitle("");
+
+ buttonRaw1.setText("Raw Signal");
+ buttonRaw1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
- comboWireScannerActionPerformed(evt);
+ buttonRaw1ActionPerformed(evt);
}
});
- jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel2.setText("Scan Type:");
+ labelPosY.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ labelPosY.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
- comboScanType.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- comboScanTypeActionPerformed(evt);
- }
- });
-
- jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel3.setText("BPM 1:");
-
- jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel4.setText("BPM 2:");
-
- jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel5.setText("BPM 3:");
-
- jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel6.setText("Start X (µm):");
-
- jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel7.setText("End X (µm):");
+ jLabel14.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel14.setText("Pos y (µm):");
jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel8.setText("Vel (µm/s):");
- jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel9.setText("Cycles:");
-
- jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel10.setText("Scan status:");
-
buttonScan.setText("Scan");
buttonScan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -372,13 +406,32 @@ public class WireScan extends Panel {
}
});
- buttonAbort.setText("Abort");
- buttonAbort.addActionListener(new java.awt.event.ActionListener() {
+ ledHomed.setForeground(java.awt.Color.darkGray);
+ ledHomed.setLedSize(18);
+
+ comboScanType.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
- buttonAbortActionPerformed(evt);
+ comboScanTypeActionPerformed(evt);
}
});
+ spinnerCycles.setModel(new javax.swing.SpinnerNumberModel(1, 1, 100, 1));
+
+ labelEndY.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ labelEndY.setText("End Y (µm):");
+
+ comboBlm1.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ comboBlm1ActionPerformed(evt);
+ }
+ });
+
+ jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel7.setText("End X (µm):");
+
+ jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel9.setText("Cycles:");
+
buttonMoveStart.setText("Go to Start");
buttonMoveStart.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -386,15 +439,20 @@ public class WireScan extends Panel {
}
});
- spinnerStartX.setModel(new javax.swing.SpinnerNumberModel(1000.0d, -10000.0d, 10000.0d, 1.0d));
+ jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel4.setText("BPM 2:");
- spinnerEndX.setModel(new javax.swing.SpinnerNumberModel(1000.0d, -10000.0d, 10000.0d, 1.0d));
+ jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel2.setText("Scan Type:");
- spinnerVel.setModel(new javax.swing.SpinnerNumberModel(200.0d, 1.0d, 10000.0d, 1.0d));
+ spinnerStartY.setModel(new javax.swing.SpinnerNumberModel(1000.0d, -10000.0d, 10000.0d, 1.0d));
- spinnerCycles.setModel(new javax.swing.SpinnerNumberModel(1, 1, 100, 1));
-
- plot.setTitle("");
+ buttonParkAll.setText("ParkAll");
+ buttonParkAll.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonParkAllActionPerformed(evt);
+ }
+ });
buttonPark.setText("Garage");
buttonPark.addActionListener(new java.awt.event.ActionListener() {
@@ -403,6 +461,62 @@ public class WireScan extends Panel {
}
});
+ comboBlm2.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ comboBlm2ActionPerformed(evt);
+ }
+ });
+
+ spinnerVel.setModel(new javax.swing.SpinnerNumberModel(200.0d, 1.0d, 10000.0d, 1.0d));
+
+ buttonRaw2.setText("Raw Signal");
+ buttonRaw2.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonRaw2ActionPerformed(evt);
+ }
+ });
+
+ comboBlm3.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ comboBlm3ActionPerformed(evt);
+ }
+ });
+
+ comboWireScanner.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ comboWireScannerActionPerformed(evt);
+ }
+ });
+
+ jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel15.setText("Trigger(Hz):");
+
+ jLabel19.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel19.setText("Background:");
+
+ checkSaveRaw.setText("Save Raw Signal");
+
+ jLabel20.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel20.setText("Wire Scanner:");
+
+ jLabel12.setText("Homed:");
+
+ jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel5.setText("BPM 3:");
+
+ spinnerEndY.setModel(new javax.swing.SpinnerNumberModel(1000.0d, -10000.0d, 10000.0d, 1.0d));
+
+ jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel16.setText("BLM 3:");
+
+ jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel17.setText("BLM 2:");
+
+ spinnerStartX.setModel(new javax.swing.SpinnerNumberModel(1000.0d, -10000.0d, 10000.0d, 1.0d));
+
+ jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel13.setText("Pos x (µm):");
+
jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel11.setText("Pos mot (µm):");
@@ -413,17 +527,10 @@ public class WireScan extends Panel {
}
});
- buttonScannerPanel.setText("Scanner Panel");
- buttonScannerPanel.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- buttonScannerPanelActionPerformed(evt);
- }
- });
+ labelPosX.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ labelPosX.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
- jLabel12.setText("Homed:");
-
- ledHomed.setForeground(java.awt.Color.darkGray);
- ledHomed.setLedSize(18);
+ spinnerBackground.setModel(new javax.swing.SpinnerNumberModel(50, 0, 1000, 1));
buttonHoming.setText("Homing");
buttonHoming.addActionListener(new java.awt.event.ActionListener() {
@@ -432,272 +539,283 @@ public class WireScan extends Panel {
}
});
- jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel13.setText("Pos x (µm):");
+ jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel10.setText("Scan status:");
- jLabel14.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel14.setText("Pos y (µm):");
+ jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel3.setText("BPM 1:");
- labelPosX.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- labelPosX.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
+ buttonAbort.setText("Abort");
+ buttonAbort.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonAbortActionPerformed(evt);
+ }
+ });
- labelPosY.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- labelPosY.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
+ jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+ jLabel6.setText("Start X (µm):");
labelStartY.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelStartY.setText("Start Y (µm):");
- spinnerStartY.setModel(new javax.swing.SpinnerNumberModel(1000.0d, -10000.0d, 10000.0d, 1.0d));
+ spinnerEndX.setModel(new javax.swing.SpinnerNumberModel(1000.0d, -10000.0d, 10000.0d, 1.0d));
- labelEndY.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- labelEndY.setText("End Y (µm):");
-
- spinnerEndY.setModel(new javax.swing.SpinnerNumberModel(1000.0d, -10000.0d, 10000.0d, 1.0d));
-
- jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel15.setText("Trigger(Hz):");
-
- jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel16.setText("BLM 3:");
-
- jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel17.setText("BLM 2:");
+ buttonRaw3.setText("Raw Signal");
+ buttonRaw3.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonRaw3ActionPerformed(evt);
+ }
+ });
jLabel18.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel18.setText("BLM 1:");
- jLabel19.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel19.setText("Background:");
-
- spinnerBackground.setModel(new javax.swing.SpinnerNumberModel(50, 0, 1000, 1));
-
- jLabel20.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel20.setText("Wire Scanner:");
-
- buttonParkAll.setText("ParkAll");
- buttonParkAll.addActionListener(new java.awt.event.ActionListener() {
+ buttonScannerPanel.setText("Scanner Panel");
+ buttonScannerPanel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
- buttonParkAllActionPerformed(evt);
+ buttonScannerPanelActionPerformed(evt);
}
});
+ javax.swing.GroupLayout panelLeftLayout = new javax.swing.GroupLayout(panelLeft);
+ panelLeft.setLayout(panelLeftLayout);
+ panelLeftLayout.setHorizontalGroup(
+ panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addGap(0, 0, 0)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabel10, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel15, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(jLabel14, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(jLabel13, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(jLabel11, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(jLabel16, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel17, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel18, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(labelStartY, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel8, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel20, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(panelPosition, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(labelPosX, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(labelPosY, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addComponent(panelPosition1, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(18, 18, Short.MAX_VALUE)
+ .addComponent(jLabel12)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(ledHomed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addGap(18, 18, Short.MAX_VALUE)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(buttonHoming, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(buttonScannerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(buttonMotorPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+ .addComponent(comboWireScanner, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(comboScanType, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(comboBpm3, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(comboBpm1, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(comboBpm2, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(spinnerStartY)
+ .addComponent(panelStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 324, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(0, 16, Short.MAX_VALUE))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelLeftLayout.createSequentialGroup()
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addComponent(spinnerVel, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel9))
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addComponent(spinnerStartX)
+ .addGap(18, 18, Short.MAX_VALUE)
+ .addComponent(jLabel7))
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(jLabel19)
+ .addComponent(labelEndY))))
+ .addGap(8, 8, 8)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(spinnerEndX, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(spinnerEndY, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(spinnerBackground, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(spinnerCycles, javax.swing.GroupLayout.Alignment.TRAILING)))
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(comboBlm3, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(comboBlm2, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(comboBlm1, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(buttonRaw1, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(buttonRaw2, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(buttonRaw3, javax.swing.GroupLayout.Alignment.TRAILING)))))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelLeftLayout.createSequentialGroup()
+ .addComponent(buttonPark)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(buttonParkAll)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(buttonMoveStart))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelLeftLayout.createSequentialGroup()
+ .addComponent(buttonScan)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(checkSaveRaw)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(buttonAbort)))
+ .addGap(0, 0, 0))
+ );
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel10, jLabel11, jLabel13, jLabel14, jLabel15, jLabel16, jLabel17, jLabel18, jLabel2, jLabel20, jLabel3, jLabel4, jLabel5, jLabel6, jLabel7, jLabel8, jLabel9, labelEndY, labelStartY});
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonAbort, buttonMoveStart, buttonPark, buttonParkAll, buttonScan});
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonMotorPanel, buttonScannerPanel});
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {labelPosX, labelPosY, panelPosition, panelPosition1});
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerBackground, spinnerCycles, spinnerEndX, spinnerEndY});
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerStartX, spinnerStartY, spinnerVel});
+
+ panelLeftLayout.setVerticalGroup(
+ panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelLeftLayout.createSequentialGroup()
+ .addGap(0, 0, 0)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(comboWireScanner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel20))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(comboScanType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel2))
+ .addGap(18, 18, 18)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+ .addComponent(jLabel8)
+ .addComponent(spinnerCycles, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabel9)
+ .addComponent(spinnerVel, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(spinnerBackground, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel19))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+ .addComponent(jLabel6)
+ .addComponent(jLabel7)
+ .addComponent(spinnerEndX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(spinnerStartX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(spinnerStartY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(labelEndY)
+ .addComponent(spinnerEndY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(labelStartY))
+ .addGap(18, 18, 18)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabel3)
+ .addComponent(comboBpm1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(comboBpm2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel4))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(comboBpm3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel5))
+ .addGap(18, 18, 18)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabel18)
+ .addComponent(comboBlm1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(buttonRaw1))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(comboBlm2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel17)
+ .addComponent(buttonRaw2))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(comboBlm3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel16)
+ .addComponent(buttonRaw3))
+ .addGap(18, 18, Short.MAX_VALUE)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+ .addComponent(jLabel11)
+ .addComponent(panelPosition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(buttonScannerPanel))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+ .addComponent(jLabel13)
+ .addComponent(labelPosX)
+ .addComponent(buttonMotorPanel))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+ .addComponent(jLabel14)
+ .addComponent(labelPosY))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+ .addComponent(jLabel15)
+ .addComponent(panelPosition1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel12)
+ .addComponent(ledHomed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(buttonHoming))
+ .addGap(18, 18, Short.MAX_VALUE)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+ .addComponent(jLabel10)
+ .addComponent(panelStatus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(18, 18, Short.MAX_VALUE)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(buttonPark)
+ .addComponent(buttonMoveStart)
+ .addComponent(buttonParkAll))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(panelLeftLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(buttonAbort)
+ .addComponent(buttonScan)
+ .addComponent(checkSaveRaw))
+ .addGap(0, 0, 0))
+ );
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {labelPosX, labelPosY, panelPosition});
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {spinnerStartX, spinnerStartY, spinnerVel});
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {spinnerCycles, spinnerEndX, spinnerEndY});
+
+ panelLeftLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {panelPosition1, panelStatus});
+
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addComponent(buttonScan)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(buttonAbort))
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(jLabel15)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel11)
- .addComponent(jLabel13)
- .addComponent(jLabel14)))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(panelPosition, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(labelPosX, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(labelPosY, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createSequentialGroup()
- .addComponent(panelPosition1, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, Short.MAX_VALUE)
- .addComponent(jLabel12)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(ledHomed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(18, 18, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(buttonHoming, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(buttonScannerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(buttonMotorPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel10, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(labelStartY, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel18, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel16, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel17, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel20, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(comboWireScanner, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(comboScanType, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(comboBpm3, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(comboBpm1, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(comboBpm2, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(comboBlm3, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(comboBlm2, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(comboBlm1, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(spinnerStartY)
- .addComponent(panelStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 324, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(0, 0, Short.MAX_VALUE))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(spinnerVel, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel9))
- .addGroup(layout.createSequentialGroup()
- .addComponent(spinnerStartX)
- .addGap(18, 18, Short.MAX_VALUE)
- .addComponent(jLabel7))
- .addGroup(layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(jLabel19)
- .addComponent(labelEndY))))
- .addGap(8, 8, 8)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(spinnerEndX, javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(spinnerEndY, javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(spinnerBackground, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(spinnerCycles, javax.swing.GroupLayout.Alignment.TRAILING)))))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabel8)
- .addGap(154, 154, 154))
- .addGroup(layout.createSequentialGroup()
- .addComponent(buttonPark)
- .addGap(18, 18, Short.MAX_VALUE)
- .addComponent(buttonParkAll)
- .addGap(18, 18, Short.MAX_VALUE)
- .addComponent(buttonMoveStart)
- .addGap(0, 0, 0)))
- .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, 430, Short.MAX_VALUE)
+ .addComponent(panelLeft, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, 420, Short.MAX_VALUE)
.addGap(11, 11, 11))
);
-
- layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel10, jLabel11, jLabel13, jLabel14, jLabel2, jLabel3, jLabel4, jLabel5, jLabel6, jLabel7, jLabel8, jLabel9, labelEndY, labelStartY});
-
- layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonAbort, buttonMoveStart, buttonPark, buttonParkAll, buttonScan});
-
- layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonMotorPanel, buttonScannerPanel});
-
- layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {labelPosX, labelPosY, panelPosition, panelPosition1});
-
- layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerBackground, spinnerCycles, spinnerEndX, spinnerEndY});
-
- layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerStartX, spinnerStartY, spinnerVel});
-
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(comboWireScanner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel20))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(comboScanType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel2))
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel8)
- .addComponent(spinnerCycles, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel9)
- .addComponent(spinnerVel, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(spinnerBackground, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel19))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel6)
- .addComponent(jLabel7)
- .addComponent(spinnerEndX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(spinnerStartX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(spinnerStartY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(labelEndY)
- .addComponent(spinnerEndY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(labelStartY))
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel3)
- .addComponent(comboBpm1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(comboBpm2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel4))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(comboBpm3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel5))
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel18)
- .addComponent(comboBlm1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(comboBlm2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel17))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(comboBlm3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel16))
- .addGap(18, 18, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel11)
- .addComponent(panelPosition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(buttonScannerPanel))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel13)
- .addComponent(labelPosX)
- .addComponent(buttonMotorPanel))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel14)
- .addComponent(labelPosY))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel15)
- .addComponent(panelPosition1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel12)
- .addComponent(ledHomed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(buttonHoming))
- .addGap(18, 18, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel10)
- .addComponent(panelStatus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(18, 18, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(buttonPark)
- .addComponent(buttonMoveStart)
- .addComponent(buttonParkAll))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(buttonAbort)
- .addComponent(buttonScan)))
+ .addComponent(panelLeft, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
-
- layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {labelPosX, labelPosY, panelPosition});
-
- layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {spinnerStartX, spinnerStartY, spinnerVel});
-
- layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {spinnerCycles, spinnerEndX, spinnerEndY});
-
- layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {panelPosition1, panelStatus});
-
}// //GEN-END:initComponents
private void comboWireScannerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboWireScannerActionPerformed
@@ -796,6 +914,7 @@ public class WireScan extends Panel {
parameters.add(blms);
parameters.add(spinnerBackground.getValue());
parameters.add(plot);
+ parameters.add(checkSaveRaw.isSelected());
runAsync("Diagnostics/WireScanBackground", parameters).handle((ret, ex) -> {
if (ex != null) {
getLogger().info("Exception executing scan: " + ex);
@@ -936,6 +1055,30 @@ public class WireScan extends Panel {
}
}//GEN-LAST:event_buttonParkAllActionPerformed
+ private void buttonRaw1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonRaw1ActionPerformed
+ showBlmRawData(comboBlm1.getSelectedItem().toString());
+ }//GEN-LAST:event_buttonRaw1ActionPerformed
+
+ private void buttonRaw2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonRaw2ActionPerformed
+ showBlmRawData(comboBlm2.getSelectedItem().toString());
+ }//GEN-LAST:event_buttonRaw2ActionPerformed
+
+ private void buttonRaw3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonRaw3ActionPerformed
+ showBlmRawData(comboBlm3.getSelectedItem().toString());
+ }//GEN-LAST:event_buttonRaw3ActionPerformed
+
+ private void comboBlm1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboBlm1ActionPerformed
+ updateRawButtons();
+ }//GEN-LAST:event_comboBlm1ActionPerformed
+
+ private void comboBlm3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboBlm3ActionPerformed
+ updateRawButtons();
+ }//GEN-LAST:event_comboBlm3ActionPerformed
+
+ private void comboBlm2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboBlm2ActionPerformed
+ updateRawButtons();
+ }//GEN-LAST:event_comboBlm2ActionPerformed
+
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAbort;
private javax.swing.JButton buttonHoming;
@@ -943,8 +1086,12 @@ public class WireScan extends Panel {
private javax.swing.JButton buttonMoveStart;
private javax.swing.JButton buttonPark;
private javax.swing.JButton buttonParkAll;
+ private javax.swing.JButton buttonRaw1;
+ private javax.swing.JButton buttonRaw2;
+ private javax.swing.JButton buttonRaw3;
private javax.swing.JButton buttonScan;
private javax.swing.JButton buttonScannerPanel;
+ private javax.swing.JCheckBox checkSaveRaw;
private javax.swing.JComboBox comboBlm1;
private javax.swing.JComboBox comboBlm2;
private javax.swing.JComboBox comboBlm3;
@@ -977,6 +1124,7 @@ public class WireScan extends Panel {
private javax.swing.JLabel labelPosY;
private javax.swing.JLabel labelStartY;
private ch.psi.pshell.swing.Led ledHomed;
+ private javax.swing.JPanel panelLeft;
private ch.psi.pshell.swing.DeviceValuePanel panelPosition;
private ch.psi.pshell.swing.DeviceValuePanel panelPosition1;
private ch.psi.pshell.swing.DeviceValuePanel panelStatus;
diff --git a/script/Devices/Elements.py b/script/Devices/Elements.py
index 98f3033..74c6dea 100644
--- a/script/Devices/Elements.py
+++ b/script/Devices/Elements.py
@@ -286,6 +286,16 @@ def get_wire_scanners_blms(wire_scan):
ret.append(None)
return ret
-#for w in get_wire_scanners():
-# print w, get_wire_scanners_blms(w)
+def get_camera_type(camera_name):
+ if "LCAM" in camera_name: return "LASER"
+ if "DSCR" in camera_name or \
+ "DSRM" in camera_name or \
+ "DLAC" in camera_name: return "ELECTRONS"
+ if "PROF" in camera_name or \
+ "PPRM" in camera_name or \
+ "PSSS" in camera_name or \
+ "PSCR" in camera_name or \
+ "PSRD" in camera_name: return "PHOTONICS"
+ return "UNKNOWN"
+
diff --git a/script/Diagnostics/WireScan.py b/script/Diagnostics/WireScan.py
index b560e8d..49fe0e2 100644
--- a/script/Diagnostics/WireScan.py
+++ b/script/Diagnostics/WireScan.py
@@ -18,6 +18,7 @@ bpms = args[5] if is_panel else get_wire_scanners_bpms(prefix)
blms = args[6] if is_panel else get_wire_scanners_blms(prefix)
bkgrd = args[7] if is_panel else 10
plt = args[8] if is_panel else plot(None, title = "Wire Scan")[0]
+save_raw = args[9] if is_panel else False
do_elog = True if is_panel else True
print "WireScan parameters: ", prefix, scan_type, scan_range, cycles, velocity, bpms, blms, bkgrd
@@ -47,10 +48,12 @@ for i in range (len(blms)):
plt.addSeries(series)
series.setLinesVisible(False)
series.setPointSize(2)
+ if save_raw:
+ channels.append (("blm" + str(i+1) + "_raw" , blms[i] + ":LOSS_SIGNAL_RAW"))
for i in range (len(bpms)):
for sensor in BPM_SENSORS:
channels.append (("bpm" + str(i+1) + "_" + sensor[0], bpms[i] + ":" + sensor[1]))
-
+
#Metadata
set_attribute("/", "Wire Scanner", prefix)
set_attribute("/", "Scan Type", scan_type)
diff --git a/script/RFscan/GunEnergyScan.py b/script/RFscan/GunEnergyScan.py
index b168600..b81196f 100644
--- a/script/RFscan/GunEnergyScan.py
+++ b/script/RFscan/GunEnergyScan.py
@@ -151,3 +151,6 @@ if do_elog:
file_name = os.path.abspath(get_context().setup.getContextPath() + "/GunEnergyScanPlot.png")
plt.saveSnapshot(file_name , "png")
elog("Gun Energy Scan", log_msg, [file_name,])
+
+
+set_return(ph_dp_min)
\ No newline at end of file
diff --git a/script/RFscan/GunEnergyScanSet.py b/script/RFscan/GunEnergyScanSet.py
new file mode 100644
index 0000000..16ca057
--- /dev/null
+++ b/script/RFscan/GunEnergyScanSet.py
@@ -0,0 +1,24 @@
+dry_run = False
+do_elog = True
+
+if get_exec_pars().source == CommandSource.ui:
+ bph_ref_user = 19.0
+ plt = None
+else:
+ bph_ref_user = args[0]
+ plt = args[1]
+phase_offset_old = caget("SINEG01-RSYS:SET-VSUM-PHASE-OFFSET-BASE")
+phase_offset_new = 90 - bph_ref_user + phaseOffset_old
+if not dry_run:
+ caput("SINEG01-RSYS:SET-VSUM-PHASE-OFFSET-BASE", phaseOffset_new)
+ caput("SINEG01-RSYS:CMD-LOAD-CALIB-BEAM", 1)
+if do_elog:
+ log_msg = "SINEG01-RSYS:SET-VSUM-PHASE-OFFSET-BASE: %0.2f" % phase_offset_new + " deg (was %0.2f" % phase_offset_old + " deg)\n"
+ attachments = []
+ if plt is not None:
+ sleep(0.1) #Give some time to plot to be finished - it is not sync with acquisition
+ file_name = os.path.abspath(get_context().setup.getContextPath() + "/GunEnergyScanSet.png")
+ plt.saveSnapshot(file_name , "png")
+ attachments = [file_name]
+ elog("Set gun phase", log_msg, attachments)
+show_message("Success setting phase reference")
diff --git a/script/Tools/CameraTools.py b/script/Tools/CameraTools.py
index a441273..8a2e03e 100644
--- a/script/Tools/CameraTools.py
+++ b/script/Tools/CameraTools.py
@@ -1,10 +1,16 @@
import json
+import java.math.BigInteger as BigInteger
+import org.python.core.PyLong as PyLong
+import org.python.core.PyFloat as PyFloat
+import traceback
+import datetime
+
run("Devices/Elements")
def get_processing_parameters(stream_value):
return json.loads(stream_value.getValue("processing_parameters"))
-def _create_tables(paths, stream_value, data_type, shape):
+def _create_tables(paths, stream_value, data_type, shape, images):
root = paths["root"]
create_dataset(paths["image"], data_type, dimensions = [images, shape[0], shape[1]])
create_dataset(paths["pid"], 'l', dimensions = [images])
@@ -60,7 +66,7 @@ def _append_frame(paths, stream_value, index, data_type, shape):
print "Saved frame: ", index
-def _write_metadata(paths, camera, images = 1, interval = -1):
+def _write_metadata(paths, camera, images, interval):
root = paths["root"]
set_attribute(root, "Camera", camera)
set_attribute(root, "Images", images)
@@ -90,9 +96,8 @@ def save_camera_data(server, images = 1, interval = -1, root = "/camera1", paral
for i in range(images):
print i
if i==0:
- _create_tables(paths, stream_value, data_type, shape)
- _write_metadata(paths, camera, images, interval)
-
+ _create_tables(paths, stream_value, data_type, shape, images)
+ _write_metadata(paths, camera, images, interval)
start = time.time()
stream_value = server.stream.take()
if parallel:
diff --git a/script/Tools/save_camera_data.py b/script/Tools/save_camera_data.py
index a507b0d..ea61f37 100644
--- a/script/Tools/save_camera_data.py
+++ b/script/Tools/save_camera_data.py
@@ -1,10 +1,5 @@
import ch.psi.pshell.imaging.ImageBuffer as ImageBuffer
-import java.math.BigInteger as BigInteger
-import org.python.core.PyLong as PyLong
-import org.python.core.PyFloat as PyFloat
import json
-import traceback
-import datetime
import ch.psi.pshell.bs.PipelineServer as PipelineServer
import ch.psi.pshell.imaging.Colormap as Colormap
diff --git a/script/local.py b/script/local.py
index 274c113..4ad8840 100755
--- a/script/local.py
+++ b/script/local.py
@@ -58,19 +58,6 @@ def is_timing_ok():
def get_repetition_rate():
return caget("SIN-TIMAST-TMA:Evt-15-Freq-I")
-
-def bsget(channel):
- """
- """
- st = Stream(None, dispatcher)
- try:
- st.addScalar(channel, channel, 10, 0)
- st.initialize()
- st.start();
- st.waitValueNot(None, 5000)
- return st.getValue(channel)
- finally:
- st.close()
###################################################################################################
diff --git a/script/test/GunEnergyScanSet.py b/script/test/GunEnergyScanSet.py
index d6ace45..fee132e 100644
--- a/script/test/GunEnergyScanSet.py
+++ b/script/test/GunEnergyScanSet.py
@@ -2,7 +2,7 @@ dry_run = True
do_elog = True
if get_exec_pars().source == CommandSource.ui:
- bph_ref_user = 0.0
+ bph_ref_user = 19.0
plt = None
else:
bph_ref_user = args[0]
@@ -13,13 +13,11 @@ if not dry_run:
caput("SINEG01-RSYS:SET-VSUM-PHASE-OFFSET-BASE", phaseOffset_new)
caput("SINEG01-RSYS:CMD-LOAD-CALIB-BEAM", 1)
if do_elog:
- log_msg = "SINEG01-RSYS:SET-VSUM-PHASE-OFFSET-BASE \n"
- log_msg = log_msg + "Old: %0.1f" % phaseOffset_old + " deg \n"
- log_msg = log_msg + "New: %0.1f" % phaseOffset_new + " deg \n"
+ log_msg = "SINEG01-RSYS:SET-VSUM-PHASE-OFFSET-BASE: %0.2f" % phase_offset_new + " deg (was %0.2f" % phase_offset_old + " deg)\n"
attachments = []
if plt is not None:
sleep(0.1) #Give some time to plot to be finished - it is not sync with acquisition
- file_name = os.path.abspath(get_context().setup.getContextPath() + "/SchottkyScanSetPlot.png")
+ file_name = os.path.abspath(get_context().setup.getContextPath() + "/GunEnergyScanSet.png")
plt.saveSnapshot(file_name , "png")
attachments = [file_name]
elog("Set gun phase", log_msg, attachments)
diff --git a/script/test/lin1 phase.py b/script/test/lin1 phase.py
new file mode 100644
index 0000000..ef27df9
--- /dev/null
+++ b/script/test/lin1 phase.py
@@ -0,0 +1,4 @@
+devlist = ['01', '02', '03', '04', '05', '06', '07', '08']
+
+for dev in devlist:
+ caput("S10CB" + dev + "-RSYS:SET-BEAM-PHASE", 83.5)
\ No newline at end of file