Startup
This commit is contained in:
@@ -329,10 +329,11 @@
|
||||
<Component class="javax.swing.JComboBox" name="comboSource">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||
<StringArray count="3">
|
||||
<StringItem index="0" value="camtool"/>
|
||||
<StringItem index="1" value="direct"/>
|
||||
<StringItem index="2" value="bpm"/>
|
||||
<StringArray count="4">
|
||||
<StringItem index="0" value="server"/>
|
||||
<StringItem index="1" value="camtool"/>
|
||||
<StringItem index="2" value="direct"/>
|
||||
<StringItem index="3" value="bpm"/>
|
||||
</StringArray>
|
||||
</Property>
|
||||
</Properties>
|
||||
|
||||
@@ -165,7 +165,7 @@ public class GunSolenoidAlignment extends Panel {
|
||||
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
|
||||
jLabel7.setText("Settling time:");
|
||||
|
||||
comboSource.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "camtool", "direct", "bpm" }));
|
||||
comboSource.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "server", "camtool", "direct", "bpm" }));
|
||||
|
||||
javax.swing.GroupLayout panelParametersLayout = new javax.swing.GroupLayout(panelParameters);
|
||||
panelParameters.setLayout(panelParametersLayout);
|
||||
|
||||
@@ -315,10 +315,11 @@
|
||||
<Component class="javax.swing.JComboBox" name="comboSource">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||
<StringArray count="3">
|
||||
<StringItem index="0" value="camtool"/>
|
||||
<StringItem index="1" value="direct"/>
|
||||
<StringItem index="2" value="bpm"/>
|
||||
<StringArray count="4">
|
||||
<StringItem index="0" value="server"/>
|
||||
<StringItem index="1" value="camtool"/>
|
||||
<StringItem index="2" value="direct"/>
|
||||
<StringItem index="3" value="bpm"/>
|
||||
</StringArray>
|
||||
</Property>
|
||||
</Properties>
|
||||
|
||||
@@ -165,7 +165,7 @@ public class LaserGunAlignment extends Panel {
|
||||
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
|
||||
jLabel7.setText("Source:");
|
||||
|
||||
comboSource.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "camtool", "direct", "bpm" }));
|
||||
comboSource.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "server", "camtool", "direct", "bpm" }));
|
||||
|
||||
javax.swing.GroupLayout panelParametersLayout = new javax.swing.GroupLayout(panelParameters);
|
||||
panelParameters.setLayout(panelParametersLayout);
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
<Component class="javax.swing.JSpinner" name="spinnerStep">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
|
||||
<SpinnerModel initial="5.0" maximum="90.0" minimum="1.0" numberType="java.lang.Double" stepSize="1.0" type="number"/>
|
||||
<SpinnerModel initial="5.0" maximum="20.0" minimum="0.1" numberType="java.lang.Double" stepSize="0.1" type="number"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
@@ -177,7 +177,7 @@
|
||||
<Component class="javax.swing.JSpinner" name="spinnerStop">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
|
||||
<SpinnerModel initial="180.0" maximum="360.0" minimum="-180.0" numberType="java.lang.Double" stepSize="1.0" type="number"/>
|
||||
<SpinnerModel initial="150.0" maximum="360.0" minimum="-180.0" numberType="java.lang.Double" stepSize="1.0" type="number"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
@@ -196,7 +196,7 @@
|
||||
<Component class="javax.swing.JSpinner" name="spinnerLatency">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
|
||||
<SpinnerModel initial="0.1" maximum="5.0" minimum="0.0" numberType="java.lang.Double" stepSize="0.01" type="number"/>
|
||||
<SpinnerModel initial="0.15" maximum="5.0" minimum="0.0" numberType="java.lang.Double" stepSize="0.01" type="number"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
@@ -216,7 +216,7 @@
|
||||
<Component class="javax.swing.JSpinner" name="spinnerStart">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
|
||||
<SpinnerModel initial="0.0" maximum="360.0" minimum="-180.0" numberType="java.lang.Double" stepSize="1.0" type="number"/>
|
||||
<SpinnerModel initial="-10.0" maximum="360.0" minimum="-180.0" numberType="java.lang.Double" stepSize="1.0" type="number"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
@@ -278,7 +278,7 @@
|
||||
<Component class="javax.swing.JSpinner" name="spinnerPhaseRef">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
|
||||
<SpinnerModel initial="0.0" maximum="360.0" minimum="-180.0" numberType="java.lang.Double" stepSize="1.0" type="number"/>
|
||||
<SpinnerModel initial="0.0" maximum="360.0" minimum="-180.0" numberType="java.lang.Double" stepSize="0.1" type="number"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
|
||||
@@ -102,7 +102,7 @@ public class SchottkyScan extends Panel {
|
||||
|
||||
panelPars.setBorder(javax.swing.BorderFactory.createTitledBorder("Parameters (beam phase)"));
|
||||
|
||||
spinnerStep.setModel(new javax.swing.SpinnerNumberModel(5.0d, 1.0d, 90.0d, 1.0d));
|
||||
spinnerStep.setModel(new javax.swing.SpinnerNumberModel(5.0d, 0.1d, 20.0d, 0.1d));
|
||||
|
||||
labelLatency.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelLatency.setText("Latency:");
|
||||
@@ -110,7 +110,7 @@ public class SchottkyScan extends Panel {
|
||||
labelStart.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelStart.setText("Start:");
|
||||
|
||||
spinnerStop.setModel(new javax.swing.SpinnerNumberModel(180.0d, -180.0d, 360.0d, 1.0d));
|
||||
spinnerStop.setModel(new javax.swing.SpinnerNumberModel(150.0d, -180.0d, 360.0d, 1.0d));
|
||||
|
||||
labelStep.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelStep.setText("Step size:");
|
||||
@@ -118,14 +118,14 @@ public class SchottkyScan extends Panel {
|
||||
labelStop.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelStop.setText("Stop:");
|
||||
|
||||
spinnerLatency.setModel(new javax.swing.SpinnerNumberModel(0.1d, 0.0d, 5.0d, 0.01d));
|
||||
spinnerLatency.setModel(new javax.swing.SpinnerNumberModel(0.15d, 0.0d, 5.0d, 0.01d));
|
||||
|
||||
spinnerSamples.setModel(new javax.swing.SpinnerNumberModel(1, 1, 50, 1));
|
||||
|
||||
labelSamples.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelSamples.setText("Nb Samples:");
|
||||
|
||||
spinnerStart.setModel(new javax.swing.SpinnerNumberModel(0.0d, -180.0d, 360.0d, 1.0d));
|
||||
spinnerStart.setModel(new javax.swing.SpinnerNumberModel(-10.0d, -180.0d, 360.0d, 1.0d));
|
||||
|
||||
javax.swing.GroupLayout panelParsLayout = new javax.swing.GroupLayout(panelPars);
|
||||
panelPars.setLayout(panelParsLayout);
|
||||
@@ -194,7 +194,7 @@ public class SchottkyScan extends Panel {
|
||||
labelRefPhase.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelRefPhase.setText("Ref Phase:");
|
||||
|
||||
spinnerPhaseRef.setModel(new javax.swing.SpinnerNumberModel(0.0d, -180.0d, 360.0d, 1.0d));
|
||||
spinnerPhaseRef.setModel(new javax.swing.SpinnerNumberModel(0.0d, -180.0d, 360.0d, 0.1d));
|
||||
spinnerPhaseRef.addChangeListener(new javax.swing.event.ChangeListener() {
|
||||
public void stateChanged(javax.swing.event.ChangeEvent evt) {
|
||||
spinnerPhaseRefStateChanged(evt);
|
||||
|
||||
+22
-14
@@ -2,6 +2,7 @@
|
||||
* Copyright (c) 2014 Paul Scherrer Institute. All rights reserved.
|
||||
*/
|
||||
|
||||
import ch.psi.pshell.bs.CameraServer;
|
||||
import ch.psi.pshell.core.Context;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Paths;
|
||||
@@ -14,6 +15,7 @@ import ch.psi.utils.swing.SwingUtils;
|
||||
import ch.psi.utils.swing.TextEditor;
|
||||
import ch.psi.pshell.bs.PipelineServer;
|
||||
import ch.psi.pshell.bs.StreamValue;
|
||||
import ch.psi.pshell.core.JsonSerializer;
|
||||
import ch.psi.pshell.device.DescStatsDouble;
|
||||
import ch.psi.pshell.device.Device;
|
||||
import ch.psi.pshell.epics.ChannelInteger;
|
||||
@@ -104,8 +106,7 @@ public class ScreenPanel extends Panel {
|
||||
String userOverlaysConfigFile;
|
||||
ColormapSource camera;
|
||||
PipelineServer server;
|
||||
String cameraName;
|
||||
String cameraConfigJson;
|
||||
String cameraName;
|
||||
int polling = 1000;
|
||||
Overlay marker = null;
|
||||
JDialog histogramDialog;
|
||||
@@ -450,16 +451,13 @@ public class ScreenPanel extends Panel {
|
||||
DefaultComboBoxModel getCameraList(boolean fromServer) throws Exception {
|
||||
DefaultComboBoxModel model = new DefaultComboBoxModel();
|
||||
if (fromServer){
|
||||
PipelineServer server = newServer();
|
||||
try {
|
||||
server.initialize();
|
||||
List<String> cameras = server.getCameras();
|
||||
try (PipelineServer srv = newServer()){
|
||||
srv.initialize();
|
||||
List<String> cameras = srv.getCameras();
|
||||
Collections.sort(cameras);
|
||||
for (String camera : cameras) {
|
||||
model.addElement(camera);
|
||||
}
|
||||
} finally {
|
||||
server.close();
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -625,10 +623,6 @@ public class ScreenPanel extends Panel {
|
||||
|
||||
|
||||
try {
|
||||
String configFolder = (String) getContext().getClassByName("SfCamera").getMethod("getConfigFolder", new Class[]{}).invoke(null);
|
||||
Path configFile = Paths.get(configFolder, cameraName + ".json");
|
||||
cameraConfigJson = configFile.toFile().exists() ? new String(Files.readAllBytes(configFile)) : null;
|
||||
|
||||
if (buttonServer.isSelected()) {
|
||||
camera = newServer();
|
||||
camera.getConfig().flipHorizontally = false;
|
||||
@@ -640,7 +634,7 @@ public class ScreenPanel extends Panel {
|
||||
camera.getConfig().roiHeight = -1;
|
||||
} else {
|
||||
//camera = new SfCamera(CAMERA_DEVICE_NAME, cameraName);
|
||||
camera = (ColormapSource) getContext().getClassByName("SfCamera").getConstructor(new Class[]{String.class, String.class}).newInstance(new Object[]{CAMERA_DEVICE_NAME, cameraName});
|
||||
camera = (ColormapSource) getContext().getClassByName("SfCamera").getConstructor(new Class[]{String.class, String.class}).newInstance(new Object[]{CAMERA_DEVICE_NAME, cameraName});
|
||||
}
|
||||
camera.initialize();
|
||||
camera.assertInitialized();
|
||||
@@ -2528,6 +2522,20 @@ public class ScreenPanel extends Panel {
|
||||
private void buttonArgsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonArgsActionPerformed
|
||||
try {
|
||||
if (camera != null) {
|
||||
String cameraConfigJson = null;
|
||||
if (usingServer){
|
||||
String cameraServerUrl = server.getUrl().substring(0, server.getUrl().length()-1) + "8";
|
||||
try (CameraServer srv = new CameraServer("CamServer", cameraServerUrl)){
|
||||
srv.initialize();
|
||||
//TODO: replace into encodeMultiline
|
||||
cameraConfigJson = JsonSerializer.encode(srv.getConfig(cameraName), true);
|
||||
}
|
||||
|
||||
} else {
|
||||
String configFolder = (String) getContext().getClassByName("SfCamera").getMethod("getConfigFolder", new Class[]{}).invoke(null);
|
||||
Path configFile = Paths.get(configFolder, cameraName + ".json");
|
||||
cameraConfigJson = configFile.toFile().exists() ? new String(Files.readAllBytes(configFile)) : null;
|
||||
}
|
||||
TextEditor editor = new TextEditor();
|
||||
editor.setText(cameraConfigJson);
|
||||
editor.setReadOnly(true);
|
||||
@@ -2628,7 +2636,7 @@ public class ScreenPanel extends Panel {
|
||||
try {
|
||||
System.out.println("Grabbing background for: " + cameraName);
|
||||
if (server!=null){
|
||||
server.captureBackground(cameraName, 5);
|
||||
server.captureBackground(5);
|
||||
} else {
|
||||
camera.captureBackground(5, 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user