00001
00002
00003
00004
00005
00006
00007 package GuiComponents.SctApi;
00008
00013 public class TimDiagnostics extends javax.swing.JPanel {
00014 TimTableModel tableModel;
00015
00016 int partition;
00017 int crate;
00018
00019 Sct_SctApi.SctApi api;
00020
00022 public TimDiagnostics() {
00023 initComponents();
00024 }
00025
00027 public TimDiagnostics(int p, int c, Sct_SctApi.SctApi a) {
00028 partition = p;
00029 crate = c;
00030 api = a;
00031
00032 initComponents();
00033
00034 }
00035
00041 private void initComponents() {
00042 jPanel2 = new javax.swing.JPanel();
00043 jLabel3 = new javax.swing.JLabel();
00044 jTextField2 = new javax.swing.JTextField();
00045 jLabel4 = new javax.swing.JLabel();
00046 jTextField3 = new javax.swing.JTextField();
00047 jPanel1 = new javax.swing.JPanel();
00048 jScrollPane1 = new javax.swing.JScrollPane();
00049 jTable1 = new javax.swing.JTable();
00050
00051 setLayout(new java.awt.BorderLayout());
00052
00053 jPanel2.setLayout(new javax.swing.BoxLayout(jPanel2, javax.swing.BoxLayout.X_AXIS));
00054
00055 jLabel3.setText("Partition");
00056 jPanel2.add(jLabel3);
00057
00058 jTextField2.setEditable(false);
00059 jTextField2.setText(new Integer(getPartition()).toString());
00060 jPanel2.add(jTextField2);
00061
00062 jLabel4.setText("Crate");
00063 jPanel2.add(jLabel4);
00064
00065 jTextField3.setEditable(false);
00066 jTextField3.setText(new Integer(getCrate()).toString());
00067 jPanel2.add(jTextField3);
00068
00069 add(jPanel2, java.awt.BorderLayout.NORTH);
00070
00071 jTable1.setModel(getTimTableModel());
00072 jScrollPane1.setViewportView(jTable1);
00073
00074 jPanel1.add(jScrollPane1);
00075
00076 add(jPanel1, java.awt.BorderLayout.CENTER);
00077
00078 }
00079
00080 int getPartition() {
00081 return partition;
00082 }
00083
00084 int getCrate() {
00085 return crate;
00086 }
00087
00088 TimTableModel getTimTableModel() {
00089 if(tableModel == null)
00090 tableModel = new TimTableModel();
00091 return tableModel;
00092 }
00093
00094 static final String timRegNames[] = {
00095 "Enables", "Command", "Burst Count", "Frequency",
00096 "Window", "Delay", "Status", "FIFO",
00097 "Trigger IDlo", "Trigger IDhi", "Trigger Bunch", "Trigger Type",
00098 "Run Enables", "Sequencer", "Sequencer End", "ROD mask",
00099 "ROD BUSY", "ROD latch", "ROD Monitor", "TTC Data",
00100 "TTC Select", "TTC BCID", "TTCrx Access", "TTC status",
00101 "TIM Output", "TIM ID"
00102 };
00103
00104
00105 public class TimTableModel extends javax.swing.table.AbstractTableModel {
00106 String [] dataArray;
00107
00108 public TimTableModel() {
00109
00110 }
00111
00112 public void newData(String [] data) {
00113 dataArray = data;
00114 fireTableDataChanged();
00115 }
00116
00117 public int getColumnCount() {
00118 return 3;
00119 }
00120
00121 public int getRowCount() {
00122 return 32;
00123 }
00124
00125 public Object getValueAt(int rowIndex, int columnIndex) {
00126 switch(columnIndex) {
00127 case 0: return "" + (rowIndex * 2);
00128 case 1: return timRegNames[rowIndex];
00129 case 2: return "0x" + api.timReadRegister(partition, crate, (short)rowIndex);
00130 default: return "---";
00131 }
00132 }
00133
00134 public String getColumnName(int columnIndex) {
00135 String retValue;
00136
00137 switch(columnIndex) {
00138 case 0: retValue = "Address"; break;
00139 case 1: retValue = "Name"; break;
00140 case 2: retValue = "Value"; break;
00141 default: retValue = "Unkown"; break;
00142 }
00143
00144 return retValue;
00145 }
00146 }
00147
00148
00149 private javax.swing.JLabel jLabel3;
00150 private javax.swing.JLabel jLabel4;
00151 private javax.swing.JPanel jPanel1;
00152 private javax.swing.JPanel jPanel2;
00153 private javax.swing.JScrollPane jScrollPane1;
00154 private javax.swing.JTable jTable1;
00155 private javax.swing.JTextField jTextField2;
00156 private javax.swing.JTextField jTextField3;
00157
00158
00159 }