|
|
|
|
@@ -1,4 +1,4 @@
|
|
|
|
|
package ch.psi.pshell.swing;
|
|
|
|
|
import ch.psi.pshell.swing.*;
|
|
|
|
|
|
|
|
|
|
import ch.psi.pshell.device.Device;
|
|
|
|
|
import ch.psi.pshell.device.DeviceAdapter;
|
|
|
|
|
@@ -118,6 +118,7 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
getDevice().getSpectrum().addListener(spectrumListener);
|
|
|
|
|
//cameraPanel.startTimer(3000, 0);
|
|
|
|
|
startTimer(3000, 0);
|
|
|
|
|
getDevice().getSpectrum().updateAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -131,6 +132,7 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
DeviceListener spectrumListener = new DeviceAdapter() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onValueChanged(final Device device, final Object value, final Object former) {
|
|
|
|
|
@@ -139,6 +141,7 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void onHide() {
|
|
|
|
|
@@ -162,6 +165,7 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
public class DeviceData {
|
|
|
|
|
|
|
|
|
|
double[] spectrum;
|
|
|
|
|
double[] spectrumX;
|
|
|
|
|
LensMode lensMode;
|
|
|
|
|
ElementSet elementSet;
|
|
|
|
|
AcquisitionMode acquisitionMode;
|
|
|
|
|
@@ -187,7 +191,8 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
DeviceData dd = new DeviceData();
|
|
|
|
|
//read-once
|
|
|
|
|
|
|
|
|
|
dd.spectrum = getDevice().getSpectrum().getValue();
|
|
|
|
|
dd.spectrum = getDevice().getSpectrum().read();
|
|
|
|
|
dd.spectrumX = getDevice().getSpectrumX();
|
|
|
|
|
|
|
|
|
|
dd.lensMode = getDevice().getLensMode();
|
|
|
|
|
dd.elementSet = getDevice().getElementSet();
|
|
|
|
|
@@ -208,6 +213,7 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
dd.current = getDevice().getCurrentChannel().getValue().intValue();
|
|
|
|
|
dd.total = getDevice().getTotalChannels().getValue().intValue();
|
|
|
|
|
dd.iterations = getDevice().getIterations();
|
|
|
|
|
|
|
|
|
|
return dd;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -233,8 +239,6 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
protected void onBackgroundUpdateFinished(Object data) {
|
|
|
|
|
DeviceData dd = (DeviceData) data;
|
|
|
|
|
|
|
|
|
|
updateSpectrum();
|
|
|
|
|
|
|
|
|
|
updateValueField(valueLow, dd.low);
|
|
|
|
|
updateValueField(valueCenter, dd.center);
|
|
|
|
|
updateValueField(valueHigh, dd.high);
|
|
|
|
|
@@ -253,6 +257,21 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
updateComboField(comboEnergy, dd.energyMode);
|
|
|
|
|
updateComboField(comboElement, dd.elementSet);
|
|
|
|
|
updateComboField(comboPass, dd.pass);
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
if ((dd.spectrum == null)||(dd.spectrumX==null)) {
|
|
|
|
|
throw new Exception("Invalid spectrum");
|
|
|
|
|
}
|
|
|
|
|
if (dd.spectrumX.length<dd.spectrum.length){
|
|
|
|
|
throw new Exception("Invalid spectrum x size: " + dd.spectrumX.length + " - y size: " + dd.spectrum.length);
|
|
|
|
|
}
|
|
|
|
|
spectrumSeries.setData(dd.spectrumX, dd.spectrum);
|
|
|
|
|
plot.updateSeries(spectrumSeries);
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
getLogger().log(Level.FINE, null, ex);
|
|
|
|
|
spectrumSeries.clear();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
progress.setValue((int) (getDevice().getProgress() * 1000));
|
|
|
|
|
@@ -261,10 +280,17 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
volatile boolean spectrumUpdateRequested;
|
|
|
|
|
void updateSpectrum() {
|
|
|
|
|
try {
|
|
|
|
|
spectrumUpdateRequested=false;
|
|
|
|
|
double[] ySpectrum=getDevice().getSpectrum().take();
|
|
|
|
|
double[] xSpectrum = getDevice().getSpectrumX();
|
|
|
|
|
if (xSpectrum != null) {
|
|
|
|
|
if ((xSpectrum != null)&&(ySpectrum!=null)) {
|
|
|
|
|
if (xSpectrum.length<ySpectrum.length){
|
|
|
|
|
throw new Exception("Invalid spectrum x size: " + xSpectrum.length + " - y size: " + ySpectrum.length);
|
|
|
|
|
}
|
|
|
|
|
spectrumSeries.setData(xSpectrum, getDevice().getSpectrum().take());
|
|
|
|
|
plot.updateSeries(spectrumSeries);
|
|
|
|
|
return;
|
|
|
|
|
@@ -274,6 +300,7 @@ public final class ScientaPanel extends DevicePanel {
|
|
|
|
|
}
|
|
|
|
|
spectrumSeries.clear();
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* This method is called from within the constructor to initialize the form. WARNING: Do NOT
|
|
|
|
|
|