Include setrting beam on delay

This commit is contained in:
2023-05-25 08:58:12 +02:00
parent abe3bcb19c
commit e63396f6b7
2 changed files with 68 additions and 12 deletions

View File

@@ -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"/>

View File

@@ -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());