Startup
This commit is contained in:
@@ -101,6 +101,7 @@ public class ScreenPanel extends Panel {
|
||||
Overlay[] userOv;
|
||||
Overlay[] fitOv;
|
||||
Overlay errorOverlay;
|
||||
boolean requestCameraListUpdate;
|
||||
|
||||
Double getCamtoolDouble(String name) {
|
||||
return (Double) Convert.toDouble(((Camtool) camera).getValue(name));
|
||||
@@ -330,6 +331,7 @@ public class ScreenPanel extends Panel {
|
||||
try {
|
||||
if (App.hasArgument("cam")) {
|
||||
setComboCameraSelection(App.getArgumentValue("cam"));
|
||||
comboCamerasActionPerformed(null);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
@@ -558,6 +560,9 @@ public class ScreenPanel extends Panel {
|
||||
filter = null;
|
||||
}
|
||||
}
|
||||
if (cameraName==null){
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
Path configFile = Paths.get(CONFIG_FOLDER, cameraName + ".json");
|
||||
@@ -711,7 +716,8 @@ public class ScreenPanel extends Panel {
|
||||
devicesInitTask = new Thread(() -> {
|
||||
try {
|
||||
screen = new DiscretePositioner("CurrentScreen", cameraName + ":SET_SCREEN1_POS", cameraName + ":GET_SCREEN1_POS");
|
||||
screen.initialize();
|
||||
screen.setMonitored(true);
|
||||
screen.initialize();
|
||||
DefaultComboBoxModel model = new DefaultComboBoxModel();
|
||||
for (String pos : screen.getPositions()) {
|
||||
model.addElement(pos);
|
||||
@@ -729,7 +735,8 @@ public class ScreenPanel extends Panel {
|
||||
|
||||
try {
|
||||
filter = new DiscretePositioner("CurrentFilter", cameraName + ":SET_FILTER", cameraName + ":GET_FILTER");
|
||||
filter.initialize();
|
||||
filter.setMonitored(true);
|
||||
filter.initialize();
|
||||
DefaultComboBoxModel model = new DefaultComboBoxModel();
|
||||
for (String pos : filter.getPositions()) {
|
||||
model.addElement(pos);
|
||||
@@ -740,9 +747,9 @@ public class ScreenPanel extends Panel {
|
||||
System.err.println(ex.getMessage());
|
||||
filter = null;
|
||||
}
|
||||
comboFilter.setEnabled(filter != null);
|
||||
comboFilter.setEnabled(filter != null);
|
||||
valueFilter.setDevice(filter);
|
||||
});
|
||||
});
|
||||
devicesInitTask.start();
|
||||
}
|
||||
|
||||
@@ -2104,6 +2111,14 @@ public class ScreenPanel extends Panel {
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (requestCameraListUpdate){
|
||||
requestCameraListUpdate = false;
|
||||
try {
|
||||
updateCameraList();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
try {
|
||||
setCamera(cameraName);
|
||||
} catch (Exception ex) {
|
||||
@@ -2316,7 +2331,7 @@ public class ScreenPanel extends Panel {
|
||||
private void buttonCamtoolActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonCamtoolActionPerformed
|
||||
if (!usingCamtool){
|
||||
usingCamtool = true;
|
||||
updateCameraList();
|
||||
requestCameraListUpdate = true;
|
||||
}
|
||||
comboCamerasActionPerformed(null);
|
||||
}//GEN-LAST:event_buttonCamtoolActionPerformed
|
||||
@@ -2324,37 +2339,50 @@ public class ScreenPanel extends Panel {
|
||||
private void buttonDirectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonDirectActionPerformed
|
||||
if (usingCamtool){
|
||||
usingCamtool = false;
|
||||
updateCameraList();
|
||||
requestCameraListUpdate = true;
|
||||
}
|
||||
comboCamerasActionPerformed(null);
|
||||
}//GEN-LAST:event_buttonDirectActionPerformed
|
||||
|
||||
private void comboScreenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboScreenActionPerformed
|
||||
ChannelInteger setpoint = null;
|
||||
try {
|
||||
int index = comboScreen.getSelectedIndex();
|
||||
setpoint = new ChannelInteger(null, cameraName + ":SET_SCREEN1_POS");
|
||||
setpoint.initialize();
|
||||
if (setpoint.read() != index) {
|
||||
boolean laserOn = getLaserState();
|
||||
if (laserOn) {
|
||||
setLaserState(false);
|
||||
}
|
||||
try {
|
||||
setpoint.write(index);
|
||||
} finally {
|
||||
if (laserOn) {
|
||||
setLaserState(true);
|
||||
|
||||
comboScreen.setEnabled(false);
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ChannelInteger setpoint = null;
|
||||
try {
|
||||
int index = comboScreen.getSelectedIndex();
|
||||
setpoint = new ChannelInteger(null, cameraName + ":SET_SCREEN1_POS");
|
||||
setpoint.initialize();
|
||||
if (setpoint.read() != index) {
|
||||
setpoint.write(index);
|
||||
//Must be threaded to control the laser because of sleep in setLaserState
|
||||
/*
|
||||
boolean laserOn = getLaserState();
|
||||
if (laserOn) {
|
||||
setLaserState(false);
|
||||
}
|
||||
try {
|
||||
setpoint.write(index);
|
||||
} finally {
|
||||
if (laserOn) {
|
||||
setLaserState(true);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
screen.read();
|
||||
} catch (Exception ex) {
|
||||
showException(ex);
|
||||
} finally {
|
||||
comboScreen.setEnabled(true);
|
||||
if (setpoint != null) {
|
||||
setpoint.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
screen.read();
|
||||
} catch (Exception ex) {
|
||||
showException(ex);
|
||||
}
|
||||
if (setpoint != null) {
|
||||
setpoint.close();
|
||||
}
|
||||
}).start();
|
||||
}//GEN-LAST:event_comboScreenActionPerformed
|
||||
|
||||
private void comboFilterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboFilterActionPerformed
|
||||
|
||||
Reference in New Issue
Block a user