diff --git a/src/main/java/ch/psi/mxsc/MainPanel.form b/src/main/java/ch/psi/mxsc/MainPanel.form
index be60aae..a485cb4 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.form
+++ b/src/main/java/ch/psi/mxsc/MainPanel.form
@@ -31,7 +31,7 @@
-
+
@@ -93,7 +93,7 @@
-
+
@@ -486,7 +486,7 @@
-
+
@@ -605,7 +605,7 @@
-
+
@@ -615,7 +615,7 @@
-
+
@@ -687,7 +687,7 @@
-
+
@@ -733,7 +733,7 @@
-
+
@@ -811,7 +811,7 @@
-
+
@@ -844,7 +844,7 @@
-
+
@@ -929,9 +929,9 @@
-
+
-
+
@@ -1046,10 +1046,10 @@
-
+
-
+
@@ -1212,7 +1212,7 @@
-
+
diff --git a/src/main/java/ch/psi/mxsc/MainPanel.java b/src/main/java/ch/psi/mxsc/MainPanel.java
index a410848..038bdcb 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.java
+++ b/src/main/java/ch/psi/mxsc/MainPanel.java
@@ -22,6 +22,7 @@ import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.Image;
+import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.GroupLayout;
@@ -138,13 +139,25 @@ public class MainPanel extends Panel {
public void onValueChanged(Device device, Object value, Object former) {
updatePsysSafety(value);
}
- });
+ });
updatePsysSafety(((Device) getDevice("feedback_psys_safety")).take());
+ ((Device) getDevice("robot")).addListener(new DeviceAdapter() {
+ @Override
+ public void onValueChanged(Device device, Object value, Object former) {
+ updateMode(value);
+ }
+ public void onStateChanged(Device device, State state, State former) {
+ if (!state.isNormal()){
+ updateMode(null);
+ }
+ }
+ });
+ updateMode(((Device) getDevice("robot")).take());
} catch (Exception ex) {
this.getLogger().log(Level.SEVERE, null, ex);
}
Controller.getInstance().updatePuckTypes();
- startTimer(10000, 10);
+ startTimer(10000, 1000);
updateCameraView();
refreshSamplesTable();
@@ -166,23 +179,13 @@ public class MainPanel extends Panel {
try {
ledHeaterOk.setColor(roomTemperature ? Color.GREEN :( ((Double)panelHeaterTemp.getDevice().take())<20.0 ? Color.RED : Color.GREEN));
} catch (Exception ex) {
- ledHeaterOk.setColor(Color.BLACK);
- }
+ ledHeaterOk.setColor(Color.BLACK);
+ }
} catch (Exception ex) {
roomTemperature = null;
ledRoomTemperature.setColor(Color.BLACK);
labelRoomTemperature.setText("Room Temperature");
}
- try {
- manualMode = Controller.getInstance().isManualMode();
- ledManualMode.setColor( manualMode ? Color.YELLOW : Color.GREEN);
- labelManualMode.setText(manualMode ? "Manual Mode" : "Remote Mode");
- } catch (Exception ex) {
- manualMode = null;
- ledManualMode.setColor( Color.BLACK);
- labelManualMode.setText("Unknown Robot Mode");
- }
- updatePsysSafety(((Device) getDevice("feedback_psys_safety")).take());
}
@@ -246,6 +249,18 @@ public class MainPanel extends Panel {
ledPsysSafety.setColor(Color.RED);
}
}
+
+ void updateMode(Object value) {
+ if ((value!=null) && (value instanceof Map)){
+ manualMode = "manual".equals(String.valueOf(((Map)value).get("mode")));
+ ledManualMode.setColor( manualMode ? Color.YELLOW : Color.GREEN);
+ labelManualMode.setText(manualMode ? "Manual Mode" : "Remote Mode");
+ updatePsysSafety(((Device) getDevice("feedback_psys_safety")).take());
+ } else {
+ ledManualMode.setColor( Color.BLACK);
+ labelManualMode.setText("Unknown Mode");
+ }
+ }
void updateCameraView() {
Source source = buttonCamera.isSelected() ? (Source) this.getDevice("img") : null;
@@ -746,7 +761,7 @@ public class MainPanel extends Panel {
.addGroup(basePlatePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelDetection, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(panelLegend, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 251, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 276, Short.MAX_VALUE)
.addGroup(basePlatePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelHexiposi, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(panelViewType, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
@@ -805,7 +820,7 @@ public class MainPanel extends Panel {
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jSeparator1)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addContainerGap())
+ .addGap(0, 0, 0))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -872,7 +887,7 @@ public class MainPanel extends Panel {
panelBeamlineStatusLayout.setVerticalGroup(
panelBeamlineStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelBeamlineStatusLayout.createSequentialGroup()
- .addGap(4, 4, 4)
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelBeamlineStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(led5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
@@ -880,7 +895,7 @@ public class MainPanel extends Panel {
.addGroup(panelBeamlineStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(led6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9))
- .addContainerGap(25, Short.MAX_VALUE))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelSystemStatus.setBorder(javax.swing.BorderFactory.createTitledBorder("System Status"));
@@ -904,7 +919,7 @@ public class MainPanel extends Panel {
labelManualMode.setText("Manual Mode");
- jLabel29.setText("Heater Ok");
+ jLabel29.setText("Heater");
panelHeaterTemp.setBorder(javax.swing.BorderFactory.createEtchedBorder());
panelHeaterTemp.setDeviceName("rim_heater_temp");
@@ -945,7 +960,7 @@ public class MainPanel extends Panel {
panelSystemStatusLayout.setVerticalGroup(
panelSystemStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelSystemStatusLayout.createSequentialGroup()
- .addContainerGap()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelSystemStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(panelSystemStatusLayout.createSequentialGroup()
.addGroup(panelSystemStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
@@ -981,7 +996,7 @@ public class MainPanel extends Panel {
.addGroup(panelSystemStatusLayout.createSequentialGroup()
.addComponent(buttonRelease)
.addGap(0, 0, Short.MAX_VALUE))
- .addComponent(filler1, javax.swing.GroupLayout.DEFAULT_SIZE, 35, Short.MAX_VALUE))
+ .addComponent(filler1, javax.swing.GroupLayout.DEFAULT_SIZE, 38, Short.MAX_VALUE))
.addGap(4, 4, 4))
);
@@ -1011,7 +1026,7 @@ public class MainPanel extends Panel {
.addGroup(panelDatamatrixLayout.createSequentialGroup()
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(textType, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(textType, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(panelDatamatrixLayout.createSequentialGroup()
.addComponent(jLabel13)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
@@ -1208,10 +1223,10 @@ public class MainPanel extends Panel {
panelDevicesLayout.setVerticalGroup(
panelDevicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelDevicesLayout.createSequentialGroup()
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addContainerGap(14, Short.MAX_VALUE)
.addGroup(panelDevicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelExpert, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(devicesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 229, Short.MAX_VALUE))
+ .addComponent(devicesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 232, Short.MAX_VALUE))
.addContainerGap())
);
@@ -1231,9 +1246,9 @@ public class MainPanel extends Panel {
panelRightLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelRightLayout.createSequentialGroup()
.addGap(0, 0, 0)
- .addComponent(panelDetail, javax.swing.GroupLayout.DEFAULT_SIZE, 96, Short.MAX_VALUE)
+ .addComponent(panelDetail, javax.swing.GroupLayout.DEFAULT_SIZE, 93, Short.MAX_VALUE)
.addGap(0, 0, 0)
- .addComponent(panelDevices, javax.swing.GroupLayout.PREFERRED_SIZE, 274, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(panelDevices, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(panelDisplayMode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0))
@@ -1295,7 +1310,7 @@ public class MainPanel extends Panel {
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(0, 0, 0)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE)
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 65, Short.MAX_VALUE)
.addGap(0, 0, 0))
);
@@ -1402,7 +1417,7 @@ public class MainPanel extends Panel {
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(panelTop, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(0, 0, 0)
- .addComponent(panelBottom, javax.swing.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE)
+ .addComponent(panelBottom, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
.addGap(1, 1, 1))
);
}// //GEN-END:initComponents