From 1aea9fbc6d78664c859ae50bb7902bcf23c38991 Mon Sep 17 00:00:00 2001 From: gac-S_Changer Date: Wed, 22 Aug 2018 11:17:28 +0200 Subject: [PATCH] --- src/main/java/ch/psi/mxsc/MainPanel.form | 28 +++++----- src/main/java/ch/psi/mxsc/MainPanel.java | 71 ++++++++++++++---------- 2 files changed, 57 insertions(+), 42 deletions(-) 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