diff --git a/src/main/java/ch/psi/mxsc/MainPanel.form b/src/main/java/ch/psi/mxsc/MainPanel.form
index c3aa852..9f0ec75 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.form
+++ b/src/main/java/ch/psi/mxsc/MainPanel.form
@@ -31,7 +31,7 @@
-
+
@@ -334,21 +334,21 @@
-
+
-
+
-
+
-
+
@@ -384,12 +384,12 @@
-
+
-
+
@@ -896,7 +896,7 @@
-
+
@@ -1004,9 +1004,9 @@
-
+
-
+
@@ -1018,7 +1018,7 @@
-
+
diff --git a/src/main/java/ch/psi/mxsc/MainPanel.java b/src/main/java/ch/psi/mxsc/MainPanel.java
index 66b6016..daf84b0 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.java
+++ b/src/main/java/ch/psi/mxsc/MainPanel.java
@@ -24,10 +24,12 @@ import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.Image;
import java.awt.Window;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.swing.GroupLayout;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
@@ -49,12 +51,12 @@ public class MainPanel extends Panel {
Boolean manualMode;
Boolean roomTemperature;
public final String PUCK_LOADING_STATUS = "Puck loading";
-
- public enum BasePlateLayout{
+
+ public enum BasePlateLayout {
normal,
sf
}
- public static final BasePlateLayout BASE_PLATE_LAYOUT = App.hasArgument("sf") ? BasePlateLayout.sf: BasePlateLayout.normal;
+ public static final BasePlateLayout BASE_PLATE_LAYOUT = App.hasArgument("sf") ? BasePlateLayout.sf : BasePlateLayout.normal;
public MainPanel() {
initComponents();
@@ -97,36 +99,36 @@ public class MainPanel extends Panel {
public void valueChanged(ListSelectionEvent e) {
try {
if (e.getValueIsAdjusting() == false) {
- int selection = tableSamples.getSelectedRow();
- if (selection>=0){
+ int selection = tableSamples.getSelectedRow();
+ if (selection >= 0) {
String add = String.valueOf(tableSamples.getModel().getValueAt(selection, COLUMN_PUCK_ADDRESS));
if (!add.trim().isEmpty()) {
int pos = -1;
- try{
+ try {
pos = Integer.valueOf(String.valueOf(tableSamples.getModel().getValueAt(selection, COLUMN_SAMPLE_POSITION)));
- } catch (Exception ex){
- }
+ } catch (Exception ex) {
+ }
String curSelection = Controller.getInstance().getCurrentSelection();
String curPuck = (curSelection == null) ? null : curSelection.substring(0, 2);
if (!add.equals(curPuck)) {
Puck puck = Controller.getInstance().getPuck(add);
Controller.getInstance().selectPuck(puck);
}
- if (pos>=0){
+ if (pos >= 0) {
add += pos;
if (!add.equals(curSelection)) {
Sample sample = Controller.getInstance().getSample(add);
Controller.getInstance().selectSample(sample);
- }
+ }
}
- }
+ }
}
}
} catch (Exception ex) {
showException(ex);
}
}
- });
+ });
}
@Override
@@ -136,7 +138,7 @@ public class MainPanel extends Panel {
SwingUtils.getWindow(this).setIconImage(img);
}
basePlatePanel.setSelectionMode(SelectionMode.Pucks);
- basePlatePanel.setDevice(Controller.getInstance().basePlate);
+ basePlatePanel.setDevice(Controller.getInstance().basePlate);
}
@Override
@@ -191,7 +193,7 @@ public class MainPanel extends Panel {
}
});
updateDryer(((Device) getDevice("gripper_dryer")).take());
-
+
((Device) getDevice("feedback_psys_safety")).addListener(new DeviceAdapter() {
@Override
public void onValueChanged(Device device, Object value, Object former) {
@@ -218,7 +220,7 @@ public class MainPanel extends Panel {
setPuckDatamatrix(null);
setSampleDatamatrix(null);
setBackgroundUpdate(true);
- startTimer(3000, 1000);
+ startTimer(3000, 1000);
updateCameraView();
}
@@ -229,7 +231,7 @@ public class MainPanel extends Panel {
@Override
protected void onTimer() {
- try{
+ try {
devicesPanel.update();
try {
roomTemperature = Controller.getInstance().isRoomTemp();
@@ -246,18 +248,18 @@ public class MainPanel extends Panel {
labelRoomTemperature.setText("Room Temperature");
}
try {
- if ((expertChrono!=null) && (expertChrono.isTimeout(10 * 60000))){ //After 10min
+ if ((expertChrono != null) && (expertChrono.isTimeout(10 * 60000))) { //After 10min
setExpertMode(false);
}
} catch (Exception ex) {
getLogger().log(Level.WARNING, null, ex);
}
-
+
Controller.getInstance().onTimer();
if (getState() == State.Ready) {
if (Boolean.TRUE.equals(Controller.getInstance().isPuckLoading())) {
- setStatus(PUCK_LOADING_STATUS);
- } else {
+ setStatus(PUCK_LOADING_STATUS);
+ } else {
setStatus("Ready");
}
} else {
@@ -265,20 +267,23 @@ public class MainPanel extends Panel {
}
} catch (Exception ex) {
getLogger().log(Level.WARNING, null, ex);
- }
+ }
}
-
+
String status;
- void setStatus (String status){
- if (!status.equals(this.status)){
+
+ void setStatus(String status) {
+ if (!status.equals(this.status)) {
getContext().setPreference(ViewPreference.STATUS, status);
this.status = status;
}
}
void refresh() {
- if (!SwingUtilities.isEventDispatchThread()){
- SwingUtilities.invokeLater(()->{refresh();});
+ if (!SwingUtilities.isEventDispatchThread()) {
+ SwingUtilities.invokeLater(() -> {
+ refresh();
+ });
return;
}
repaint();
@@ -328,7 +333,7 @@ public class MainPanel extends Panel {
ledLocalSafety.setColor(Color.RED);
}
}
-
+
void updateDryer(Object value) {
if ((value == null) || !(value instanceof Boolean)) {
ledDryer.setColor(Color.BLACK);
@@ -375,7 +380,7 @@ public class MainPanel extends Panel {
void execute(String statement, boolean background) {
execute(statement, background, false);
}
-
+
void execute(String statement, boolean background, boolean showReturn) {
execute(statement, background, showReturn, true);
}
@@ -385,7 +390,7 @@ public class MainPanel extends Panel {
getLogger().log(Level.INFO, "Execute: " + statement + (background ? "&" : ""));
evalAsync(statement, background).handle((ret, ex) -> {
if (ex != null) {
- if (showException){
+ if (showException) {
showException((Exception) ex);
}
} else if (showReturn) {
@@ -394,7 +399,7 @@ public class MainPanel extends Panel {
return ret;
});
} catch (Exception ex) {
- if (showException){
+ if (showException) {
showException(ex);
}
}
@@ -403,6 +408,7 @@ public class MainPanel extends Panel {
void execute(String script, Object args, boolean background, boolean showReturn) {
execute(script, args, background, showReturn, true);
}
+
void execute(String script, Object args, boolean background, boolean showReturn, boolean showException) {
try {
getLogger().log(Level.INFO, "Execute: " + script + (background ? "&" : ""));
@@ -415,8 +421,8 @@ public class MainPanel extends Panel {
return ret;
});
} catch (Exception ex) {
- if (showException){
- showException(ex);
+ if (showException) {
+ showException(ex);
}
}
}
@@ -482,7 +488,7 @@ public class MainPanel extends Panel {
buttonDrawing.setSelected(true);
updateViewType();
}
- if (current!=expert){
+ if (current != expert) {
onModeChange(expert);
}
}
@@ -538,14 +544,14 @@ public class MainPanel extends Panel {
}
final int COLUMN_PUCK_ADDRESS = 3;
- final int COLUMN_SAMPLE_POSITION = 5;
-
+ final int COLUMN_SAMPLE_POSITION = 5;
+
void setSamplesTable(Object[][] sampleData) {
tableSamples.setModel(new DefaultTableModel(
sampleData,
new String[]{
//"User Name", "Dewar Name",
- "Puck Name", "Puck Type", "Puck Id", "Puck Address",
+ "Puck Name", "Puck Type", "Puck Id", "Puck Address",
"Sample Name", "Sample Position", "Sample Id", "Sample Status", "Mount Count"
}
) {
@@ -571,8 +577,8 @@ public class MainPanel extends Panel {
for (int i = 0; i < tableSamples.getModel().getRowCount(); i++) {
if (add.equals(tableSamples.getModel().getValueAt(i, COLUMN_PUCK_ADDRESS))) {
- if (sample!=null){
- if (!sample.equals(tableSamples.getModel().getValueAt(i, COLUMN_SAMPLE_POSITION))){
+ if (sample != null) {
+ if (!sample.equals(tableSamples.getModel().getValueAt(i, COLUMN_SAMPLE_POSITION))) {
continue;
}
}
@@ -603,24 +609,24 @@ public class MainPanel extends Panel {
String ret = textSampleDatamatrix.getText();
return (ret != null) ? ret.trim() : "";
}
-
-
+
Chrono expertChrono;
final List expertWindows = new ArrayList<>();
- void onExpertCommand(Window window){
+
+ void onExpertCommand(Window window) {
expertChrono = new Chrono();
- if ((window!=null) && (!expertWindows.contains(window))){
+ if ((window != null) && (!expertWindows.contains(window))) {
expertWindows.add(window);
}
}
- void onModeChange(boolean expert){
- if (expert){
+ void onModeChange(boolean expert) {
+ if (expert) {
expertChrono = new Chrono();
} else {
- expertChrono = null;
- for (Window w : expertWindows){
- if ((w!=null) && (w.isShowing())){
+ expertChrono = null;
+ for (Window w : expertWindows) {
+ if ((w != null) && (w.isShowing())) {
w.setVisible(false);
w.dispose();
}
@@ -628,7 +634,6 @@ public class MainPanel extends Panel {
expertWindows.clear();
}
}
-
/**
* This method is called from within the constructor to initialize the form.
@@ -1566,7 +1571,7 @@ public class MainPanel extends Panel {
}//GEN-LAST:event_buttonCameraActionPerformed
private void buttonExpertCommandsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonExpertCommandsActionPerformed
- try {
+ try {
Panel panel = showCommandsPanel();
onExpertCommand(SwingUtils.getWindow(panel));
} catch (Exception ex) {
@@ -1627,8 +1632,8 @@ public class MainPanel extends Panel {
if (dlg.getResult() == false) {
checkExpert.setSelected(false);
return;
- }
- }
+ }
+ }
setExpertMode(checkExpert.isSelected());
}//GEN-LAST:event_checkExpertActionPerformed
@@ -1654,7 +1659,7 @@ public class MainPanel extends Panel {
}//GEN-LAST:event_btViewRTActionPerformed
private void buttonRecoveryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonRecoveryActionPerformed
- try {
+ try {
Panel panel = showRecoveryPanel();
onExpertCommand(SwingUtils.getWindow(panel));
} catch (Exception ex) {
@@ -1691,7 +1696,29 @@ public class MainPanel extends Panel {
private void buttonConfigActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonConfigActionPerformed
onExpertCommand(null);
- this.showSettingsEditor(true);
+
+ boolean current = false;
+ try {
+ current = "true".equalsIgnoreCase(getSetting("valve_control"));
+ } catch (Exception ex) {
+ }
+
+ showSettingsEditor(true);
+
+ //Check if must open valve
+ if (current) {
+ SwingUtilities.invokeLater(() -> {
+ try {
+ boolean valveControl = "true".equalsIgnoreCase(getSetting("valve_control"));
+ if (!valveControl) {
+ execute("open_valve()", true);
+ }
+ } catch (Exception ex) {
+ getLogger().log(Level.WARNING, null, ex);
+ }
+ });
+
+ }
}//GEN-LAST:event_buttonConfigActionPerformed
private void buttonReleaseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonReleaseActionPerformed