00001
00002
00003
00004
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() {
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 }
00239
00240 private void channelParameterSetPerformed(java.awt.event.ActionEvent evt) {
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
00245 }
00246 }
00247
00248 private void crateParameterSetPerformed(java.awt.event.ActionEvent evt) {
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
00253 }
00254 }
00255
00256 private void cardParameterSetPerformed(java.awt.event.ActionEvent evt) {
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
00261 }
00262 }
00263
00264 private void channelParameterGetPerformed(java.awt.event.ActionEvent evt) {
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 }
00273
00274 private void cardParameterGetPerformed(java.awt.event.ActionEvent evt) {
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 }
00283
00284 private void crateParameterGetPerformed(java.awt.event.ActionEvent evt) {
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 }
00293
00294 private void hardResetActionPerformed(java.awt.event.ActionEvent evt) {
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 }
00307
00308 private void loadConfigActionPerformed(java.awt.event.ActionEvent evt) {
00309 System.out.println("Load configuration: " + getCrateValue() + " " + getNewState());
00310 if(api != null) {
00311 api.ddcLoadConfiguration(getCrateValue(), getNewState());
00312 }
00313 }
00314
00315 private void changeStateActionPerformed(java.awt.event.ActionEvent evt) {
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 }
00332
00333 private void allChannelsStateChanged(javax.swing.event.ChangeEvent evt) {
00334 channelValueText.setEnabled(!((javax.swing.JCheckBox)evt.getSource()).getModel().isSelected());
00335 }
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
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
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
00428
00429 }