Include setrting beam on delay
This commit is contained in:
@@ -233,6 +233,9 @@
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="ch.psi.pshell.ui.CamServerViewer" name="camServerViewer">
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new MyCamServerViewer()"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
|
||||
<BorderConstraints direction="Center"/>
|
||||
|
||||
@@ -53,7 +53,64 @@ public class ScreenPanel extends Panel implements CamServerViewer.CamServerViewe
|
||||
DiscretePositioner filter;
|
||||
final Logger logger;
|
||||
|
||||
|
||||
class MyCamServerViewer extends CamServerViewer{
|
||||
public void grabBackground() throws Exception {
|
||||
if (getCamera() != null) {
|
||||
boolean laserOn1 = false;
|
||||
boolean laserOn2 = false;
|
||||
OptionResult ret = SwingUtils.showOption(getTopLevel(), "Capture Background", "Do you want to check laser on delay?", OptionType.YesNoCancel);
|
||||
if (ret == OptionResult.Yes){
|
||||
laserOn1 = getLaserState(1);
|
||||
laserOn2 = getLaserState(2);
|
||||
if (laserOn1 || laserOn2) {
|
||||
if (laserOn1){
|
||||
ret = SwingUtils.showOption(getTopLevel(), "Capture Background", "Do you want to put Bunch 1 laser on delay for capturing background?", OptionType.YesNoCancel);
|
||||
if (ret == OptionResult.No) {
|
||||
laserOn1 = false;
|
||||
}
|
||||
if (ret == OptionResult.Cancel) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (laserOn2){
|
||||
ret = SwingUtils.showOption(getTopLevel(), "Capture Background", "Do you want to put Bunch 2 laser on delay for capturing background?", OptionType.YesNoCancel);
|
||||
if (ret == OptionResult.No) {
|
||||
laserOn2= false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ret == OptionResult.Cancel) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (laserOn1) {
|
||||
setLaserState(1,false);
|
||||
}
|
||||
if (laserOn2) {
|
||||
setLaserState(2,false);
|
||||
}
|
||||
|
||||
try {
|
||||
System.out.println("Grabbing background for: " + getDisplayName());
|
||||
if (getServer() != null) {
|
||||
getServer().captureBackground(5);
|
||||
} else {
|
||||
getCamera().captureBackground(5, 0);
|
||||
}
|
||||
} finally {
|
||||
if (laserOn1) {
|
||||
setLaserState(1,true);
|
||||
}
|
||||
if (laserOn2) {
|
||||
setLaserState(2,true);
|
||||
}
|
||||
}
|
||||
SwingUtils.showMessage(getTopLevel(), "Success", "Success capturing background", 5000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ScreenPanel() {
|
||||
logger = Logger.getLogger(getClass().getName());
|
||||
@@ -357,17 +414,13 @@ public class ScreenPanel extends Panel implements CamServerViewer.CamServerViewe
|
||||
|
||||
boolean getLaserState(int bunch) throws Exception {
|
||||
//return (Epics.get("SIN-TIMAST-TMA:Beam-Las-Delay-Sel", Integer.class) == 0);
|
||||
try{
|
||||
if (bunch<=0){
|
||||
return getLaserState(1) && getLaserState(2);
|
||||
}
|
||||
if (bunch==2){
|
||||
return (Epics.get("SWISSFEL-STATUS:Bunch-2-OnDelay-Sel", Integer.class) == 0);
|
||||
}
|
||||
return (Epics.get("SWISSFEL-STATUS:Bunch-1-OnDelay-Sel", Integer.class) == 0);
|
||||
} catch (Exception ex){
|
||||
return false;
|
||||
if (bunch<=0){
|
||||
return getLaserState(1) && getLaserState(2);
|
||||
}
|
||||
if (bunch==2){
|
||||
return (Epics.get("SWISSFEL-STATUS:Bunch-2-OnDelay-Sel", Integer.class) == 0);
|
||||
}
|
||||
return (Epics.get("SWISSFEL-STATUS:Bunch-1-OnDelay-Sel", Integer.class) == 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -392,7 +445,7 @@ public class ScreenPanel extends Panel implements CamServerViewer.CamServerViewe
|
||||
buttonPulse1 = new javax.swing.JButton();
|
||||
buttonPulse2 = new javax.swing.JButton();
|
||||
textPulse = new javax.swing.JTextField();
|
||||
camServerViewer = new ch.psi.pshell.ui.CamServerViewer();
|
||||
camServerViewer = new MyCamServerViewer();
|
||||
|
||||
setPreferredSize(new java.awt.Dimension(873, 600));
|
||||
setLayout(new java.awt.BorderLayout());
|
||||
|
||||
Reference in New Issue
Block a user