Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

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

Generated on Thu Feb 3 17:42:18 2005 for SCT DAQ/DCS Software - Java by doxygen 1.3.5