DdcDiagnostics.java

00001 /*
00002  * DDCDiagnostics.java
00003  *
00004  * Created on 08 January 2004, 12:55
00005  */
00006 
00007 package GuiComponents.SctApi;
00008 
00009 import javax.swing.DefaultComboBoxModel;
00010 import GuiComponents.System.SystemInterface;
00011 
00017 public class DdcDiagnostics extends javax.swing.JPanel {
00018 
00019     //private Sct_SctApi.SctApiIPC api;
00020     private Sct_SctApi.SctApiDDCServer apiDDC;
00021 
00022     private String dataValue;
00023 
00025     public DdcDiagnostics(Sct_SctApi.SctApiDDCServer a) {
00026         apiDDC = a;
00027         initComponents();
00028     }
00029 
00031     public DdcDiagnostics() {
00032         apiDDC = SystemInterface.getInstance().getSctApiDDCServer();
00033         initComponents();
00034     }
00035 
00036     public static void main(String [] args) {
00037         javax.swing.JFrame f = new javax.swing.JFrame("DDC Diag test");
00038 
00039         f.getContentPane().add(new DdcDiagnostics());
00040         f.pack();
00041         f.setVisible(true);
00042     }
00043 
00049     private void initComponents() {//GEN-BEGIN:initComponents
00050         jPanel1 = new javax.swing.JPanel();
00051         jPanel2 = new javax.swing.JPanel();
00052         jLabel1 = new javax.swing.JLabel();
00053         crateValueText = new javax.swing.JTextField();
00054         jPanel4 = new javax.swing.JPanel();
00055         allChannelCheck = new javax.swing.JCheckBox();
00056         jPanel5 = new javax.swing.JPanel();
00057         jLabel2 = new javax.swing.JLabel();
00058         channelValueText = new javax.swing.JTextField();
00059         jLabel3 = new javax.swing.JLabel();
00060         stateCombo = new javax.swing.JComboBox();
00061         jPanel3 = new javax.swing.JPanel();
00062         jButton1 = new javax.swing.JButton();
00063         jButton2 = new javax.swing.JButton();
00064         jButton3 = new javax.swing.JButton();
00065         jPanel6 = new javax.swing.JPanel();
00066         jLabel4 = new javax.swing.JLabel();
00067         parameterCombo = new javax.swing.JComboBox();
00068         jLabel5 = new javax.swing.JLabel();
00069         jPanel8 = new javax.swing.JPanel();
00070         valueFloatText = new javax.swing.JTextField();
00071         valueText = new javax.swing.JTextField();
00072         jPanel7 = new javax.swing.JPanel();
00073         jButton4 = new javax.swing.JButton();
00074         jButton5 = new javax.swing.JButton();
00075         jButton6 = new javax.swing.JButton();
00076         jPanel9 = new javax.swing.JPanel();
00077         jButton7 = new javax.swing.JButton();
00078         jButton8 = new javax.swing.JButton();
00079         jButton9 = new javax.swing.JButton();
00080 
00081         setLayout(new java.awt.BorderLayout());
00082 
00083         jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.Y_AXIS));
00084 
00085         jPanel2.setLayout(new javax.swing.BoxLayout(jPanel2, javax.swing.BoxLayout.X_AXIS));
00086 
00087         jLabel1.setText("Crate");
00088         jPanel2.add(jLabel1);
00089 
00090         crateValueText.setText("0");
00091         jPanel2.add(crateValueText);
00092 
00093         jPanel4.setLayout(new javax.swing.BoxLayout(jPanel4, javax.swing.BoxLayout.Y_AXIS));
00094 
00095         allChannelCheck.setText("All Channels");
00096         allChannelCheck.addChangeListener(new javax.swing.event.ChangeListener() {
00097             public void stateChanged(javax.swing.event.ChangeEvent evt) {
00098                 allChannelsStateChanged(evt);
00099             }
00100         });
00101 
00102         jPanel4.add(allChannelCheck);
00103 
00104         jPanel5.setLayout(new javax.swing.BoxLayout(jPanel5, javax.swing.BoxLayout.X_AXIS));
00105 
00106         jLabel2.setText("Channel");
00107         jPanel5.add(jLabel2);
00108 
00109         channelValueText.setText("0");
00110         jPanel5.add(channelValueText);
00111 
00112         jPanel4.add(jPanel5);
00113 
00114         jPanel2.add(jPanel4);
00115 
00116         jLabel3.setText("New State");
00117         jPanel2.add(jLabel3);
00118 
00119         stateCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ON", "OFF", "STANDBY" }));
00120         jPanel2.add(stateCombo);
00121 
00122         jPanel1.add(jPanel2);
00123 
00124         jPanel3.setLayout(new javax.swing.BoxLayout(jPanel3, javax.swing.BoxLayout.X_AXIS));
00125 
00126         jButton1.setText("Perform Hard Reset");
00127         jButton1.addActionListener(new java.awt.event.ActionListener() {
00128             public void actionPerformed(java.awt.event.ActionEvent evt) {
00129                 hardResetActionPerformed(evt);
00130             }
00131         });
00132 
00133         jPanel3.add(jButton1);
00134 
00135         jButton2.setText("Change state");
00136         jButton2.addActionListener(new java.awt.event.ActionListener() {
00137             public void actionPerformed(java.awt.event.ActionEvent evt) {
00138                 changeStateActionPerformed(evt);
00139             }
00140         });
00141 
00142         jPanel3.add(jButton2);
00143 
00144         jButton3.setText("Load configuration to ELMB FLASH");
00145         jButton3.addActionListener(new java.awt.event.ActionListener() {
00146             public void actionPerformed(java.awt.event.ActionEvent evt) {
00147                 loadConfigActionPerformed(evt);
00148             }
00149         });
00150 
00151         jPanel3.add(jButton3);
00152 
00153         jPanel1.add(jPanel3);
00154 
00155         jPanel6.setLayout(new javax.swing.BoxLayout(jPanel6, javax.swing.BoxLayout.X_AXIS));
00156 
00157         jLabel4.setText("Parameter");
00158         jPanel6.add(jLabel4);
00159 
00160         parameterCombo.setModel(new DefaultComboBoxModel(getParameterList()));
00161         jPanel6.add(parameterCombo);
00162 
00163         jLabel5.setText("Value");
00164         jPanel6.add(jLabel5);
00165 
00166         jPanel8.setLayout(new javax.swing.BoxLayout(jPanel8, javax.swing.BoxLayout.Y_AXIS));
00167 
00168         valueFloatText.setEditable(false);
00169         valueFloatText.setText(null);
00170         jPanel8.add(valueFloatText);
00171 
00172         valueText.setEditable(false);
00173         valueText.setText(null);
00174         jPanel8.add(valueText);
00175 
00176         jPanel6.add(jPanel8);
00177 
00178         jPanel1.add(jPanel6);
00179 
00180         jButton4.setText("Get channel parameter");
00181         jButton4.addActionListener(new java.awt.event.ActionListener() {
00182             public void actionPerformed(java.awt.event.ActionEvent evt) {
00183                 channelParameterGetPerformed(evt);
00184             }
00185         });
00186 
00187         jPanel7.add(jButton4);
00188 
00189         jButton5.setText("Get card parameter");
00190         jButton5.addActionListener(new java.awt.event.ActionListener() {
00191             public void actionPerformed(java.awt.event.ActionEvent evt) {
00192                 cardParameterGetPerformed(evt);
00193             }
00194         });
00195 
00196         jPanel7.add(jButton5);
00197 
00198         jButton6.setText("Get crate parameter");
00199         jButton6.addActionListener(new java.awt.event.ActionListener() {
00200             public void actionPerformed(java.awt.event.ActionEvent evt) {
00201                 crateParameterGetPerformed(evt);
00202             }
00203         });
00204 
00205         jPanel7.add(jButton6);
00206 
00207         jPanel1.add(jPanel7);
00208 
00209         jButton7.setText("Set channel parameter");
00210         jButton7.addActionListener(new java.awt.event.ActionListener() {
00211             public void actionPerformed(java.awt.event.ActionEvent evt) {
00212                 channelParameterSetPerformed(evt);
00213             }
00214         });
00215 
00216         jPanel9.add(jButton7);
00217 
00218         jButton8.setText("Set card parameter");
00219         jButton8.addActionListener(new java.awt.event.ActionListener() {
00220             public void actionPerformed(java.awt.event.ActionEvent evt) {
00221                 cardParameterSetPerformed(evt);
00222             }
00223         });
00224 
00225         jPanel9.add(jButton8);
00226 
00227         jButton9.setText("Set crate parameter");
00228         jButton9.addActionListener(new java.awt.event.ActionListener() {
00229             public void actionPerformed(java.awt.event.ActionEvent evt) {
00230                 crateParameterSetPerformed(evt);
00231             }
00232         });
00233 
00234         jPanel9.add(jButton9);
00235 
00236         jPanel1.add(jPanel9);
00237 
00238         add(jPanel1, java.awt.BorderLayout.CENTER);
00239 
00240     }//GEN-END:initComponents
00241 
00242     private void channelParameterSetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_channelParameterSetPerformed
00243         System.out.println("Set channel parameter: " + getCrateValue() + " " + getChannelValue() + " " + getParameterName());
00244         if(apiDDC != null) {
00245             javax.swing.JOptionPane.showMessageDialog(null, "Channel set not implemented");
00246 //            apiDDC.ddcSetCardParameter(getCrateValue(), getChannelValue(), getParameterName());
00247         }
00248     }//GEN-LAST:event_channelParameterSetPerformed
00249 
00250     private void crateParameterSetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_crateParameterSetPerformed
00251         System.out.println("Set crate parameter: " + getCrateValue() + " " + getChannelValue() + " " + getParameterName());
00252         if(apiDDC != null) {
00253             javax.swing.JOptionPane.showMessageDialog(null, "Crate set not implemented");
00254 //            apiDDC.ddcSetCardParameter(getCrateValue(), getChannelValue(), getParameterName());
00255         }
00256     }//GEN-LAST:event_crateParameterSetPerformed
00257 
00258     private void cardParameterSetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cardParameterSetPerformed
00259         System.out.println("Set card parameter: " + getCrateValue() + " " + getChannelValue() + " " + getParameterName());
00260         if(apiDDC != null) {
00261             javax.swing.JOptionPane.showMessageDialog(null, "Channel set not implemented");
00262 //            apiDDC.ddcSetCardParameter(getCrateValue(), getChannelValue(), getParameterName());
00263         }
00264     }//GEN-LAST:event_cardParameterSetPerformed
00265 
00266     private void channelParameterGetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_channelParameterGetPerformed
00267         System.out.println("Get channel: " + getCrateValue() + " " + getChannelValue() + " " + getParameterName());
00268         if(apiDDC != null) {
00269             String value = apiDDC.ddcGetChannelParameterString(getCrateValue(), getChannelValue(), getParameterName());
00270             valueText.setText(value);
00271             float floatValue = apiDDC.ddcGetChannelParameterFloat(getCrateValue(), getChannelValue(), getParameterName());
00272             valueFloatText.setText("(" + floatValue + ")");
00273         }
00274     }//GEN-LAST:event_channelParameterGetPerformed
00275 
00276     private void cardParameterGetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cardParameterGetPerformed
00277         System.out.println("Get card: " + getCrateValue() + " " + getChannelValue() + " " + getParameterName());
00278         if(apiDDC != null) {
00279             String value = apiDDC.ddcGetCardParameterString(getCrateValue(), getChannelValue(), getParameterName());
00280             valueText.setText(value);
00281             float floatValue = apiDDC.ddcGetCardParameterFloat(getCrateValue(), getChannelValue(), getParameterName());
00282             valueFloatText.setText("(" + floatValue + ")");
00283         }
00284     }//GEN-LAST:event_cardParameterGetPerformed
00285 
00286     private void crateParameterGetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_crateParameterGetPerformed
00287         System.out.println("Get crate: " + getCrateValue() + " " + getParameterName());
00288         if(apiDDC != null) {
00289             String value = apiDDC.ddcGetCrateParameterString(getCrateValue(), getParameterName());
00290             valueText.setText(value);
00291             float floatValue = apiDDC.ddcGetCrateParameterFloat(getCrateValue(), getParameterName());
00292             valueFloatText.setText("(" + floatValue + ")");
00293         }
00294     }//GEN-LAST:event_crateParameterGetPerformed
00295 
00296     private void hardResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hardResetActionPerformed
00297         if(allChannelCheck.isSelected()) {
00298             System.out.println("Hard reset all: " + getCrateValue());
00299             if(apiDDC != null) {
00300                 apiDDC.ddcHardResetAll(getCrateValue());
00301             }
00302         } else {
00303             System.out.println("Hard reset: " + getCrateValue() + " " + getChannelValue());
00304             if(apiDDC != null) {
00305                 apiDDC.ddcHardReset(getCrateValue(), getChannelValue());
00306             }
00307         }
00308     }//GEN-LAST:event_hardResetActionPerformed
00309 
00310     private void loadConfigActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loadConfigActionPerformed
00311         System.out.println("Load configuration: " + getCrateValue() + " " + getNewState());
00312         if(apiDDC != null) {
00313             apiDDC.ddcLoadConfiguration(getCrateValue(), getNewState());
00314         }
00315     }//GEN-LAST:event_loadConfigActionPerformed
00316 
00317     private void changeStateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_changeStateActionPerformed
00318         short state = getNewState();
00319 
00320         if(state >=0 ) {
00321             if(allChannelCheck.isSelected()) {
00322                 System.out.println("Change state all: " + getCrateValue() + " " + state);
00323                 if(apiDDC != null) {
00324                     apiDDC.ddcChangeStateAll(getCrateValue(), state);
00325                 }
00326             } else {
00327                 System.out.println("Change state: " + getCrateValue() + " " + getChannelValue() + " " + state);
00328                 if(apiDDC != null) {
00329                     apiDDC.ddcChangeState(getCrateValue(), getChannelValue(), state);
00330                 }
00331             }
00332         }
00333     }//GEN-LAST:event_changeStateActionPerformed
00334 
00335     private void allChannelsStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_allChannelsStateChanged
00336         channelValueText.setEnabled(!((javax.swing.JCheckBox)evt.getSource()).getModel().isSelected());
00337     }//GEN-LAST:event_allChannelsStateChanged
00338 
00339     String getDataValue() {
00340         return dataValue;
00341     }
00342 
00343     int getCrateValue() {
00344         return Long.decode(crateValueText.getText()).intValue();
00345     }
00346 
00347     short getNewState() {
00348         short state = -1;
00349 
00350         if(stateCombo.getSelectedItem().equals("ON")) {
00351             state = 1;
00352         } else if(stateCombo.getSelectedItem().equals("OFF")) {
00353             state = 0;
00354         } else if(stateCombo.getSelectedItem().equals("STANDBY")) {
00355             state = 2;
00356         } else {
00357             // Some strange value
00358             System.out.println("Strange state " + stateCombo.getSelectedItem());
00359             state = -1;
00360         }
00361 
00362         return state;
00363     }
00364 
00365     int getChannelValue() {
00366         return Long.decode(channelValueText.getText()).intValue();
00367     }
00368 
00369     String getParameterName() {
00370         return (String)parameterCombo.getSelectedItem();
00371     }
00372 
00373     public String[] getParameterList() {
00374         SystemInterface sys = SystemInterface.getInstance();
00375         sctConf.Configuration conf = sys.getConfigurationService();
00376         try {
00377             String[] channel = conf.listDCSChannelParams();
00378             String[] card = conf.listDCSCardParams();
00379             String[] crate = conf.listDCSCrateParams();
00380             String[] result = new String[channel.length + card.length + crate.length];
00381             for(int i=0; i<channel.length; i++) {
00382                 result[i] = channel[i];
00383             }
00384             for(int i=0; i<card.length; i++) {
00385                 result[i + channel.length] = card[i];
00386             }
00387             for(int i=0; i<crate.length; i++) {
00388                 result[i + channel.length + card.length] = crate[i];
00389             }
00390             return result;
00391         } catch(sctConf.ConfigurationException e) {
00392             String [] defaults = {"LVch_Vcc"};
00393 
00394             return defaults;
00395         }
00396     }
00397 
00398     // Variables declaration - do not modify//GEN-BEGIN:variables
00399     private javax.swing.JCheckBox allChannelCheck;
00400     private javax.swing.JTextField channelValueText;
00401     private javax.swing.JTextField crateValueText;
00402     private javax.swing.JButton jButton1;
00403     private javax.swing.JButton jButton2;
00404     private javax.swing.JButton jButton3;
00405     private javax.swing.JButton jButton4;
00406     private javax.swing.JButton jButton5;
00407     private javax.swing.JButton jButton6;
00408     private javax.swing.JButton jButton7;
00409     private javax.swing.JButton jButton8;
00410     private javax.swing.JButton jButton9;
00411     private javax.swing.JLabel jLabel1;
00412     private javax.swing.JLabel jLabel2;
00413     private javax.swing.JLabel jLabel3;
00414     private javax.swing.JLabel jLabel4;
00415     private javax.swing.JLabel jLabel5;
00416     private javax.swing.JPanel jPanel1;
00417     private javax.swing.JPanel jPanel2;
00418     private javax.swing.JPanel jPanel3;
00419     private javax.swing.JPanel jPanel4;
00420     private javax.swing.JPanel jPanel5;
00421     private javax.swing.JPanel jPanel6;
00422     private javax.swing.JPanel jPanel7;
00423     private javax.swing.JPanel jPanel8;
00424     private javax.swing.JPanel jPanel9;
00425     private javax.swing.JComboBox parameterCombo;
00426     private javax.swing.JComboBox stateCombo;
00427     private javax.swing.JTextField valueFloatText;
00428     private javax.swing.JTextField valueText;
00429     // End of variables declaration//GEN-END:variables
00430 
00431 }

Generated on Mon Feb 6 14:12:10 2006 for SCT DAQ/DCS Software - Java by  doxygen 1.4.6