Closedown

This commit is contained in:
gac-x03da
2022-08-04 16:32:06 +02:00
parent b3af6aa114
commit 134b0e7674
10 changed files with 222 additions and 101 deletions

View File

@@ -7,6 +7,7 @@ import ch.psi.pshell.device.DeviceAdapter;
import ch.psi.pshell.device.Motor;
import ch.psi.pshell.epics.Scienta;
import ch.psi.pshell.ui.Panel;
import ch.psi.pshell.ui.ScriptProcessor;
import ch.psi.utils.State;
import ch.psi.utils.swing.SwingUtils;
import java.awt.Component;
@@ -14,6 +15,7 @@ import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JCheckBox;
import javax.swing.JSpinner;
import javax.swing.JToggleButton;
@@ -22,7 +24,7 @@ import javax.swing.SpinnerNumberModel;
/**
*
*/
public class HoloScan extends Panel {
public class HoloScan extends ScriptProcessor {
public HoloScan() {
initComponents();
@@ -115,8 +117,14 @@ public class HoloScan extends Panel {
buttonScientaSetup.setEnabled(value);
}
@Override
public String getScript() {
return "HoloScan";
}
void startScan() throws Exception{
@Override
public Map<String, Object> getArgs() {
HashMap<String, Object> args = new HashMap<>();
ArrayList<String> sensors = new ArrayList();
for (Component c : panelSensors.getComponents()) {
@@ -139,10 +147,9 @@ public class HoloScan extends Panel {
args.put("LATENCY", (Double) 0.0);
args.put("RELATIVE", false);
args.put("ZIGZAG", checkZigzag.isSelected());
args.put("ENDSCAN", checkEndScan.isSelected());
runAsync("HoloScan", args);
}
args.put("ENDSCAN", checkEndScan.isSelected());
return args;
}
@SuppressWarnings("unchecked")
@@ -198,6 +205,7 @@ public class HoloScan extends Panel {
dvpAcqTime = new ch.psi.pshell.swing.DeviceValuePanel();
labelTotalTime = new javax.swing.JLabel();
textTotalTime = new javax.swing.JLabel();
buttonQueue = new javax.swing.JButton();
panelPositioners.setBorder(javax.swing.BorderFactory.createTitledBorder("Positioners"));
panelPositioners.setPreferredSize(new java.awt.Dimension(248, 543));
@@ -273,7 +281,7 @@ public class HoloScan extends Panel {
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(motorPanelPhi, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelPositionersLayout.createSequentialGroup()
.addGap(0, 32, Short.MAX_VALUE)
.addGap(0, 36, Short.MAX_VALUE)
.addGroup(panelPositionersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelPositionersLayout.createSequentialGroup()
.addGroup(panelPositionersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -371,7 +379,7 @@ public class HoloScan extends Panel {
.addComponent(jLabel14))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(checkZigzag)
.addContainerGap(103, Short.MAX_VALUE))
.addContainerGap(99, Short.MAX_VALUE))
);
panelSensors.setBorder(javax.swing.BorderFactory.createTitledBorder("Sensors"));
@@ -440,7 +448,7 @@ public class HoloScan extends Panel {
.addGroup(panelSensorsLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelSensorsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(buttonScientaSetup, javax.swing.GroupLayout.DEFAULT_SIZE, 212, Short.MAX_VALUE)
.addComponent(buttonScientaSetup, javax.swing.GroupLayout.DEFAULT_SIZE, 208, Short.MAX_VALUE)
.addComponent(checkImage)
.addComponent(checkImageIntegration)
.addComponent(checkSpectrum)
@@ -518,6 +526,13 @@ public class HoloScan extends Panel {
textTotalTime.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
textTotalTime.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
buttonQueue.setText("Queue");
buttonQueue.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonQueueActionPerformed(evt);
}
});
javax.swing.GroupLayout panelScanLayout = new javax.swing.GroupLayout(panelScan);
panelScan.setLayout(panelScanLayout);
panelScanLayout.setHorizontalGroup(
@@ -535,10 +550,11 @@ public class HoloScan extends Panel {
.addGroup(panelScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textTotalTime, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(dvpAcqTime, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 1, Short.MAX_VALUE))
.addGap(0, 6, Short.MAX_VALUE))
.addGroup(panelScanLayout.createSequentialGroup()
.addComponent(checkEndScan)
.addGap(53, 53, 53)))
.addGap(53, 53, 53))
.addComponent(buttonQueue, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
@@ -553,7 +569,9 @@ public class HoloScan extends Panel {
.addComponent(buttonStart)
.addGap(18, 18, 18)
.addComponent(buttonAbort)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 170, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonQueue)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelAcqTime)
.addComponent(dvpAcqTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
@@ -561,7 +579,7 @@ public class HoloScan extends Panel {
.addGroup(panelScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(textTotalTime)
.addComponent(labelTotalTime))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 168, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(checkEndScan)
.addGap(26, 26, 26))
);
@@ -606,7 +624,7 @@ public class HoloScan extends Panel {
private void buttonStartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonStartActionPerformed
try{
startScan();
execute();
} catch (Exception ex){
SwingUtils.showException(this, ex);
}
@@ -625,10 +643,19 @@ public class HoloScan extends Panel {
setEnabled(isEnabled());
}//GEN-LAST:event_radioStepSizeActionPerformed
private void buttonQueueActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonQueueActionPerformed
try {
queue();
} catch (Exception ex) {
SwingUtils.showException(this, ex);
}
}//GEN-LAST:event_buttonQueueActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAbort;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JButton buttonQueue;
private javax.swing.JButton buttonScientaSetup;
private javax.swing.JButton buttonStart;
private javax.swing.JCheckBox checkAngleDistribution;