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.SctApi api;
00020 
00021     private String dataValue;
00022     
00024     public DdcDiagnostics(Sct_SctApi.SctApi 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 
00075         setLayout(new java.awt.BorderLayout());
00076 
00077         jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.Y_AXIS));
00078 
00079         jPanel2.setLayout(new javax.swing.BoxLayout(jPanel2, javax.swing.BoxLayout.X_AXIS));
00080 
00081         jLabel1.setText("Crate");
00082         jPanel2.add(jLabel1);
00083 
00084         crateValueText.setText("0");
00085         jPanel2.add(crateValueText);
00086 
00087         jPanel4.setLayout(new javax.swing.BoxLayout(jPanel4, javax.swing.BoxLayout.Y_AXIS));
00088 
00089         allChannelCheck.setText("All Channels");
00090         allChannelCheck.addChangeListener(new javax.swing.event.ChangeListener() {
00091             public void stateChanged(javax.swing.event.ChangeEvent evt) {
00092                 allChannelsStateChanged(evt);
00093             }
00094         });
00095 
00096         jPanel4.add(allChannelCheck);
00097 
00098         jPanel5.setLayout(new javax.swing.BoxLayout(jPanel5, javax.swing.BoxLayout.X_AXIS));
00099 
00100         jLabel2.setText("Channel");
00101         jPanel5.add(jLabel2);
00102 
00103         channelValueText.setText("0");
00104         jPanel5.add(channelValueText);
00105 
00106         jPanel4.add(jPanel5);
00107 
00108         jPanel2.add(jPanel4);
00109 
00110         jLabel3.setText("New State");
00111         jPanel2.add(jLabel3);
00112 
00113         stateCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ON", "OFF", "STANDBY" }));
00114         jPanel2.add(stateCombo);
00115 
00116         jPanel1.add(jPanel2);
00117 
00118         jPanel3.setLayout(new javax.swing.BoxLayout(jPanel3, javax.swing.BoxLayout.X_AXIS));
00119 
00120         jButton1.setText("Perform Hard Reset");
00121         jButton1.addActionListener(new java.awt.event.ActionListener() {
00122             public void actionPerformed(java.awt.event.ActionEvent evt) {
00123                 hardResetActionPerformed(evt);
00124             }
00125         });
00126 
00127         jPanel3.add(jButton1);
00128 
00129         jButton2.setText("Change state");
00130         jButton2.addActionListener(new java.awt.event.ActionListener() {
00131             public void actionPerformed(java.awt.event.ActionEvent evt) {
00132                 changeStateActionPerformed(evt);
00133             }
00134         });
00135 
00136         jPanel3.add(jButton2);
00137 
00138         jButton3.setText("Load configuration to ELMB FLASH");
00139         jButton3.addActionListener(new java.awt.event.ActionListener() {
00140             public void actionPerformed(java.awt.event.ActionEvent evt) {
00141                 loadConfigActionPerformed(evt);
00142             }
00143         });
00144 
00145         jPanel3.add(jButton3);
00146 
00147         jPanel1.add(jPanel3);
00148 
00149         jPanel6.setLayout(new javax.swing.BoxLayout(jPanel6, javax.swing.BoxLayout.X_AXIS));
00150 
00151         jLabel4.setText("Parameter");
00152         jPanel6.add(jLabel4);
00153 
00154         parameterCombo.setModel(new DefaultComboBoxModel(getParameterList()));
00155         jPanel6.add(parameterCombo);
00156 
00157         jLabel5.setText("Value");
00158         jPanel6.add(jLabel5);
00159 
00160         jPanel8.setLayout(new javax.swing.BoxLayout(jPanel8, javax.swing.BoxLayout.Y_AXIS));
00161 
00162         valueFloatText.setEditable(false);
00163         valueFloatText.setText(null);
00164         jPanel8.add(valueFloatText);
00165 
00166         valueText.setEditable(false);
00167         valueText.setText(null);
00168         jPanel8.add(valueText);
00169 
00170         jPanel6.add(jPanel8);
00171 
00172         jPanel1.add(jPanel6);
00173 
00174         jButton4.setText("Get channel parameter");
00175         jButton4.addActionListener(new java.awt.event.ActionListener() {
00176             public void actionPerformed(java.awt.event.ActionEvent evt) {
00177                 channelParameterGetPerformed(evt);
00178             }
00179         });
00180 
00181         jPanel7.add(jButton4);
00182 
00183         jButton5.setText("Get card parameter");
00184         jButton5.addActionListener(new java.awt.event.ActionListener() {
00185             public void actionPerformed(java.awt.event.ActionEvent evt) {
00186                 cardParameterGetPerformed(evt);
00187             }
00188         });
00189 
00190         jPanel7.add(jButton5);
00191 
00192         jButton6.setText("Get crate parameter");
00193         jButton6.addActionListener(new java.awt.event.ActionListener() {
00194             public void actionPerformed(java.awt.event.ActionEvent evt) {
00195                 crateParameterGetPerformed(evt);
00196             }
00197         });
00198 
00199         jPanel7.add(jButton6);
00200 
00201         jPanel1.add(jPanel7);
00202 
00203         add(jPanel1, java.awt.BorderLayout.CENTER);
00204 
00205     }//GEN-END:initComponents
00206 
00207     private void channelParameterGetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_channelParameterGetPerformed
00208         System.out.println("Get channel: " + getCrateValue() + " " + getChannelValue() + " " + getParameterName());
00209         if(api != null) {
00210             String value = api.ddcGetChannelParameterString(getCrateValue(), getChannelValue(), getParameterName());
00211             valueText.setText(value);
00212             float floatValue = api.ddcGetChannelParameterFloat(getCrateValue(), getChannelValue(), getParameterName());
00213             valueFloatText.setText("(" + floatValue + ")");
00214         }
00215     }//GEN-LAST:event_channelParameterGetPerformed
00216 
00217     private void cardParameterGetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cardParameterGetPerformed
00218         System.out.println("Get card: " + getCrateValue() + " " + getChannelValue() + " " + getParameterName());
00219         if(api != null) {
00220             String value = api.ddcGetCardParameterString(getCrateValue(), getChannelValue(), getParameterName());
00221             valueText.setText(value);
00222             float floatValue = api.ddcGetCardParameterFloat(getCrateValue(), getChannelValue(), getParameterName());
00223             valueFloatText.setText("(" + floatValue + ")");
00224         }
00225     }//GEN-LAST:event_cardParameterGetPerformed
00226 
00227     private void crateParameterGetPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_crateParameterGetPerformed
00228         System.out.println("Get crate: " + getCrateValue() + " " + getParameterName());
00229         if(api != null) {
00230             String value = api.ddcGetCrateParameterString(getCrateValue(), getParameterName());
00231             valueText.setText(value);
00232             float floatValue = api.ddcGetCrateParameterFloat(getCrateValue(), getParameterName());
00233             valueFloatText.setText("(" + floatValue + ")");
00234         }
00235     }//GEN-LAST:event_crateParameterGetPerformed
00236 
00237     private void hardResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hardResetActionPerformed
00238         if(allChannelCheck.isSelected()) {
00239             System.out.println("Hard reset all: " + getCrateValue());
00240             if(api != null) {
00241                 api.ddcHardResetAll(getCrateValue());
00242             }
00243         } else {
00244             System.out.println("Hard reset: " + getCrateValue() + " " + getChannelValue());
00245             if(api != null) {
00246                 api.ddcHardReset(getCrateValue(), getChannelValue());
00247             }
00248         }
00249     }//GEN-LAST:event_hardResetActionPerformed
00250 
00251     private void loadConfigActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loadConfigActionPerformed
00252         System.out.println("Load configuration: " + getCrateValue() + " " + getNewState());
00253         if(api != null) {
00254             api.ddcLoadConfiguration(getCrateValue(), getNewState());
00255         }
00256     }//GEN-LAST:event_loadConfigActionPerformed
00257 
00258     private void changeStateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_changeStateActionPerformed
00259         short state = getNewState();
00260 
00261         if(state >=0 ) {
00262             if(allChannelCheck.isSelected()) {
00263                 System.out.println("Change state all: " + getCrateValue() + " " + state);
00264                 if(api != null) {
00265                     api.ddcChangeStateAll(getCrateValue(), state);
00266                 }
00267             } else {
00268                 System.out.println("Change state: " + getCrateValue() + " " + getChannelValue() + " " + state);
00269                 if(api != null) {
00270                     api.ddcChangeState(getCrateValue(), getChannelValue(), state);
00271                 }
00272             }
00273         }
00274     }//GEN-LAST:event_changeStateActionPerformed
00275 
00276     private void allChannelsStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_allChannelsStateChanged
00277         channelValueText.setEnabled(!((javax.swing.JCheckBox)evt.getSource()).getModel().isSelected());
00278     }//GEN-LAST:event_allChannelsStateChanged
00279 
00280     String getDataValue() {
00281         return dataValue;
00282     }    
00283     
00284     int getCrateValue() {
00285         return Long.decode(crateValueText.getText()).intValue();
00286     }
00287 
00288     short getNewState() {
00289         short state = -1;
00290 
00291         if(stateCombo.getSelectedItem().equals("ON")) {
00292             state = 1;
00293         } else if(stateCombo.getSelectedItem().equals("OFF")) {
00294             state = 0;
00295         } else if(stateCombo.getSelectedItem().equals("STANDBY")) {
00296             state = 2;
00297         } else {
00298             // Some strange value
00299             System.out.println("Strange state " + stateCombo.getSelectedItem());
00300             state = -1;
00301         }
00302 
00303         return state;
00304     }
00305 
00306     int getChannelValue() {
00307         return Long.decode(channelValueText.getText()).intValue();
00308     }
00309 
00310     String getParameterName() {
00311         return (String)parameterCombo.getSelectedItem();
00312     }
00313     
00314     public String[] getParameterList() {
00315         SystemInterface sys = SystemInterface.getInstance();
00316         sctConf.Configuration conf = sys.getConfigurationService();
00317         try {
00318             String[] channel = conf.listDCSChannelParams();
00319             String[] card = conf.listDCSCardParams();
00320             String[] crate = conf.listDCSCrateParams();
00321             String[] result = new String[channel.length + card.length + crate.length];
00322             for(int i=0; i<channel.length; i++) {
00323                 result[i] = channel[i];
00324             }
00325             for(int i=0; i<card.length; i++) {
00326                 result[i + channel.length] = card[i];
00327             }
00328             for(int i=0; i<crate.length; i++) {
00329                 result[i + channel.length + card.length] = crate[i];
00330             }
00331             return result;
00332         } catch(sctConf.ConfigurationException e) {
00333             String [] defaults = {"LVch_Vcc"};
00334 
00335             return defaults;
00336         }
00337     }    
00338     
00339     // Variables declaration - do not modify//GEN-BEGIN:variables
00340     private javax.swing.JCheckBox allChannelCheck;
00341     private javax.swing.JTextField channelValueText;
00342     private javax.swing.JTextField crateValueText;
00343     private javax.swing.JButton jButton1;
00344     private javax.swing.JButton jButton2;
00345     private javax.swing.JButton jButton3;
00346     private javax.swing.JButton jButton4;
00347     private javax.swing.JButton jButton5;
00348     private javax.swing.JButton jButton6;
00349     private javax.swing.JLabel jLabel1;
00350     private javax.swing.JLabel jLabel2;
00351     private javax.swing.JLabel jLabel3;
00352     private javax.swing.JLabel jLabel4;
00353     private javax.swing.JLabel jLabel5;
00354     private javax.swing.JPanel jPanel1;
00355     private javax.swing.JPanel jPanel2;
00356     private javax.swing.JPanel jPanel3;
00357     private javax.swing.JPanel jPanel4;
00358     private javax.swing.JPanel jPanel5;
00359     private javax.swing.JPanel jPanel6;
00360     private javax.swing.JPanel jPanel7;
00361     private javax.swing.JPanel jPanel8;
00362     private javax.swing.JComboBox parameterCombo;
00363     private javax.swing.JComboBox stateCombo;
00364     private javax.swing.JTextField valueFloatText;
00365     private javax.swing.JTextField valueText;
00366     // End of variables declaration//GEN-END:variables
00367     
00368 }

Generated on Thu Jul 15 09:55:41 2004 for SCT DAQ/DCS Software - Java by doxygen 1.3.5