var board = document.getElementById("form_board").value;
var oldvalues = {};
-var regnames = new Array("ipu2gbe1","ipu2gbe2","pckConstr1","pckConstr2","frameConstr1","frameConstr2",
- "tsmac","sgmii","pcSubSize","IncDatCnt","droppedSmall<br>droppedLarge","invHeaders","cts1","cts2","int1","savedEvt<br>loadedEvt","constrEvt<br>droppedEvt","InvSize");
+//var regnames = new Array("ipu2gbe1","ipu2gbe2","pckConstr1","pckConstr2","frameConstr1","frameConstr2",
+// "tsmac","sgmii","pcSubSize","IncDatCnt","droppedSmall<br>droppedLarge","invHeaders","cts1","cts2","int1","savedEvt<br>loadedEvt","constrEvt<br>droppedEvt","InvSize");
+var regnames = new Array("Bytes","sent","dropped","small","large","headers","status","","","empty");
var updateRegsTask;
+function SciNotation(v) {
+ if (v == 0) return "0";
+ if (v < 1000) return v;
+ if (v < 20000) return (v/1E3).toFixed(3)+"k" ;
+ if (v < 1E6) return (v/1E3).toFixed(2)+"k" ;
+ if (v < 20E6) return (v/1E6).toFixed(3)+"M" ;
+ if (v < 1E9) return (v/1E6).toFixed(2)+"M" ;
+ if (v < 20E9) return (v/1E9).toFixed(3)+"G" ;
+ if (v < 1E12) return (v/1E9).toFixed(2)+"G" ;
+ return v;
+ }
function setValues() {
updaterate = document.getElementById("form_rate").value;
board = document.getElementById("form_board").value;
- updateTask =
clearInterval(updateRegsTask);
- updateRegsTask = setInterval("getdata('get.pl?"+board+"-83e0-18',updateregs)",updaterate);
+ updateRegsTask = setInterval("getdata('get.pl?"+board+"-83f3-10',updateregs)",updaterate);
}
for(j=0;j<b.length-1;j++) {
c[j] = b[j].split(" ");
+ if(!oldvalues[j]) oldvalues[j] = c[j];
o += "<th>"+c[j][0];
}
-
+/*
for(i = 0; i < 18; i++) {
o += "<tr class=\""+(i%2?"odd":"even")+"\"><th>"+((i+0x83E0).toString(16))+"<td>"+regnames[i];
for(j=0;j<b.length-1;j++) {
o += val.toString(16);
}
else if(i==10){
- o += ((val&0xffff).toString(16))+"<br>"+(((val>>16)&0xffff).toString(16));
+ o += ((val&0xffff).toString(16))+"<br>"+(((val>>16)&0xff).toString(16));
}
else if(i>=12 && i<=16) {
o += ((val&0xffff).toString(16))+"<br>"+(((val>>16)&0xffff).toString(16));
}
}
}
+*/
+ for(i = 0; i < 10; i++) {
+ if(i==7 || i==8) {continue;}
+ o += "<tr class=\""+(i%2?"odd":"even")+"\"><th>"+((i+0x83F3).toString(16))+"<td>"+regnames[i];
+ for(j=0;j<b.length-1;j++) {
+ val = c[j][i+1];
+ o += "<td>";
+ if(i==0) {
+ o += SciNotation(val)+"<br>"+SciNotation((val-(oldvalues[j][i+1])))+"B";
+ }
+ else if(i==1) {
+ o += SciNotation(val)+"<br>"+SciNotation((val-(oldvalues[j][i+1])))+"pck";
+ }
+ else {
+ o += val;
+ }
+ }
+ }
+
+ oldvalues=c;
document.getElementById("contentregs").innerHTML = o;
}
-
-updateRegsTask = setInterval("getdata('get.pl?"+board+"-83e0-18',updateregs)",updaterate);
+updateRegsTask = setInterval("getdata('get.pl?"+board+"-83f3-10',updateregs)",updaterate);
<h2>Hit Counters & TDC Registers</h2>
<form acion="">
<table class="form"><tr class="head"><th colspan=2>Configuration
-<tr><td>Board<td><input onChange="setValues()" type="text" id="form_board" name="board" maxlength="4" value="ffff">
+<tr><td>Board<td><input onChange="setValues()" type="text" id="form_board" name="board" maxlength="4" value="fe50">
<tr><td># of Channels<td><input onChange="setValues()" type="text" id="form_channels" name="channels" maxlength="3" value="65">
-<tr><td>Update Interval (ms)<td><input onChange="setValues()" type="text" id="form_rate" name="rate" maxlength="5" value="1000">
+<tr><td>Update Interval (ms)<td><input onChange="setValues()" type="text" id="form_rate" name="rate" maxlength="5" value="2000"><input onChange="setValues()" type="text" id="form_rate2" name="rate2" maxlength="5" value="5000">
<tr><td>Split Table<td><input onChange="setValues()" type="checkbox" id="form_split" name="split" value="2">
<tr><td>Differences<td><input onChange="setValues()" type="checkbox" id="form_diff" name="diff" value="1">
<tr><td>Input Status<td><input onChange="setValues()" type="checkbox" id="form_status" name="status" value="1">
<script language="javascript">
var updaterate = document.getElementById("form_rate").value;
+var updaterate2= document.getElementById("form_rate2").value;
var board = document.getElementById("form_board").value;
var channels = document.getElementById("form_channels").value;
var split = document.getElementById("form_split").checked?"-2":"";
var showstatus = document.getElementById("form_status").checked;
var oldvalues = {};
-var reglist = "80-83-84-85-86-87-88-89-8a-8b-8c-8d-8f-90-c0-c2-c3";
+var reglist = "0-80-83-84-85-86-87-88-89-8a-8b-8c-8d-8f-90-c0-c2-c3";
var regs = reglist.split('-');
-var regnames = new Array("debug<br>channels<br>ref input","window bef.<br>window aft.",
+var regnames = new Array("Temperature","debug<br>channels<br>ref input","window bef.<br>window aft.",
"valid trg","valid tmg trg","valid notmg","invalid trg","multi trg",
"spurious trg","wrong rdo","spikes","idle time","wait time",
"releases","rdo time","basic ctrl","act chan 1","act chan 2");
function setValues() {
updaterate = document.getElementById("form_rate").value;
+ updaterate2= document.getElementById("form_rate2").value;
board = document.getElementById("form_board").value;
split = document.getElementById("form_split").checked?"-2":"";
differences= document.getElementById("form_diff").checked;
clearInterval(updateTask);
updateTask = setInterval("getdata('get.pl?"+board+"-c000-"+channels+split+"',update)",updaterate);
clearInterval(updateRegsTask);
- updateRegsTask = setInterval("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",updaterate);
+ updateRegsTask = setInterval("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",updaterate2);
}
o += "<th>"+c[j][0];
}
- for(i = 0; i < 17; i++) {
+ for(i = 0; i < 18; i++) {
o += "<tr class=\""+(i%2?"odd":"even")+"\"><th>"+regs[i]+"<td>"+regnames[i];
val = c[j][i+1];
o += "<td>";
if(i==0) {
- o += (val&0xFF).toString(16)+"<br>"+((val&0xff00)>>8)+"<br>"+(val>>16 & 1);
+ o += ((val>>20)/16).toFixed(1);
}
else if(i==1) {
+ o += (val&0xFF).toString(16)+"<br>"+((val&0xff00)>>8)+"<br>"+(val>>16 & 1);
+ }
+ else if(i==2) {
o += (val&0x7FF)+"<br>"+((val&0x7ff0000)>>16);
}
- else if(i==16 || i==15 || i==14) {
+ else if(i==17 || i==16 || i==15) {
o += (val*1).toString(16);
}
else {
}
+getdata("get.pl?"+board+"-c000-"+channels+split,update);
+getdata("getmultreg.pl?"+board+"-"+reglist,updateregs);
updateTask = setInterval("getdata('get.pl?"+board+"-c000-"+channels+split+"',update)",updaterate);
-updateRegsTask = setInterval("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",updaterate);
+updateRegsTask = setInterval("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",updaterate2);