Closedown
This commit is contained in:
@@ -13,10 +13,12 @@ import ch.psi.pshell.ui.Panel;
|
||||
import ch.psi.pshell.ui.Plugin;
|
||||
import ch.psi.utils.Convert;
|
||||
import ch.psi.utils.State;
|
||||
import java.awt.Component;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.logging.Level;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -35,9 +37,9 @@ public class GunSolenoidAlignment extends Panel {
|
||||
if (running) {
|
||||
double x = (Double) record.getValues()[0];
|
||||
double y = (Double) record.getValues()[1];
|
||||
double error_x = (Double) record.getValues()[2];
|
||||
double error_y = (Double) record.getValues()[3];
|
||||
scanSeries.appendData(x, y, error_x, error_y);
|
||||
double stdev_x = (Double) record.getValues()[2];
|
||||
double stdev_y = (Double) record.getValues()[3];
|
||||
scanSeries.appendData(x, y, stdev_x, stdev_y);
|
||||
progressBar.setValue((int) (1000.0 * record.getIndex() / scan.getNumberOfRecords()));
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
@@ -62,6 +64,15 @@ public class GunSolenoidAlignment extends Panel {
|
||||
if (state != State.Busy) {
|
||||
running = false;
|
||||
}
|
||||
|
||||
for (Component c : panelParameters.getComponents()) {
|
||||
if (!(c instanceof JPanel)){
|
||||
c.setEnabled(state == State.Ready);
|
||||
}
|
||||
}
|
||||
if (state == State.Ready){
|
||||
checkBackgroundActionPerformed(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -79,13 +90,30 @@ public class GunSolenoidAlignment extends Panel {
|
||||
|
||||
void onEndScan(ScanResult sr, List hx, List hy) {
|
||||
progressBar.setValue(1000);
|
||||
//double[] x =(double[]) Convert.toDouble(sr.getReadable(0));
|
||||
//double[] y =(double[]) Convert.toDouble(sr.getReadable(1));
|
||||
double[] x = (double[]) Convert.toDouble(hx);
|
||||
double[] y = (double[]) Convert.toDouble(hy);
|
||||
LinePlotErrorSeries hull = new LinePlotErrorSeries(scanSeries.getName() + "H", scanSeries.getColor());
|
||||
centroidPlot.addSeries(hull);
|
||||
hull.setData((double[]) Convert.toDouble(x), (double[]) Convert.toDouble(y));
|
||||
hull.setData((double[]) Convert.toDouble(x), (double[]) Convert.toDouble(y));
|
||||
|
||||
//Add ELOG entry
|
||||
if (checkElog.isSelected()) {
|
||||
String file = Paths.get(getController().getSetup().getContextPath(), "CentroidPlot.jpg").toString();
|
||||
try {
|
||||
Thread.sleep(250); //Some time to plot update
|
||||
centroidPlot.saveSnapshot(file , "jpg");
|
||||
evalAsync("elog('Gun solenoid current scan', gsa_log_msg, ['"+ file +"',])").handle((ret, ex) -> {
|
||||
if (ex != null){
|
||||
getLogger().log(Level.WARNING, null, ex);
|
||||
} else {
|
||||
getLogger().info("Success generating ELOG entry");
|
||||
}
|
||||
return null;
|
||||
});
|
||||
} catch (Exception ex) {
|
||||
showException(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -95,7 +123,7 @@ public class GunSolenoidAlignment extends Panel {
|
||||
buttonGroupBack = new javax.swing.ButtonGroup();
|
||||
buttonRun = new javax.swing.JButton();
|
||||
buttonAbort = new javax.swing.JButton();
|
||||
jPanel1 = new javax.swing.JPanel();
|
||||
panelParameters = new javax.swing.JPanel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
spinnerI1 = new javax.swing.JSpinner();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
@@ -113,7 +141,6 @@ public class GunSolenoidAlignment extends Panel {
|
||||
jLabel6 = new javax.swing.JLabel();
|
||||
spinnerNumImages = new javax.swing.JSpinner();
|
||||
checkElog = new javax.swing.JCheckBox();
|
||||
checkZeroSolenoids = new javax.swing.JCheckBox();
|
||||
centroidPlot = new ch.psi.pshell.plot.LinePlotJFree();
|
||||
buttonClear = new javax.swing.JButton();
|
||||
progressBar = new javax.swing.JProgressBar();
|
||||
@@ -132,7 +159,7 @@ public class GunSolenoidAlignment extends Panel {
|
||||
}
|
||||
});
|
||||
|
||||
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Parameters"));
|
||||
panelParameters.setBorder(javax.swing.BorderFactory.createTitledBorder("Parameters"));
|
||||
|
||||
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
|
||||
jLabel1.setText("I1:");
|
||||
@@ -180,83 +207,81 @@ public class GunSolenoidAlignment extends Panel {
|
||||
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
|
||||
jLabel6.setText("Number of images:");
|
||||
|
||||
spinnerNumImages.setModel(new javax.swing.SpinnerNumberModel(0, 0, 10, 1));
|
||||
spinnerNumImages.setModel(new javax.swing.SpinnerNumberModel(1, 1, 100, 1));
|
||||
|
||||
checkElog.setSelected(true);
|
||||
checkElog.setText("ELOG");
|
||||
|
||||
checkZeroSolenoids.setText("Zero solenoids");
|
||||
|
||||
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
||||
jPanel1.setLayout(jPanel1Layout);
|
||||
jPanel1Layout.setHorizontalGroup(
|
||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
javax.swing.GroupLayout panelParametersLayout = new javax.swing.GroupLayout(panelParameters);
|
||||
panelParameters.setLayout(panelParametersLayout);
|
||||
panelParametersLayout.setHorizontalGroup(
|
||||
panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(spinnerI1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(spinnerI2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(spinnerStep, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(spinnerSettlingTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelParametersLayout.createSequentialGroup()
|
||||
.addComponent(jLabel5)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(spinnerNumBackgrounds, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(spinnerNumImages, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(radioBackSimple)
|
||||
.addComponent(checkBackground))
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addGap(36, 36, 36)
|
||||
.addComponent(radioBackMultiple))
|
||||
.addComponent(checkSaveImages)
|
||||
.addComponent(checkElog)
|
||||
.addComponent(checkZeroSolenoids))
|
||||
.addComponent(checkElog))
|
||||
.addGap(0, 0, Short.MAX_VALUE)))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerI1, spinnerI2, spinnerNumBackgrounds, spinnerNumImages, spinnerSettlingTime, spinnerStep});
|
||||
panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerI1, spinnerI2, spinnerNumBackgrounds, spinnerNumImages, spinnerSettlingTime, spinnerStep});
|
||||
|
||||
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel2, jLabel3, jLabel4, jLabel5, jLabel6});
|
||||
panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel2, jLabel3, jLabel4, jLabel5, jLabel6});
|
||||
|
||||
jPanel1Layout.setVerticalGroup(
|
||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
panelParametersLayout.setVerticalGroup(
|
||||
panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(panelParametersLayout.createSequentialGroup()
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel1)
|
||||
.addComponent(spinnerI1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel2)
|
||||
.addComponent(spinnerI2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel3)
|
||||
.addComponent(spinnerStep, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel4)
|
||||
.addComponent(spinnerSettlingTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(4, 4, 4)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel6)
|
||||
.addComponent(spinnerNumImages, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(18, 18, 18)
|
||||
@@ -266,16 +291,14 @@ public class GunSolenoidAlignment extends Panel {
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(radioBackMultiple)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel5)
|
||||
.addComponent(spinnerNumBackgrounds, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(57, 57, 57)
|
||||
.addComponent(checkSaveImages)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGap(50, 50, 50)
|
||||
.addComponent(checkElog)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(checkZeroSolenoids)
|
||||
.addContainerGap(34, Short.MAX_VALUE))
|
||||
.addComponent(checkSaveImages)
|
||||
.addContainerGap(69, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
centroidPlot.setLegendVisible(true);
|
||||
@@ -296,7 +319,7 @@ public class GunSolenoidAlignment extends Panel {
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(panelParameters, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
@@ -329,7 +352,7 @@ public class GunSolenoidAlignment extends Panel {
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(buttonClear)
|
||||
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addComponent(panelParameters, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
@@ -363,28 +386,13 @@ public class GunSolenoidAlignment extends Panel {
|
||||
args.put("number_backgrounds", spinnerNumBackgrounds.getValue());
|
||||
args.put("use_background", checkBackground.isSelected());
|
||||
args.put("multiple_background", radioBackMultiple.isSelected());
|
||||
args.put("zero_solenoids", checkZeroSolenoids.isSelected());
|
||||
args.put("do_elog", checkElog.isSelected());
|
||||
args.put("do_elog", Boolean.FALSE); // checkElog.isSelected()
|
||||
|
||||
|
||||
|
||||
((Plugin) this).runAsync("Alignment/Gun_solenoid_alignment", args).thenAccept((Object ret) -> {
|
||||
/*((Plugin) this).runAsync("Alignment/Gun_solenoid_alignment", args).handle((ret, ex) -> {
|
||||
if (ex != null){
|
||||
getLogger().log(Level.SEVERE, null, ex);
|
||||
return null;
|
||||
}
|
||||
*/
|
||||
runAsync("Alignment/Gun_solenoid_alignment", args).thenAccept((Object ret) -> {
|
||||
List l = (List) ret;
|
||||
System.out.print("Sucesss");
|
||||
getLogger().log(Level.INFO, "Succes");
|
||||
getLogger().log(Level.INFO, String.valueOf(l));
|
||||
System.out.print(l);
|
||||
onEndScan((ScanResult) l.get(0), (List) l.get(1), (List) l.get(2));
|
||||
//return null;
|
||||
onEndScan((ScanResult) l.get(0), (List) l.get(1), (List) l.get(2));
|
||||
});
|
||||
|
||||
|
||||
} catch (Exception ex) {
|
||||
running = false;
|
||||
showException(ex);
|
||||
@@ -415,14 +423,13 @@ public class GunSolenoidAlignment extends Panel {
|
||||
private javax.swing.JCheckBox checkBackground;
|
||||
private javax.swing.JCheckBox checkElog;
|
||||
private javax.swing.JCheckBox checkSaveImages;
|
||||
private javax.swing.JCheckBox checkZeroSolenoids;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel3;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
private javax.swing.JLabel jLabel5;
|
||||
private javax.swing.JLabel jLabel6;
|
||||
private javax.swing.JPanel jPanel1;
|
||||
private javax.swing.JPanel panelParameters;
|
||||
private javax.swing.JProgressBar progressBar;
|
||||
private javax.swing.JRadioButton radioBackMultiple;
|
||||
private javax.swing.JRadioButton radioBackSimple;
|
||||
|
||||
Reference in New Issue
Block a user